Sunday, October 6, 2013

AGILE


When working on a software development project, the methodology we choose plays a major role in the speed and quality of the project. But surprisingly many developers do not know which development methodology they are using. You do not have to take my word for it. In the State of Agile development survey conducted in 2011, 8% of the respondents answered “Don’t know” to the question, “What agile methodology you use?” So, let us see what the different agile methodologies are.
The basic philosophy of all agile methodologies is the same, iterative and incremental development. But from implementation standpoint, each has its own tactics and practices. Here are a few of the main agile methodologies.

Scrum:
Scrum is one of the most popular agile methodologies. The Scrum team consists of Product Owner, Scrum Master and Development Team. The Product Owner is the representative of stakeholders. He/she works closely with the team and communicates the user stories and prioritizes the system functionality. The development team is a self-organizing, cross-functional team which delivers potentially shippable increments of software at the end of each sprint.

Kanban:
Kanban methodology emphasizes on continual delivery without over-burdening the developers. The main principle of Kanban is to limit the amount of Work In Progress (WIP), which helps balance the flow-based approach so that the development team do not commit to too much work at once.

Crystal:
Crystal is one of the most lightweight agile methodologies. The key principles of Crystal are teamwork, communication, simplicity, as well as reflection to frequently adjust and improve the process. There are many flavors of Crystal such as Crystal Clear, Crystal Yellow, Crystal Orange etc.

There are many other agile methodologies such as Lean Software Development, Extreme Programming, Feature-Driven development etc. So, Which agile methodology are you using?

 References:

 


 

2 comments:

  1. Hi Usha, I like how you explain the differences between the most popular agile methodologies. I agree with you that many developers do not pay attention to which agile method they are using. Understanding the development methodology is as important as developing the software. I often use Scrum, but this would depend on the team's compromise. Also, you mention different versions of Crystal, it would be nicer if you could give a few words to distinct their features. Overall, your post is a helpful manual to software developers who are not familiar with agile.

    ReplyDelete
  2. This is a very well written post that accurately and concisely explains agile to the reader. After reading several posts on Agile this week I feel like most posters are unsure of what Agile. I like the description on the various types of Agile. My one critic is that you didn't insert your own opinion on which process you would prefer. Have you ever used any of the Agile processes?

    ReplyDelete