Monday, February 3, 2014

Agile software development: When & Why

The use of agile software development methodologies has been increasing in the last years, this is a fact. We can easily check it by taking a look to some projects carried on by software development companies.

Recently, I took part into a software project in Spain which was made following a Scrum methodology. It seemed that the features of this project did not fit properly with an "ideal" Scrum scenario, however, I was not the project manager, so I could not decide what was the most appropriate model.

I have had the opportunity to speak with several project managers, and I noticed that some of them talked about they "prefer" agile methodologies rather than the classical iterative models. In my opinion, it is not correct to speak about what methodology we prefer. Each project has its own characteristics, a specific scope, different kinds of final  users, etc. For this reason, we need to find out what is the most appropriate model, and try to avoid getting carried away by our fashion trends. I believe that talk about which methodology is in general "better or worse than other" is something that does not make sense.

Taking advantage of this topic, I am going to enumerate the features for scenarios that, from my point of view, could fit with a Scrum approach, which is actually one of the most popular agile methodologies:

When to use Scrum?

  • When we are going to face complex projects developed in dynamic or continuously changing environments.
  • When the customer needs quick outcomes.
  • When flexibility becomes a requirement.
  • When product requirements change frequently.
  • When we have to identify and fix deficiencies systematically.
  • When the success or failure of the project is defined essentially by the responsiveness to customer requests.
  • When the customer is involved in the project.
  • When the project team is self-sufficient.

No comments:

Post a Comment