Issue No. 02 - March/April (2009 vol. 26)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2009.49
Diomidis Spinellis , Athens University of Economics and Business
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
D. Spinellis, "Start with the Most Difficult Part," in IEEE Software, vol. 26, no. , pp. 70-71, 2009.