Monday, January 19, 2009

Software Production

Recently I was at conference by leading software service provider from USA. Service provider making claims that they have developed a methodology which converts development of software is like any product in a factory. Before critical assessment of this claim let us see how production is carried out is a real factory.

In today’s world there are two dominant production methodologies:

1. Stationary Platform methodology
2. Assembly Line methodology

Stationary platform methodology is used only in highly complex and huge products like airplanes, space shuttle, etc.



Assembly line methodology is widely used and approximate covers all type of products – automobiles, household appliances, etc.



Stationary platform methodology also takes advantage of Assembly Line methodology via manufacturing of components in assembly line and then assembling on a stationary platform.

There is also third methodology which is followed by craftsmen, fabricators, highly customized goods, etc. I called it Craftsmen Approach.

Now come to software development. What approach does today’s software industry follows? My reasoning says Craftsmen Approach. In software industry we have lot of automation and sophisticated tools but still they just assist in fasten the process and managing the complexity of product (which is software). These tools do not bring any paradigm change in software development methodology. These tools are like replacing manual chisel and hammer by electrical driven tool set.

If you see both pictorial representations of Stationary and Assembly line methodologies, process is preexisting. It just gets applied during manufacturing. But software development results in formalization of process itself which has to be very flexible so that it can be changed in future if need arises. Also every production cycle of software results in unique product. This very similar to unique end product created by craft man.

Thirdly Assembly Line Methodology is good for mass production. Do we do mass production in Software development?

So do we still in pre industrialization phase viz a viz software development or software development will always be crafts man domain till machine intelligence is capable enough for creativity and innovation?

No comments:

Post a Comment