Friday, May 27, 2011

Role of visualization in SW development

Development department can be seen as a system with certain inputs and outputs. As input we could consider market needs, or product specification, depends on abstraction level to be considered. The output is then either profit or product with certain attributes.

Nowadays, nobody would question that this system is very complex, processes running inside it are stochastic and exact description is impossible to achieve.
Independently on the system complexity, control theory points to a feedback as to the central role in order to achieve good and fast results. The output of process step is sampled and summed with required value. It is then put back to the system so behavior can be adapted to reach required value – in our case faster.

In product and especially in software development process the output is often information – market needs, requirement specification, test specification, architecture, and SW modules.

Such output is not visible per default and if visible, then only to small number of people – actuators cannot access it in a non limited way. Same is valid for intermediate information created within the process. This fact causes that feedback signal is either not in place at all, is very low or noisy.

From this point of view any attempt to visualize information has dramatic positive impact on the system – development process.And not to forget: missing feedback loop - lost opportunities for learning.