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?
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.
ReplyDeleteThis 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