Sunday 17 June 2007

Software Development - A Background

During 1940's people started writing code for the early day computers and since then software programming has grown leaps and bounds. 1960's saw the evolution of compilers, collaborative tools based on Unix in 1970s and so on...

1980s was the period of step change when Bill & Steve introduced products such as 'Office' & 'Lisa' for home users or the personal computers that infused the drive towards software boom. The computer hardware and software developments were actually concentrated within the industry perimeter, 1980s slowly changed the model of operation. People have different views about the quality of MSFT products, but my personal view: MSFT and their PC based products was the key reason for the current day software prosperity. The moment industry based costly products became home-usable cheap commodities, the dependent by-products such as processors, software, memory etc started flourishing.

Billions around the world have started using softwares and the services that were offered to people via manual channels, slowly turned towards e-channel for delivery. Hence software business started booming!

We all know that this is a multi-billion industry and delivery of products needs to be well-timed, qualitative and cost-effective. Any buyer will buy a product with good quality and affordable price; from a competition point of view, it needs to be introduced at the right time.

'The secret of success is constancy to purpose.' - Benjamin Disraeli; Very true! In the case of software industry, the early software dev teams were forced to produce softwares to meet growing demands and many a times success was tough to hold. The products were either of low quality (e.g. MSFT) or high-priced (e.g. Apple) or not introduced at the right time.

I have to mention my wonderful days of my Masters degree, when we used to joke about the Pressman's Software Engineering book to substitute with pillows; these jokes ran rounds even after students joined software companies. That's partly an issue. Software beginners are not educated to understand some key challenges around their profession, seldom they realise how they constitute to a software building exercise.

Nut-Shell: Software development started out in a mad rush with less time for developers to think about nitty-gritties, quality, importance of modelling or the need to follow standards etc. To add, the IT-Services company were and are in a mad rush to use the opportunity to earn and spend less time to worry about some of the basic flaws.

Bottom-line - People began building the Software Industry upon a weakly laid foundation and it continues so... Developers, tech leads, architects (not all, certainly there are a good lot), indulged on geeky talks without knowing the whats and whys... I think this trend belongs more to the software industry compared to automotive or pharma or construction verticals. That's coz' people see softwares directly related to knowledge quotient of an individual and hence by the play of ego commit to glib.

(This isn't to offend anyone or finger point someone, but that's whats happening mostly; this series of articles intends to display some of those rudimentary issues.)
Next Article: The infamous Time, Cost, Quality triangle...

No comments: