Remember:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
———
Beware: random rant ahead
Agile is about planning, but also and especially about continously verifying what changed and how to adapt.
When you “are agile” (not “doing Agile”) you try to do as little up-front planning as possible, knowing things will change, with the latest most accurate insights, just in time.
You will need to regularly adjust your direction and check if you and your team are on the right track.
Your team is ideally small, and it’s empowered, trusted and responsible for the outcomes and works on the problem with courage.
You also want lots of feedback for adjusting accordingly.
And for that you want also a reliable CICD release cycle, with early and frequent releases that just work.
Having a smooth, sustainable and well-organized release cycle and feedback loop is vital I think.
Ideally the team works together to find their best process for solving the problem at hand.
I think a process shouldn’t be handed from the top down, the people working as a team should be the ones deciding on the working process, evaluating and improving it.
Just hire good people and let them work how they feel works best for them.
Yes, “Agile” often comes with a lot of hot air. That’s where “Doing Agile” starts to sound like a religion and you start to see a lot of dogma and bullshit.
Just don’t “Do Agile”.
“Be agile” instead.
Just solve the problem at hand, with whatever feels right and doesn’t slow you down, ok?
That’s about it.