What is in a name? A lot apparently. If you want to stir people up, just call one of the popular agile approaches by the wrong label. Particularly offensive would be calling an approach a methodology. Let’s take a closer look.
We are Not an Agile Methodology!
Over the years Scrum proponents have been adamant that Scrum is a framework, not a methodology. And they keep an eye on those sorts of things.
I even had an employee at Scrum.org contact me when I used “Scrum Methodology” as a tag for a blog post, even though I didn’t use the term Scrum Methodology in the post itself. Here is what the employee said in a comment:
Nice summary. Just for clarity sake, Scrum is a Framework, not a methodology. Methodologies provide you with little room for inspection and adaption, they provide you with a set of items you must follow and how to achieve the tasks from end-to-end. Scrum is an empirical process which asks you to change based on the makeup and capabilities of the team, add new practices, etc. based on a very small set of items you must follow.
Well, excuse me. I may be dating myself but I recall a Cheap Trick song about the Scrum Police:
The Scrum police, they come to me in my bed
The Scrum police, they’re coming to arrest me, oh no
But it isn’t just Scrum.org and I shouldn’t pick on them because I am a big fan of both Scrum.org and the Scrum Framework. Not that long ago, the Disciplined Agile people underwent a change where they stopped referring to DA as a “process decision framework” and began calling Disciplined Agile a toolkit. The DA Consortium site in 2013 said this:
The Disciplined Agile Delivery (DAD) decision process framework is a people-first, learning-oriented hybrid agile approach to IT solution delivery. It has a risk-value delivery lifecycle, is goal-driven, and is enterprise aware. DAD describes how to effectively combine strategies from Scrum, Agile Modeling, Extreme Programming, Kanban, Agile Data, Unified Process, and many others in tailorable and scalable manner.
The description has evolved since then but thankfully. Which is good because it looks like they hit the limit on the buzzwords they could jam into two sentences. That same site said this in 2016:
Disciplined Agile 2.0 is a process decision framework for Enterprise I.T. The main characteristics of this framework are that it: is a people-first, learning-oriented hybrid agile approach; has a risk-value delivery lifecycle; is goal-driven; is enterprise aware; is tactically scalable at the team level; and scalable strategically across all of IT.
As you probably know, PMI purchased DA in 2019. The current PMI site has a much leaner description of Disciplined Agile with a clear shift from “framework” to “toolkit”:
Disciplined Agile (DA) is an agnostic, hybrid tool kit that harnesses hundreds of Agile, Lean, and traditional strategies to guide you to the best way of working (WoW) for your team or organization.
Scrum and Disciplined Agile aren’t the only sensitive ones. The nearly extinct Dynamic Systems Development Method (DSDM) wants to be called the DSDM Agile Project Framework. Hmm.
So are method and methodology bad words? Is it an insult to call you an agile methodology?
Oblivious to this name preference, a recent article on agile from Forbes said, among other things, that “…agile methodology is a way of working based on an iterative approach.” There is that pesky methodology word again. The title of the article was The Agile Disciplines That Matter Most. Wait, is an agile discipline a real thing? And I guess that is different than Disciplined Agile, right?
In the words of Clark Griswold, Do you really think it matters Eddie if I call you an agile methodology?
Agile Methodologies – Some Historical Background
Those of us who remember Cheap Trick will likely remember that the early agile enthusiasts were referred to as lightweights. That was because the approaches they introduced were considered lightweight methodologies as compared to existing traditional/waterfall approaches which were heavyweight. So from the very beginning they agile approaches were striving to be different and not be seen as document or process heavy.
The popular agile approaches from the 1990’s include Adaptive Software Development, Crystal Clear, Extreme Programming, Feature Driven Development, and Scrum. Jim Highsmith highlighted these and more in his 2002 book, Agile Software Development Ecosystems. Highsmith sidestepped the agile methodology label by calling them ecosystems. Which was quite diplomatic I guess.
Let’s take a look at what Highsmith said about each of these “ecosystems” and how their labels have changed over time.
Highsmith credits Jeff Sutherland, Ken Schwaber, and Mike Beedle with creating Scrum, which Highsmith described as a “project management framework”. Schwaber and Beedle’s 2002 book, Agile Software Development with Scrum refers to Scrum as a “process”.
Sutherland, Schwaber, and Beedle were all signatories of the 2001 Agile Manifesto and were active in the agile community. Beedle tragically passed away in March of 2018. Miljan Bajic is currently posting tribute interviews of those who worked closely with Mike.
Dynamic Systems Development Method (DSDM)
In 2002, DSDM was popular, particularly in Europe. At the time, Highsmith called it the best-supported training and documentation of any of the ecosystems. Though DSDM had “Method” in their name, they tried to rebrand in 2014 calling DSDM the “DSDM Agile Project Framework”. Though it can still be found in use in Europe today, very few people in the US use it.
Crystal was developed by Alistair Cockburn, who was also one of the 17 Agile Manifesto signatories. Crystal was a family of people-centered methods and focused on collaboration, good citizenship, and cooperation. Crystal is described in the 2005 book, Crystal Clear though it never really got much traction. Was it because of the subtitle of the book, A Human-Powered Methodology for Small Teams? I guess we will never know.
Feature Driven Development (FDD)
Feature-driven development was a collaboration between Jeff De Luca and Peter Coad. FDD consists of a minimalist, five-step process that focused on developing an overall object model, features list, and then planning iterative design and build steps.
I don’t know for sure what De Luca and Coad called it but Wikipedia describes FDD as “a lightweight methodology for developing computer software with reduced management overhead, time and money.” That pesky “methodology” term was used again!
And that is probably why you won’t find any training classes or current applications of FDD today.
Bob Charrette is the creator of Lean Development, an ecosystem-based on lean production. You’ve probably never heard of it.
Extreme Programming (XP)
Highsmith sidestepped applying a label to XP, which was developed at Chrysler by Kent Beck, Ward Cunningham, and Ron Jeffries (all three signatories of the Agile Manifesto).
Extreme Programming was one of the more influential approaches and was often paired with Scrum. Extreme Programming informed and ultimately evolved into the popular DevOps approaches.
Kent Beck’s 1999 book, Extreme Programming Explained (1st edition) called XP the following:
XP is a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements.
Though he was careful to include “lightweight” in the description, he still called it a methodology. You gotta wonder if calling it an agile methodology marked it for an early grave…
Agile Software Development (ASD)
ASD was Jim Highsmith’s own contribution to the ecosystem collection. Highsmith was also there for discussions and the signing of the Agile Manifesto. Though he was careful to call ASD a set of processes and not a method or methodology, it did fade from the scene and is nowhere to be found now.
What do these Labels for Agile Approaches Mean?
So what are the best terms to use for this thing called agile and the ways people have created to practice agile? Methodology, framework, toolkit, practice, or discipline? The “bad” words seem to be Methodology and method. I wonder why? Let’s look at some definitions from the dictionary in Google:
- Methodology – a system of methods used in a particular area of study or activity
- Method – a particular form of procedure for accomplishing or approaching something, especially a systematic or established one
- Framework – a basic structure underlying a system, concept, or text
- Toolkit – a set of tools, especially one kept in a bag or box and used for a particular purpose
- Practice – the actual application or use of an idea, belief, or method, as opposed to theories relating to it, or, the customary, habitual, or expected procedure or way of doing something
- Discipline – a branch of knowledge, typically one studied in higher education
So Mr. Agile Methodology, What Shall We Call You?
Well, we’ve come full circle. My cynical side says that the labels that are currently being attached to these approaches or agile ecosystems have less to do with what each is and a lot more to do with what the promoters want the market to think about them. I guess we will call you whatever you want. Even if you are just rebranding.