Without adequate attention to infrastructure components, such as security, persistence and standard frameworks, the organization is doomed to duplicate efforts for each new application. Building infrastructure components is not only difficult, but expensive. Not understanding or defining the business. Above all else, OO requires strong participation by business domain experts. It is astounding how often organizations build software without full participation by the people who understand the business or the end users.
Objects mirror the business.
Well-designed objects are designed by the subject specialists. To ensure this, domain experts should be assigned to the project. The subject specialists should also be involved in the testing phases to ensure that the software meets the requirements. Finally, they should have familiarity with OO methodology. Inadequate analysis and design.