jump to navigation

Ruminations on Software Development Life Cycle (aka, SDLC) July 18, 2013

Posted by Edwin Ritter in Trends.
Tags: , , , , , , , , , , , ,
trackback

In my last post, I covered my recent efforts at software programming after a self-imposed hiatus. As a follow up, I wanted to talk about the development cycle. More specifically, the software development lifecycle. The most traditional development method is the Waterfall method. As it’s name implies, the lifecycle flows across phases with the result being a finished product that is tested to satisfy design requirements.

sdlc_lifecycleDeployment methods I have used include Waterfall and Agile among others and hybrids of these. As shown in the image, there is a feedback loop with testing that can introduce new/revised requirements. That starts the cycle over again, from the beginning. From my experience, there are two phases that seem to get short shrift. One or both of these typically get compressed due to project constraints and are sacrificed in order to stay on schedule. Those phases include Design and Test. What I have also found is that if you accelerate either of those, the project will reap a short term benefit. But, ultimately the project will not stay on track. Instead,  the project will re-visit one or both phases, which causes waste, and any gains in time expected are then not delivered.

As a programmer, I admit I have squeezed several phases. My advice – whatever process you employ, don’t cheat it. Having a solid design ensures requirements are addressed and adequate testing provides confidence for success at launch. Whatever method you use, adhere to the diligence in each phase and then keep progressing forward. Each phase should be  sized according to the project goal. Changes to existing code base can be minimal and have little design impact. Great! Testing should then focus on regression impact to ensure everything is working with new changes integrated cleanly.

Does your mileage match mine? Comments invited!

About these ads

Comments»

1. Rob Aught - July 18, 2013

Generally, the real cost from not doing proper design is likely a higher maintenance cost after the project goes live. Systems that were not well designed tend to end up being difficult to support and require more patching. The long-term costs are generally higher than the short-term cost of proper design.

It is possible that the business would prefer to pay the long term costs, but generally this is not considered. Instead the design and test phases are sacrificed without regard to long term cost and then the business is surprised.

2. Edwin Ritter - July 18, 2013

Rob,
Appreciate your feedback. Post go-live costs are out of scope! Seriously, that is a true with maintenance issues. The adage “Always time to fix it but never enough to make it right.” comes to mind and still works.

3. Friday Round-Up – Better late than never edition | Confessions of a Middle Manager - July 19, 2013

[…] I’m just linking these because they hit so close to home. Here’s a nice summary of Software Development Lifecycle and some common experiences. Even if you’re not in software read it and see how business […]

Edwin Ritter - July 19, 2013

Rob,
Glad you like the post and Thanks for the shout-out! I hope those outside of IT can glean insights and appreciate what goes on ‘in the black box’ of software.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 29 other followers

%d bloggers like this: