Skip to content

3 basic SDLC Models

September 4, 2008

Lifecycle Model Basics

In reviewing the lifecycle models presented here and those you might find elsewhere, you’ll find some common properties worth noting.

One is that they are all intended to avoid or prevent many of the classic problems that have been cited in the literature, including cost overruns, lack of features, lack of customer acceptance, poor maintainability, poor reliability, and late delivery.

Each author of these models has taken a different and sometimes radical approach to lifecycle model creation. Most have reported their approach in conjunction with one or more project team successes using it.

There are three basic types of software lifecycle models:

  • Classic phased Lifecycles of this type follow the traditional approach of defining requirements, creating a design, implementing the design, testing and refining the results, and delivering the finished product. A complaint about this approach is that neither the customer nor the developing organization really “see” a working product until very late in the project. For many, this translates into higher risk because we do not know if the client will accept what is being built until a serious commitment of funds and flow time has already been made. Some authors and managers have varied this model to include user interface development early on to ensure better customer acceptance by gaining feedback early in the lifecycle. These approaches are also referred to as being analogous to the Big Bang theory in that little or nothing is available and working until very late in the project.

  • Evolutionary This style of lifecycle model and the management methods to support it are based on acceptance of the fact that the requirements will evolve during the development effort. This is because software is so pervasive in the enterprise that its impact cannot be fully comprehended early in the project. Instead, its impact becomes more obvious over time and results in new ideas being put forward and accepted. The evolutionary lifecycles require close scrutiny by the project manager because they can and have resulted in runaway development—that is, the system is developed at a rapid pace without observing the usual protocols related to testing, documentation, and correlation of the results with requirements and customer feedback. In this model, the idea is to get something up and running early, let the customer use it with limited functionality, obtain feedback from the customer about its acceptability, build in more functionality based on the feedback and other considerations (such as legal reporting requirements in the banking industry), and continue the process until the system is “complete.” This approach raises a serious issue: how do we stop this process? After all, the customer’s appetite for features is often insatiable. One response from proponents of this approach is to stop when the scheduled project flow time, money, and/or the development team are exhausted.

  • Amorphous Amorphous lifecycles are even less structured than evolutionary approach models are. Of all the lifecycle approaches, amorphous models rely most heavily on the efforts of individual software engineers rather than on a process being carried out by software engineers. Control of this type of lifecycle is limited and difficult, but possible. Because it involves simply letting the development team do their own thing for a period, one approach to maintaining some semblance of control is to give the team fixed due dates for funtionality and let them get there any way they see fit.

One Comment leave one →
  1. December 26, 2008 4:03 pm

    Nice post

    Please see this linka nd post your valuable comments

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

%d bloggers like this: