Surviving Object-oriented Projects Official

Avoid deep inheritance hierarchies (more than two levels is often "brittle") and prefer composition to keep the system maintainable. 4. Manage the Human Element

A small, elite team tackling a highly difficult, isolated problem. Surviving Object-Oriented Projects

Many teams transition to object technology expecting a "silver bullet" for productivity, only to find themselves trapped in refactoring loops or complex inheritance hierarchies that make the codebase brittle. To survive, you must treat the project not just as a technical challenge, but as a management and cultural shift. Avoid deep inheritance hierarchies (more than two levels

Organizations often spend thousands on CASE tools while neglecting the developers' mindset. Training developers in "object-think"—the ability to model problem domains effectively—is the single most significant cost but also the highest predictor of success. Many teams transition to object technology expecting a

Building a successful object-oriented (OO) project is less about mastering syntax and more about navigating the human and structural "holes" that swallow most software initiatives. Based on the principles in Alistair Cockburn's seminal work, Surviving Object-Oriented Projects , and modern industry insights,