Agility without bullshit: the Rolls Royce of software development
Posted on March 26, 2024 - by Andy Cinquin
AgilitySoftware developmentAgile ManifestoCollaborationChangePhilosophyFlexible methodsInnovation
🚀 Agility without bullshit: the Rolls Royce of software development
📜 Introduction: agility, the philosophy that takes your hair off
Agility is a bit like the yoga of software development: a philosophy, a state of mind that turns our way of looking at projects upside down. Forget rigid methods and make way for people, collaboration and change!
The Agile Manifesto is the bible of agility. Basically, it says that it's better to focus on :
- People and their interactions rather than processes and tools 🤝
- Software that works rather than a doc' as long as a day without bread 💻
- Collaboration with customers rather than contract negotiation 🤝
- Adapting to change rather than following a fixed plan 🎢
There are plenty of agile frameworks like Scrum, Kanban, XP... but be careful not to apply them stupidly! The idea is to adapt them to your own style. Otherwise, you run the risk of "doing agile" instead of "being agile" and ending up with meetings and post-its that serve no purpose. 😅
🛠️ Tailor-made agile workflow
🎯 Requirements framing and prioritization
- We start with a shared vision of the product, not a long-winded specification.
- User stories are like giant post-its summarizing the need. They form the product backlog.
- Rather than prioritize everything at once, we regularly reassess priorities with the customer. Stay flexible!
👨💻 Development: simplicity and feedback above all else
- The watchword: deliver early, often and adapt. Short sprints (2-4 weeks) are the ideal rhythm to keep you on track.
- Ready user stories (validated DoR - DoR stands for "Definition of Ready", the criteria for a user story to be ready for development) are refined just before the sprint, not 10 years in advance.
- UX/UI mock-ups are great for discussion, but they're not enough. Nothing beats user feedback on a real product.
- DoD (Definition of Done - the criteria for a user story to be considered complete) isn't just about testing, it's also about quality and peer review to catch defects on the fly.
- Pair programming, code reviews, retrospectives... It's all about sharing knowledge and continuous improvement.
🗓️ Light, efficient ceremonies
- The daily standup meeting is brief and is mainly used to identify obstacles, not to report on your life.
- The end-of-sprint demo is the time to shine by showing off the really finished functionalities (DoD respected) to get as much feedback as possible.
- Retrospectives are the time to adjust the process. We stay constructive and solutions-oriented.
- Planning meetings and backlog refinement meetings are limited, and most of the work is done as we go along.
📈 Measure and adjust rather than follow a plan set in stone.
- Velocity (the team's cruising speed), lead time (time from start to finish), customer satisfaction... This is what takes the pulse of the project, not a 300-page report.
- The scope and priorities are revised according to actual velocity and changing needs.
- The doc and specifications are "just what's needed", in a wiki rather than a dusty folder.
👥 A multidisciplinary, self-organized team
- Developers, testers and UX designers work hand in hand to deliver complete functionality.
- The team commits to a sprint goal (not a to-do list) and organizes itself as it sees fit to get there.
- Everyone's skills are valued and shared, and everyone's competence grows.
- Leadership isn't just for the boss. Everyone can be a facilitator or a technical referent depending on the subject.
🎭 The key role of flexible, responsive management
Having a "project manager" who decides everything is the best way to undermine agility. To make it work, you need an open-minded, listening management team that knows how to :
- Trust the team's expertise ✅
- Allow autonomy in the organization ✅
- Accept that not everything is set in stone ✅
Otherwise, not only will agility be counterproductive, but it will frustrate everyone. And frustrated developers aren't good for karma. 😬
🌈 Conclusion: agility is a state of mind!
Finally, the Rolls Royce of agility is a mix of mindset, best practices and permanent adaptation. By putting the team, the product and feedback at the heart of the process, we're able to move forward even in the fog.
The idea is not to blindly follow frameworks, but to extract the essence of them and adapt it to your own context. It requires pragmatism and flexibility, but that's what agility is all about!
So, are you ready to let go of fixed plans and embark on the agile adventure? 😎
Generally speaking, we go by the famous agile principles (and often by agile revisited, which doesn't even follow the first principles of agility).
On top of that, we use Agile frameworks, (like SCRUM) for example, which theoretically enable, if well implemented, better project organization, team empowerment, and improved overall performance.
In my opinion, this is the Rolce Royce of project organization.
Figma diagram : Figma
Thank you for your visit, feel free to contact me for
any information, quote or collaboration proposal. I will
be happy to answer you as soon as possible.
Did you like this article? Feel free to share it!