The Software Development Life Cycle

We all have some knowledge of the SDLC (aka “The cluster-fuck I call work”) but many of us work within the process (Design, Code, Test, Build, Test, Release, Repeat).  What we don’t see or understand is how the SDLC is perceived by and affects the business or outside world. 

Jezz Santos wrote a very thorough explanation (The Vicious Software Development Cycle) of his perception of the interaction between the software owner (the business) and the SDLC (the geeks).  Right or wrong, he has a significant number of valid points in his post that I’d like to touch on too.

Jezz starts off by touching on two things; Technology is Advancing Rapidly and Software Product Development is not Advancing.  He’s right, the technology (platforms, tools, environments, and other sundry geek stuff) is advancing at pace that is unimaginable.  Last year was astounding (see VS2k5, SQL2k5 and AJAX/Web 2.0 as prime examples) for new stuff to keep the geeks glowing and single.  All companies now are going to be bombarded with marketing fluffsters making claims like “VSTS will increase our teams productivity and ultimately lower the cost of development.”  This leads me to the fact that Software Product Development is not Advancing.  We have all these old and new methodologies (RUP, Waterfall, Extreme) but when you get right down to the nitty gritty, we still have problems in the fundamentals.  Some of the methodologies have tried to address this, but we still end up with missed/incorrect specs, piss-poor-programming-practices (today’s alliteration) and poor time line planning.  In the end we spend so much time trying to keep up with the avalanche of new technology and very little time addressing the fundamentals of software development.

In the end we find ourselves living in an industry where Customer Satisfaction is Declining.  In my mind we are in the realm of the airline industry.  We offer no value (“What the customer wants, and what the customer gets are two completely different things.”), we’re tardy and we hit you with hidden costs (airport improvement fee meet change request).

Now don’t think I’m all doom and gloom about the industry.  If I were I’d be comparing it to the Steamship’s of yester-year.  We’re at a prime point to pick ourselves up and get pointed in the right direction again.  I challenge you, and myself, to start with yourself. 

First write good, solid code. 
Next, give reasonable estimates for completion. 
Thirdly, ask questions of the client, get to know how they do things and keep those needs in mind when writing specs or doing system design. 
Finally, don’t get caught up in the hype of any tool.  Each tool has its use, but none are a silver bullet.

posted @ Tuesday, January 31, 2006 11:38 AM

Print

Comments on this entry:

# re: The Software Development Life Cycle

Left by J at 2/1/2006 11:36 AM
Gravatar
P^4!! I love it. Hope you don't mind if I use that occasionally? It's good shorthand. =)

# re: The Software Development Life Cycle

Left by William Glasby at 5/14/2008 2:28 PM
Gravatar
Perhaps the first step in getting "pointed in the right direction again" would be to get our FLAs (Four Letter Acronyms) correct...

SDLC stands for "Systems Development Life Cycle" (not "Software Development Life Cycle"). And just in case you don't want to take the word of a "QA guy", you can check the SDLC documents on the DoJ (US Dept. of Justice) or the House (US House of Representitives) sites or even good ol' Wikipedia for the correct reference.

Actually, that DoJ document has some great info in it.

Thanks,
William

# re: The Software Development Life Cycle

Left by Donald Belcham at 5/15/2008 6:55 AM
Gravatar
@William Thanks for pointing that out. To your point about getting the FLA, being so anally retentive about a term that is commonly used (check google dude...Software Development Life Cycle returns 266k and System Development Life Cycle returns 127k) in two ways is doing nothing to solve the fucking problem. All you're doing is starting a fight over the steering wheel. I personally don't want to have some in the car if they're fighting for the wheel, no matter who is driving (I make no claim to being 'the' driver in this movement). It never ends good. I saw, first hand, the arguments over what to call 'Alt.Net' and I'd rather not see that happen again.

So @William, I'll make a blunt and insensitive statement to you. If the definition is that important to you, then great, but don't be a fucking dick and start something that provides no tangible benefit to achieving the end goal.

To your reference to the US DoJ and House, big fucking deal. I hate to be the person to break it to you, but politicians and one countries government minions are *not* the people who anyone respects in regards to defining software development. If they do in your world great, I leave to you live in that world. I'll be out here in the real world.
Comments have been closed on this topic.