point
The Smart Techie was renamed Siliconindia India Edition starting Feb 2012 to continue the nearly two decade track record of excellence of our US edition.

May - 2010 - issue > Technology

Software for Software Development Life Cycle

Mahesh S. Prabhu
Monday, May 3, 2010
Mahesh S. Prabhu
With software going big and complex and customers becoming more demanding than ever before, there is a need to ensure speed, consistency, accuracy, security, quality, and reliability. How long will the software companies keep developing software for only manufacturing, finance, sales, HR, and other functions of organizations? Is it not high time we started looking at automating the software development assembly line? I know that we don’t use the term ‘assembly line’ to describe the software development process ? SDLC (Software Development Life Cycle) is a generally accepted term in the industry. Perhaps this is the reason why not much importance is given to automating the SDLC processes by the IT process owners or the Software Engineering Process Groups (popularly known as SEPG) in IT services companies. Perhaps we now have to start referring to SDLC as Software Assembly Line and treat it as such.

Over the years, many models of SDLC have been evolved, starting with the linear or waterfall model to more recent agile models. Agile development also has many flavors like SCRUM, Extreme Programming, TDD (Test Driven Development), and so on. Iterative, Spiral, Incremental, Prototype, Joint Application Development (JAD), and Fountain Model are some of the other commonly used SDLC models. Not to mention the other ‘technology specific’ models introduced by Technology vendors like RUP, MSF, and ASAP, which I will not get into. If we consider the Waterfall and Agile models as the extremes – the former being extremely rigid and the latter being extremely flexible – all other models fall somewhere in between.

While each model has its own strengths and weaknesses and benefits and pitfalls, a closer examination indicates a few essentials in the SDLC and its many variations. The essentials are Planning, Analysis, Design, Development, Testing, and Deployment. The variations depend on the weightage or importance given to the essentials, whether they are done in a sequence or in parallel or iterations, the processes ? the ways the essentials are carried out and the role of various participants and stakeholders.

So, what does it take to create a software assembly line from the existing SDLC? No, I am not suggesting another new model. Follow the model(s) you are most comfortable with and apply these 3 key mantras – reuse, automate, and integrate.

Reuse
What can we reuse in software development? Many of you will immediately think of ‘code libraries that we developed in earlier projects’. You are absolutely right; but not completely right. Reuse does not pertain only to coding. Remember, regardless of the SDLC model you choose, coding is only one of the essentials in the SDLC. Okay, so what else can we reuse? Everything; let me go ahead and list some of them:

Share on Twitter
Share on LinkedIn
Share on facebook
Reader's comments(2)
1:Well done Mr.Mahesh, A very good article.
Posted by: Nagarjuna Diilp - 06th May 2010
2:A very informative article. I hope each of Indian IT company should follow these points.
Posted by: nishant kumar singh - 06th May 2010
Disclaimer
Messages posted on this Web site under the `Comments' area are solely the opinions of those who have posted them and do not necessarily reflect the opinions of Infoconnect Web Technologies India Pvt Ltd or its site www.siliconindia.com. Gossip, mud slinging and malicious attacks on individuals and organizations are strictly prohibited. Infoconnect Web Technologies India Pvt Ltd can not be held responsible for errors or omissions in content, nor for the authenticity of the user/company name or email addresses associated with posted messages. Infoconnect Web Technologies India Pvt Ltd reserves the right to edit or remove messages containing inappropriate language or any other material that could be construed as libelous, potentially libelous, or otherwise offensive or inappropriate.Infoconnect Web Technologies India Pvt Ltd do not endorse the products and services or any other offerings mentioned in these messages.