Why has object-oriented programming gone from being ``something to think about'' to being a de-facto standard in the way software is developed today? OOA/OOD/OOP is good for:
Analyzing user requirements
Designing software
Constructing software
Reusability (reusable components)
Reliability
Robustness
Extensibility
Maintainability
Reducing large problems to smaller, more manageable problems
According to the GartnerInstitute ...
74% of all IT projects fail, come in over budget, or run past the original deadline.