Agile is a mindset
What does it mean to be Agile?
- Some think that to be agile means to be flexible (like some yoga practitioner), to the point where the expectation is that the team should be able to bend & accommodate change requests even very late into the project, while maintaining a very high quality, without any adjustment to the deadline. This is a real life example.
- There are also some who think agile means scrum, kanban, scrumban and its accompanying rituals & tools, even if the project doesn't require the full treatment. And if followed excessively, will drag the project.
Perhaps, the word Agile should be changed to Nimble.
What does it mean to be Nimble?
Imagine a gazel trying to outrun a hungry lion. The gazel needs to be Nimble, not just Agile. It needs to be fast, and decisive. Every sprint it takes has a high impact and any missteps could be fatal, so it needs to bounce back fast from any mistakes. Each action is taken with the end-goal in mind: to escape. There is no wasted step.
In a project, the project teams are trying to outrun the lions of time, scope and other project constraints, with the end-goal of delivering the project objectives.
To achieve the end-goal, it's about thinking a few steps ahead, being decisive and bouncing back from any mistakes fast. It's about trying to complete the project in less than the time allocated (when you have less time to achieve the same objectives -- the way you think, the strategies you choose, the tools you select, and the way you do things will be lean by default, there will be no wasted step because you simply don't have the time to spend).
To be Nimble: You have to think deeply, so that you can act decisively, and bounce back fast from any mistakes and deliver ahead of time (because to be on-time is too late).
To do that, you need to invest your time to think about:
- What are the end goals? Not just the acceptance criteria, but the business objectives of the project. A perfect system with no bugs, can still be considered a failure because it doesn't deliver what the customer wants.
- What is the Minimum Viable Product (MVP)? How do you validate this fast? Who can validate this for you? What are the acceptance criteria?
- What is the Minimum Viable Design (MVD)? Define what is the MVD? Is it well thought out? Does it lead to less coding, easier maintenance, less tendency to create bugs, more re-use, higher flexibility to accommodate changes and extensions?
- What is the Minimum Viable Testing (MVT)? Define what it means by DONE. What is the minimum testing required for the deliverable to be called DONE? What is the minimum acceptance criteria? Is your work MVP worthy? If not, then it's not done, it failed the MVT?
- What is the Minimum Viable Documentation? Cut out any parts of the documentation that doesn't lead to a quicker sign-off. Ruthlessly remove paragraphs/diagrams & any unnecessary contents that doesn't lead towards achieving the MVP. Get a tool that you can use to input and track the requirements which has a tool to convert those requirements into MS Word format (especially if your project requires a waterfall style, 1000-page Requirements Specification).
- What is the Minimum Criteria to Accept a CR? If it doesn't meet this Criteria, Throw it out. Move on to the next one.
- What are the fall back plans if the initial plan doesn't work/ require adjustment? What's your Plan B? C, D? Thinking a few steps ahead on these, will arm you to act decisively and adapt quickly to change the course when required.
- Which meeting/ritual to cut? There are nothing more time wasting in this world than unnecessary meetings. To cut them out, set the Principles of Decision-Making to avoid wasting time in a meeting just to make a simple decision. Example: If an activity/tool/action/ritual/feature doesn't lead to delivering the MVP, then drop the discussion, cut it out. Next!
To be Agile is to be Nimble, To always be thinking and doing a few steps ahead, with a razor-sharp focus on what the end-goals are. Thus, even if you're following the Traditional Waterfall method, you can still be Agile. Because being Agile is not just about using specific tools/following rituals, it's about the thinking & mindset, it's about being Nimble.
Strategy Transformation & Innovation , Enterprise Agile Transformation/Program & Portfolio Management
7 年Good one !!