Agile: What Exactly is a Mindset?
There are a lot of unfortunate posts both here on Medium as well as other forms and platforms which talk about the Agile Methodology. I’ll admit to cringing when I read these. Not quite as much as I cringe when people use Story and Task interchangeably, but that’s another article for later.
Agile is a Mindset. It’s a set of guiding principles, nothing more. Guiding is is the critical term here — Agile provides Guidance as to how to proceed. But it doesn’t dictate.
A good analogy might be this: “Guideline for a Harbor Pilot: Avoid sand bars and don’t ram other vessels.”
That’s a guideline. Now what’s a methodology?
From Alki Point nav circle, proceed NNW at course 320 until due east of Skiff Pt, then come to heading 40.
Great set of steps! But what if the sandbars have shifted? What about that ferry 40 yards off the starboard bow? This methodology, if too rigid, might run afoul of the guidelines — and usually, that’s a bad thing!
But wait, what if the ship is sinking and we want to beach it to save the cargo? We might want to head straight to a sandbar! And what if that ferry’s been hijacked, loaded with explosives and is headed toward that crowded pier? Ramming may be an act of heroism.
The point here is that Agile, Scrum, XP, Kanban — they’re all abstractions. Drilling down into them and having someone tell you what YOU are doing in a specific situation that they’re not equally fluent in is, usually, silly.
We can only speak to what has and has not worked for us. We can postulate and suggest some best practices (methodologies) for others and some guidelines (mindsets) as well. But condemning someone’s methodology as not being “agile enough” or “pure agile” demonstrates, to me, that the person doing the condemning doesn’t really know what they’re talking about.
Are there any absolutes? Yes, Virginia, there are. And they’re pretty simple.
- The definition of a bug is when expected behavior and observed behavior don’t align for a given use case. Software needs to behave as expected. Which means you need to have a clear, unambiguous statement of behavior and you need to collect scientific observations to prove alignment. This isn’t a mindset, it’s just a fact.
- Brains aren’t guaranteed to work within timeboxes, which is why meetings may not be the best way to communicate. This is an example of a shifting sandbar getting in the way of the Manifesto’s “face to face conversations” edict. A well-constructed sequence diagram in a Slack conversation, I’ve found, is a much better way to discuss and align on an implementation than forcing people to think of everything within some artificial block of time. Which is why our teams migrated away from anything resembling a traditional Scrum-based Sprint Planning meeting.
There are a great many other absolutes out there, but I’m digressing. This article is about Mindsets. And mindsets are guidelines, plain and simple.
Just please try to make sure the guideline you’re championing doesn’t make you a modern-day Procrustes.
#Agile #agilemindset #softwaremethodology #agileisnotenough