Copyright 2014 Nikolas S. Boyd. Permission is granted to copy this document provided this copyright statement is retained in all copies.
Estimate |
Nik Boyd |
In the context of this Model, an Estimate
budgets the effort required to implement some Feature(s).
While many aspects of manufacturing have been used historically (or attempted) as metaphors for software development, software construction is not manufacturing. While manufacturing produces the same item (atoms) repeatedly, software development builds information models (bits) and systems for utilizing those models to solve business problems. So, software development will almost always produce something new or (at best) variations on a theme.
Developers are those who are tasked with the work of designing and building a working software solution. Those who (are tasked to) do the work, also (must) know how much effort will be required to complete the work. Those who do must estimate the what that's to be done.
However, as will often be the case with software development, some learning may be required before an estimate can be rendered. So, it will often be the case that a developer must first learn enough about how to solve a specific problem through experiment(s) and partial solutions, in order to be able to estimate the effort required to produce a complete solution. Fortunately, the required learning can often be time boxed, i.e., learning experiments can generally be conducted within a fixed amount of time.