Issue No.02 - March/April (2009 vol.26)
Diomidis Spinellis , Athens University of Economics and Business
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2009.49
The process of putting together wpl, a small system that extends arbitrary Web pages with links to Wikipedia entries, demonstrates the value of being able to choose between bottom-up versus top-down design and implementation. By starting our work with the most difficult task, we ensure that we'll face the fewest possible constraints and therefore have the maximum freedom to tackle it. This approach allows the early shrinking of the project's cone of uncertainty, while ensuring that we undertake it with a beginner's enthusiasm and motivation. We can also apply the principle when ordering elements of the software life cycle: requirements elicitation, high- and low-level design, coding, debugging, testing, and maintenance.
process, design, bottom-up, top-down, agility
Diomidis Spinellis, "Start with the Most Difficult Part", IEEE Software, vol.26, no. 2, pp. 70-71, March/April 2009, doi:10.1109/MS.2009.49