The “Big-Bang” Software development lifecycle model

Since i have had a lot of free time these last days i have spent the time reading about all kinds of subjects and one of the subjects was the “Big-Bang” lifecycle model.

First of all lets start with a short explanation of what a software development lifecycle model is. Simply put it is the process used to create a software product from its initial conception to its public releases. There are many different methods that can be used for developing software, and no model is necessarily the best for a particular project. But there are four frequently used models:

  • BigBang Model
  • Waterfall Model
  • Prototype Model
  • Spiral Model

In my experience the either the waterfall model or some variation of it is the one most commonly used in development firms. But this post is about the Big-Bang model.

What is the Big-Bang model?

The Big- Bang Model is just like the cosmological model that it is named after namely one in which we put huge amounts of matter (people or money) and these are put together, a lot of energy is expended – often violently – and the outcome is either the perfect software product or not.
The beauty of this model is that it is simple. There is little planning, scheduling, or formal development process. All the effort is spent developing the software and writing the code. This model is usually used in small projects, since the developer does the requirement analysis, writes code and develops software.
If i am going to be honest according to statistical data the Big-Bang model brings sometimes a beautiful software product. But (and this is the major drawback with the model) the ratio of failure is greater.
Also developers only need to understand requirements and develop the product, there is no formal testing phase in this model, if testing occurs at all it is just before release of the final product. The lack of a formal testing phase is maybe a cause for the massive failure ratio that this model has.

So how useful is it according to the lameguy?

This model is ideal for small projects with one or two developers working together and is also useful for academic or practice projects. It.s an ideal model for the product where requirements are not well understood and the final release date is not given. It is also a very high risk model and changes in the requirements or misunderstood requirements may even lead to complete reversal or scraping of the project. Which is why it is best suited for small or repetitive projects with minimum risk.

Pros

  • This is a very simple model
  • Little or no planning required
  • Easy to manage
  • Very few resources required
  • Gives flexibility to developers
  • Is a good learning aid for new comers or students

Cons

  • Very High risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Can turn out to be very expensive if requirements are misunderstood

After reading this post you hopefully have a basic understanding of the model, if you want a deeper understanding then you can read more about it at the following pages.

http://sqtc.wordpress.com/2012/01/04/software-development-life-cycle/
http://softwaremethodologies.blogspot.se/2009/04/advantages-disadvantages-of-various.html

And also the following book:
Software Engineering, FIFTH EDITION, Roger S. Pressman, Ph.D.

Tags: , , ,

About ado_dado

I'm 32, work as an Systemdeveloper. Work mostly with .NET (C#) i also spend a lot of time with my best friend my lovely little pitbull/amstaff mix "Chili" :) and the rest is spent on several projects that i am involved in during my spare time.

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

%d bloggers like this: