|Transaction script cost escalation|
- Hamstrung team - The original developers may have moved on, development beyond the first release may have been transferred to a less capable team or handover may have been ineffective.
- Poor codebase - Test quality and coverage may be lacking, encapsulation may be broken, or the build may be inordinately long.
For a typical business app, everything else remaining constant, good encapsulation will lead to constant or decreasing delta effort for delta functionality. The point of object orientation is that it is meant to help manage complexity of the business domain. This can only happen when we encapsulate along the grain2 of the domain.
2:Cutting with the grain: the rhythms of design - Kent Beck