I read a great article / post by Jon Kolko on Information Architecture (http://www.jonkolko.com/writingInfoArchAsSynthesis.php) over the weekend and it got me thinking in terms of the various levels of architecture or design that a software solution actually go through. After reading the article it became clear to me that we design software not just to provide developers with a guideline of what and how to develop. The design actually begin before the software and solution architectures get drawn up and continue beyond what we call the solution architecture. Below is how I see the design process:

1) Information architecture – gathering, sorting and mashing up of the needs and wants for a software solution;

2) Solution architecture – taking the needs and wants and fitting it to a set of technologies (black boxing);

3) Software architecture – expanding the black box into deeper levels to provide a guideline for the development or writing of the software solution;

4) Process architecture - (within the actual development phase) as the solution gets developed, the developer need to constantly redesign code to fit changing needs or technology changes or stumbling blocks.

Advertisement