Agile methodology is a merely a way of re-ordering bullet points
Humans have only one way of expressing ideas - their own way. Which in the general species-wide scheme of things, amounts to nothing. It is the reason why marriages end up in divorces, families break up and projects dont get delivered.
Why does this happen ? Simply because your punctuation was in the wrong place.
The human mind does not think linearly - it jumps back and forth between ideas, refining and reinforcing them. The problem is that this back-and-forth is different for each person. Nothing put it more beautifully than the Cardinal Fundamental Law of Programming - it is harder to read code than to write it. Simply because the intent of the original programmer is not linear and so you have to reform your brain to think like the original developer. This is a hard, hard proposition.
The same problem happens in planning a project : the planner (or as is more typical - the team of planners) come up with a plan document which is obviously non-linear to everyone but themselves. The bullet points are logical thought boundaries for the original creator that the reader simply may not digest. This is the fundamental reason why implementers fail to grasp dependencies/traps/checklists and this is why projects fail. To help people deal with non-linearity of thoughts, we invented UML. However there was a big mis-calculation there - representation of ideas are not ideas. Like the matrix (the movie, not the symbolic construct), you actually have to think them.
This is one of the big fallacies afflicting people who deal with UML - they forget that UML is intended to help you along the chain of thought leading to an ”aha” moment. But you still need to follow the path and do the thinking. Holding a UML representation in your hands or your laptop will not help anybody if you have not travelled them.
What now ? Well, you need to force people to think. And you need to do it in bite-sized portions. And you need to make the bite digestible.
This is the part that took me a long time to wrap my head around: Put simply, it is really a way of re-ordering your bullet points or your UML diagrams to come up with small tasks that you can understand with ZERO effort.
are you simplifying the work ? Not really. are you reducing the work ? Nope. Then what the hell are you doing in agile ?
You are merely forcing people to think. To follow the chain of thought of the original thinker and pre-digesting it for your particular and unique circumstance. And since you cannot think this through completely, you will break up the large plan into bite size pieces for your own understanding.
Write these bite size pieces of understanding down. Congrats - you just wrote down a user story. This is the crux of agile. This is what you pay for. If you do not allow this decomposition of the large plan into tiny stories, you are not doing agile.
The question that begs to be asked then is - why dont we think in agile ? Why cant the original thinker of the spec/project/plan, think in terms of stories ? That is because, vision should not be bound by details. Think large, think big, think impossible. Agile is not suited for visionary thoughts. But visionary thoughts dont get built.
Here’s the only think I ask from the big visionaries. Allow me time to digest it - I’m really, really good at digesting.