Pages

Wednesday 11 May 2011

Importance of process in software development

Every repeated activity that we are doing in the day-to-day life, we are following a process knowingly or unknowingly.

There are certain jobs in which we follow a strict and rigid set of activities, formally qualifies to be called as a process. Adherence to a particular process ensures the repeatability of the same activity, in the same manner, without taking so much into consideration of the person element. In other words, whenever we would like to have a routine work to be done and we would like to minimize the impact of the individual who carries out that activity, we should have implemented as well as established implemented process.

When we look into software development, even today, it is practices as more or less an intellectual activity. Though there are lots of process standards and assessment techniques available in the market, the industry is still reluctant to fully adhere to the formal way of carrying out it as an engineering activity. Though software has become the pivotal point for any major activity, the adoption of software engineering principles at the development phase of any software is very minimal or even nil.

The day has come to realize that software development is nothing but yet another manufacturing activity. In all the manufacturing activity we use to have to major classifications called, engineering phase and production phase. Unfortunately in the current context of software development, we are conveniently forgetting the engineering activity part.

We make straight dive into the production activities, most of the time. This culminates, majority of the time, into major disasters and reworks, which is unplanned for. The model of the system or product to be developed, is carried out by few individual brains in an asynchronous manner. There will not be any workable model in the first phase as live or simulated, which can be used for further work and as a base for continuous improvement, quite often.