Software Advent Calendar 2023 / 23 / Awesome Agile
“There should be no shame in admitting to a mistake; after all, we really are only admitting that we are now wiser than we once were.” – Greg McKeown
As a professional, I have led agile teams and I have also been part of agile teams as an individual contributor for more or less 15 years. From my personal experience, when I talk about the application of Agile Methodologies in the software industry, the following observations come to mind:
There is no universally accepted Agile Framework.
Most companies or teams are usually cherry-picking the agile methodologies they use.
Some of the companies “enrich” their traditional software management processes (i.e. waterfall) with some agile practices.
The hardest part of agile methodologies is to measure them and translate metrics to ROI.
First things first. Let’s try to define Agile Methodologies:
In software development, agile practices (sometimes written "Agile") include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/end user(s), Popularized in the 2001 Manifesto for Agile Software Development, these values and principles were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban.
Most definitions you will find online - like the one above by Wikipedia - are highlighting the facts that agile methodologies are implemented by self-organizing and cross-functional teams. They are iterative and usually focus on requirements discovery and continuous end-user / customer feedback.
Either you Agile do yes, or Agile do no…
In the following short clip 👇 coming straight from the 80s, Mr. Miyagi, a Karate Master, explains to his student and protégé that he either practices karate or he is not. “Roughly practicing karate” is a dangerous sport, and soon he risks find himself “squished like a lemon”.
What does karate have to do with Agile Methodologies, you may ask? Recently, I came across the following excerpt:
Even though software development projects that incorporate agile methodologies have extended the margins that cannot be overlooked in the context of product relevance or timely delivery, few are following this innovative methodology of software development because of not having a clear understanding of core agile methodologies.
(Chugh et. al. 2023; see Reference 2 in the end of this post)
In it, the authors highlight that software development projects try to utilize agile methodologies but few of them can rip the fruits of agile, mainly because they are not understanding the core concepts behind agile.
In another work (see Reference 3 in the end of this post) the authors provide facilitators and inhibitors of agile adoption from a practitioner’s point of view. Here’s a summary of the findings:
The following success factors are found to be significant facilitators for the adoption of Agile methods:
customers’ dominant issues
assigning essential features first
frequent delivery of software
highly competent team
use of tools
correct integration testing
smaller size team agenda
strong customer participation
Similarly, correlation analysis reveals the following inhibitors as important:
absence of a full set of right Agile practices
absence of customer presence
absence of tracking mechanisms during Agile progress
failure to determine the role of the client.
From the findings above, we see again that it is important for a team, company, or project to choose the right agile methodologies and then, find a way to measure their implementation and impact to ROI.
Time for our resource suggestion for today! Awesome Agile is a collection of agile references that can help individual contributors, managers and agilists in general to dive into the agile methodologies world. The list is curated by Ms. Laura Vardarova.
In this list, you will find material related to agile methodologies’ theory (i.e. definitions and key concepts), practical guides for implementing agile methodologies (i.e. information for ceremonies, agile roles, metrics and more) and many more interesting stuff related to testing, estimation, leadership and product development.
The list is published under the Public Domain, which means you are free to (re)use it any way you like. You can also contribute your favorite agile related material to become part of the list.
I hope you enjoyed this article of the Software Advent Calendar 2023 series! See you tomorrow 🖖.
Chugh, M. and Chugh, N. (2023). A Deep Drive into Software Development Agile Methodologies for Software Quality Assurance. In Agile Software Development (eds S. Hooda, V.M. Sood, Y. Singh, S. Dalal and M. Sood). https://doi.org/10.1002/9781119896838.ch12
Mishra, D, Mishra, A, Abdalhamid, S. Facilitators and inhibitors of Agile methods adoption: Practitioners view. Systems Engineering. 2023; 26: 891–907. https://doi.org/10.1002/sys.21702