Scrum as you might have seen in the previous few articles is a revolutionary concept in software development and is gaining a lot of popularity. However, scrum is not the one-stop solution to all your software development needs. There are times when scrum could be better and there could be times when traditional SDLC could be better.

Now that we know the basics of scrum, we should first understand when to use scrum before we move further – in greater detail…

Look at the picture below – Most of the key factors to be considered before deciding which method to use are compared here:

To summarize:

It is better to use Scrum if there are a lot of unknowns, where projects are more complex and it is difficult to define a detailed requirements document upfront. Without proper/detailed requirements it might be impossible to estimate the size of the work to be done and hence it could result in a lot of delays during the course of development of the project.

It is better to use traditional approach when there are very few unknowns, where projects are less complex and it is easy to define the exact requirements upfront. With detailed requirements it is very easy to estimate and plan the project from the very beginning as well as track the project progress.

By seeing the first column of this table you might be tempted to use Scrum for software development because Requirement Changes are so frequent in real life projects. Yes, scrum would greatly help in such a situation but care should be taken not to start implementing scrum projects until the entire organization (or at least the team that is going to implement scrum and its management) is trained in Scrum.

A couple of articles back; I had explained the Different ScrumRoles. Unless the company’s senior management is clear in their understanding of scrum and all relevant stakeholders understand their roles, scrum cannot be successful. So, proper training is very important before starting out scrum implementation…