agile top banner

Decision About Which Agile Method To Use - A Perspective

Read it in 3 Mins

Last updated on
31st May, 2022
Published
12th Sep, 2018
Views
505
Decision About Which Agile Method To Use - A Perspective

Introduction:

Agile methods have gained widespread acceptance in software development organizations for formulation and development of solutions for enhancing existing products or creating new ones. The method has been very effective in the continuous delivery of new and effective solutions.

Organizations trying to introduce Agile methodologies, in the beginning, are faced with a choice of which type of Agile methodology is best suited for their environment and types of project work. You may learn more about the challenges encountered by the first-time Agile organizations here.

The Agile Manifesto favors the delivery of working software in comparison to comprehensive documentation. There is a constant emphasis on a relation between organization and developers rooted in-

  • Trust,
  • Integrity, and
  • Transparency.

It may not be a huge shift, but is still a powerful challenge for many companies. The team should be trained well, should be aware of Agile concepts and should have the required tools needed to perform. A team of experienced and skilled developers is more efficient to take decisions when compared to a less experienced team and understands customer commitment much better. Agile delivery values direct interaction and business user collaboration instead of uneven communication in the life cycle  at fixed points. Effective involvement of the  business reduces the delivered features risk that do not meet customer requirements.

How to decide the best Agile methodology that is suitable for an organization?

Agile methodology that is suitable for an organization
Despite the fact that every Agile methodology offers incremental and iterative delivery of software, the differences lie in the way artifacts produced and each methodology is executed.

Let us discuss in detail the most popular Agile Methodologies:

Scrum: Scrum is focused on self-organizing teams. Its core principles are aligned with client-driven adaptive planning. Scrum method’s main priority is the delivery of working software in no more than 30 days. Delivered software needs to be in releasable shape.

Minimum documentation is supported. Scrum is most used in the Agile framework. Its widespread usage and benefits have made it the most popular Agile method.
Agile Scrum Framework

Extreme Programming(XP): It keeps things simple and concentrates on the continuous implementation of best practices such as-

  • Ongoing testing
  • Refactoring
  • Code reviews (pair programming)
  • Continuous integration.

In this method, there is a focus on the developer’s capability and getting into the development of the working prototype as fast as possible.

Feature Driven Development (FDD): Breaks down the delivery of a larger product into small features. Typically, FDD is characterised by-

  • Short iteration cycles
  • Simple processes
  • Suitability for predictable evolution

The method needs experienced resources to define the required features in great details to make them implementable.

Kanban: It is based on Toyota’s just-in-time (JIT) production system. The salient features are as follows-

  • Focuses on eliminating bottlenecks
  • Incredibly simple and powerful Kanban boards
  • Kanban uses Flow and visual methods to bring elements of agile in the overall development process.
  • Makes elaborate use of visual tools.
  • Typical usage involves a space in the office area with printed boards showing status of the activities as shown in the diagram below.

Feature Driven Development
Lean Development: Lean Development concentrates on offering value for money. It recommends amplifying learning, avoiding unnecessary errors, delivering as early as possible and deciding as late as possible. The first and foremost principle of lean project management is diminishing waste in an established process. It is more frequently applied to production and manufacturing than in product development. Lean mainly focuses on key process improvement points, such as standardizing means of production and reducing bottlenecks. Although Lean has a different application than the Agile methodology, there are certain common elements such as-

  • Valuing a strong facilitator and
  • Pipelining

DSDM: It is developed from a business perspective and lays a strong emphasis on project management. The plans produce based on increments.

Sometimes, a combination of multiple methods is the best solution. For example, a combination of Scrum and Kanban is a preferred combination for projects that need the iterative approach of Scrum and the visual elements of Kanban. Similarly, pair programming aspects of Extreme programming (XP) are borrowed for Scrum development teams. It is also advisable that, Agile is not a suitable methodology for some projects. This also should be kept in mind while evaluating an appropriate Agile methodology.

In Summary:

Agile method to be used for an organization depends on the objectives and desired outcomes. The methods can be implemented either in an existing program or for a new one. Current state and resources available will be of prime importance in deciding the approach and the timeline of implementation. It has been proven time and again that Agile methodologies help an organization to improve the speed of product delivery and quality. They also help establish clear communication channels within the organization and with critical customers and have an approach and method to incorporate customer feedback quickly in the product roadmap.

Profile

Raju Dhole

Blog Author

Raju has 23+ years of IT Experience. He has a strong and diverse background in program, IT delivery, and financial management. He is an expert in project delivery using Agile methodologies and DevOps framework. He is a Recognized leader in innovation and transforming global teams. A strong communicator, he has proven ability to interact with multicultural and multi-location teams.  Raju has worked in multiple roles in Delivery Management, Client Relationship Management, Transition Management, Pre Sales, Business Strategy and Leadership Mentoring.