The Effect of Object Oriented Frameworks on Developer Productivity
This article by Moser and Nierstrasz points out that those who use Object Technology (such as OO Frameworks, or other collections of reusable components) commonly report increased productivity. However individuals do not magically become more productive by using these. Rather they are just as productive as before, but at higher levels of abstraction. Frameworks do not make developers more productive, they just reduce the amount of work needing to be done!
They also spend some time discussing how Function Points are not a good measure for OO development, as they were never designed to fit a meta-model other than CRUD database structures, and OO models are completely different to this. They also point out that Function Points do not capture the effects of reuse; that is, the availability of frameworks or libraries that address parts of the requirements. Instead of measuring total functionality delivered, we should be measuring incremental functionality beyond that which is provided by framework components.
They therefore claim that a good software size estimation method:
- avoids historical “magic numbers”
- takes into account the availability of reusable components and frameworks
- captures arbitrary kinds of functional requirements
- expresses possible links between functional and structural requirements
- can be applied early in the development process
They then set forward “The System Meter” as an alternative to Function Points, which they claim is less predictive, but can be applied earlier in the process.