Any car can drive, so why do rappers, superstar athletes, and million- and billionaires, pay tons of money extra to buy a Bentley Continental GT coupe that gets them as fast and safe to where they want to be for far less money? As impressive as the GT’s long list of technology is, much of it is available on far less costly automobiles, like the Porsche Panamera, with which it shares the base architecture. What separates a Bentley from the rest is presentation. A Continental GT wouldn’t be worth the winged-B badge on the hood if its design, interior materials, and craftsmanship didn’t leave you gobsmacked.
In software this presentation is referred to as Non-Functional Requirements. Like in expensive cars, the Non-Functional Requirements determine a significant amount of the cost and effort that are needed to realize or maintain a software engineering solution. Yet the effect of Non-Functional Requirements on cost and effort estimates is largely underexposed in the Software Engineering and Software Measurements communities.
A few estimating solutions, like SNAP and COCOMO, have been proposed but yield unsatisfactory predictive power or lack a theoretical foundation of their mechanisms. Earlier research from Nesma on packaged software estimation has already delivered some insight in the basic mechanisms that drive the estimation of cost and effort from both Functional and Non-Functional Requirements. It has shown that these mechanismes are more complex than the currently proposed methods.
A general estimating mechanism
In a paper presented at the IWSM 2017 conference a general mechanism has shown that only Architecture Driven Estimation mechanisms can lead to good cost predictions. Based on that mechanism we can explain why current estimating solutions are unsuccessful. You can find the presentation on the Nesma slideshare.
The original committee that developed the general mechanism is now extending the group to develop this into a hands-on method that can be used by professionals. In particular we are looking for:
- Solution architects to help us standardize the elements of the Architecture Breakdown Structure we need
- Procurement specialists to help us define standardized components to express Requests for Proposal in a standardized way
- Financial/measurement specialists to help us define standardized ways to estimate the cost of the standardized components
We already have a number of volunteers that have offered to help us from Brazil, France, Jordan and the Netherlands but we can still use more help. When you want to join this effert, please send an e-mail to firstname.lastname@example.org.