About Agile software development methodologies

In order for IT companies to be able to adjust and respond to an ever-growing and fast-moving marketplace, they should maintain high productivity in every aspect of their business. This could not be achieved using traditional software development methodologies, such as Waterfall software development method, which is the reason why around 85% of the leading software companies are following agile software development methodology. Through agile methodology, companies are able to give continuous delivery of software products, while achieving customer satisfaction.

Agile software development refers to software development methodologies which are centred around the idea of iterative development. The ultimate goal of Agile development is to enable teams to deliver value faster, with greater quality and predictability, and greater ability to respond to change.

Most popular Agile based software development methodologies

1.Scrum

Scrum is one of the most popular and mostly used agile software development frameworks. This methodology uses an iterative and incremental approach. Roles involved in Scrum are:

  • Product Owner – who is in charge of getting an input for requirements from stakeholders
  • Scrum Master – facilitator for an Agile development team
  • Scrum Team – ideally formed out of 7±2 team members (in case of large products, multiple scrum teams are involved)

There are different meetings involved in Scrum methodology such as Sprint Planning, Sprint Demo, Sprint Retrospective and Daily Standup Meetings.

2.Kanban

Kanban is a software development methodology which is best suitable for product support, Ad-hoc requests and unplanned work. It is based on a pull system. This means that, in Kanban, the team will start working on the next task only when the previous one has been finished. Benefits of Kanban are numerous, and here is a few of them:

●  Flexibility in planning

●  Continuous Delivery

●  Reduced road block

●  Visual metrics

●  Shortened cycle time

3. Scrumban

In order to overcome challenges and disadvantages of Kanban and Scrum, Scrumban has been created as a mixture of advantages of these two previously mentioned methodologies. Principles which have been applied from Scrum:

      ● Iterations

      ● Standups

      ● Retrospectives

      ● Demos

Principles which have been applied from Kanban:

      ● WIP (Work in progress) limit

      ● Just in time planning

 

Estimation is not provided in Scrumban as smaller stories are taken to work upon. Teams in Scrumban can be specialised instead of having cross-functional teams. Roles in Scrumban are adjustable to change.

Considering the key principles which are unique for each of the previously mentioned software development methodologies, it is much more simple for software companies to decide which one of them is most suitable for their business.

Which one do you prefer, and why?