Thursday, May 23, 2019

Agile – A Newbie?



Agile is a MINDSET defined by values, guided by principles and manifested through many different practices. It is a process where teams can handle frequent requirement changes and help organizations through an unpredictable, indefinite, complex and uncertain environment. Few of the software industry leaders in 2001 met at Snowbird ski resort and formulated the term “Agile” and introduced Agile Manifesto to the world. Agile is an umbrella term used for a set of frameworks and practices based on the values and principles (as defined in the manifesto). It focuses on adaptive planning, early delivery, and continuous improvement. The emphasis is on the iterative and incremental delivery along with constant customer interaction.

Pros and Cons of Adopting Agile

With the above understanding, it is very obvious that there are advantages in adopting Agile. Let’s look at few:
  • The biggest being customer satisfaction, where the customer is involved in every step. The customer can provide their early feedback on the product, which the teams can pull for delivery as per the priority.
    • Time to market - With shorter cycles, the product reaches early to the customers for consumption.
    • Built-in Quality – With continuous integration, unit testing, peer reviews, automation, etc. the team can drastically improve upon the quality. Working as per the definition of done formulated amongst the team, it helps to stay focused and on track, plus, it also ensures quality.
    • Lowered Risks – Project working on Agile actually report fewer risks as compared to traditional approaches due to shorter sprint cycles, acceptance to change in requirement during the course, and adapting through customers need.
    • Though we have a long list for the advantages of Agile but as the saying goes, ‘There are two sides to every coin’, even Agile has its own shortcomings.
      • Narrow Documentation – In Agile, the focus is on comprehensive documentation, the details are added just-in-time, which sometimes falls back to the teams.
      • Difficult to predict – When the product is too large, the teams might not be able to predict the end line, the development team cannot predict the complete efforts required for completion.
      • It is really difficult to predict how the end product will look like because the teams work on the changes in the requirement or the feedback from the clients, this acts a deviation from the original outcome to an extent.

No comments:

Post a Comment

Which Python course is best for beginners?

Level Up Your Python Prowess: Newbie Ninjas: Don't fret, little grasshoppers! Courses like "Learn Python 3" on Codecade...