Agile Software Development: The 4 main methodologies explained.

10 Feb

As promised, in this blog I will focus on the four methods of Agile Software Development.  They are as follows; XP (Extreme Programming), Scrum, Lean and Kanban.

XP (Extreme Programming) is successful because it stresses customer satisfaction. Instead of delivering everything you could possibly want on some date far in the future this process delivers the software to you need as you need it. XP encourages team work where all managers, customers and suppliers are all equal, working in a highly productive environment.  The following flow chart shows how Extreme Programming rules work together to achieve a result as effectively and efficiently as possible.


Of all the agile methodologies, Scrum is unique because it introduced the idea of “empirical process control.” That is, Scrum uses the real-world progress of a project — not a best guess or uninformed forecast — to plan and schedule releases. Like XP, scrum also has a team-based approach however instead of it all being a joint effort everyone has clear defined roles and responsibilities.  Scrum has three fundamental roles; 1. Product role, 2. ScrumMaster and 3. TeamMember.  

Lean software development is an iterative methodology.owes much of its principles and practices to the Lean Enterprise movement, and the practices of companies like Toyota. It focuses the team on delivering value to the customer, and on the efficiency and  the mechanisms that deliver value. The main principles of Lean include:

  1. Eliminating waste
  2. Amplifying learning
  3. Deciding as late as possible
  4. Delivering as fast as possible
  5. Empowering the team
  6. Building integrity
  7. Seeing the whole

Kanban is an agile methodology for managing the creation of products with an emphasis on continual delivery while not overburdening the development team. Like Scrum, Kanban is a process designed to help teams work together more effectively.  There are three basic principles of Kanban and they are as follows

  • Visualise what you do today: seeing all the items in context of each other can be very informative
  • Limit the amount of work in progress: this helps balance the flow-based approach so teams don’t start and commit to too much work at once
  • Enhance flow: when something is finished, the next highest thing from the backlog is pulled into play

Lean and Kanban are probably less common methods of Agile Software Development (ASD) than  XP and Scrum.  However, all methods are equally as important as each other and have their own advantages and disadvantages.





3 Responses to “Agile Software Development: The 4 main methodologies explained.”

  1. sad112759089 February 11, 2013 at 9:52 pm #

    Great Blog!

  2. sad111419882 March 6, 2013 at 3:54 pm #

    Great blog…I liked how to made descriptive comparasions between the Agille Software development. My personal favourite is one is the value focus Lean

  3. sad111424152 March 6, 2013 at 7:10 pm #

    Thanks guys! 🙂 But I’m afraid I’d have to disagree with you sad111419882 as XP is my own personal favourite! 😛

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

%d bloggers like this: