Agile: Five lessons we’ve learnt by coaching different teams
By Susana Vicente, Quality Improvement Lead @Xpand IT
As a Project Management Office at Xpand IT, every day we train and support our project teams so they can become outstanding at agile and be able to deliver more value to our customers. This is quite a challenge: not only because we work with such different teams and projects, but mostly because creating real changes in individuals’ mindset can be challenging.
We have learned a lot since this team was created back in 2017, so we would like to share some of our Lessons Learned to help you.
1. Agile isn’t a silver bullet
One of the biggest misconceptions about Agile is that it is perceived as a silver bullet solution to solve project problems. It’s not like that! Agile helps to spotlight issues and understand where the process has failed and what has to be changed, so it doesn’t occur again. New adjustments are only a sprint away, so problems don’t snowball as we might fall into traditional development methodologies. Thus, the team can work together to solve problems for future sprints and adapt to avoid relapses.
2. Place your Agile Values Above Your Rituals
Focusing on the values and principles in the Agile Manifesto is much more important than managing a Project with agile methodologies. Organisations often break the first agile value — “individuals and interactions over processes and tools.” Then, if we don’t need to have processes and rituals to be Agile, why having them at all? Agile rituals won’t make teams agile, but they can help if done the right way. They can help teams to work efficiently and can be a way of changing to change culture and habits.
- The daily stand-up is team building, just like the other rituals.
- Stand-ups and retrospectives allow teams to learn and grow from their past experiences.
- Retrospectives provide the team with an opportunity to celebrate successes.
- Regardless of how the previous sprint went, the new sprint planning session allows the team to focus and helps to engage for the future.
- Product and sprint backlog prioritisation build the capacity to learn, adapt, be resilient and the ability to re-group when things don’t go as planned.
3. “Plans are worthless, but planning is essential”
Dwight D. Eisenhower said it. Working with agile methodologies doesn’t mean the core project management processes should go away. Planning, tracking and monitoring (on a daily basis) are applicable and essential because they remind the team about the main goal — creating value and keeping customers satisfied.
4. Pick the right tools
Part of the success of any job relates to the tools used. Agile projects can be run in walls, note cards or with software. An Agile project can benefit from the last one, especially by assuring requirements traceability from project kick-off to project release, managing the backlog and tracking sprints, issues and bugs.
Our internal teams use Atlassian products — Jira, Confluence and Bitbucket. Jira is used to manage the backlog, sprints and releases. Confluence is our wiki, and it’s used to keep all the project info such as technical documentation, project plan and others. Bitbucket also has multiple benefits such as storing the code in a secure place and allowing that anyone from the team can have access to the code or their module and pull out code based on their work/modules. With these tools, we assure the traceability from requirements (Jira) to the source code (Bitbucket), team collaboration and communication between our teams and with the customer.
5. Less is more
In agile projects, it is not uncommon for a team to have incomplete work at the end of a sprint, because their stories are too big. Team members should take time in the retrospective to analyse whether it was caused by something preventable or some problem found late in the sprint that couldn’t have been found earlier.
The best practice is to think in smaller units such as smaller stories, smaller tasks and smaller releases. Smaller items improve the flow, reduce the risk of failing the sprint goal, improve shared understanding, increase the accuracy of the estimation and allow work to be delivered faster. So, to prevent incomplete work, before a user story is ready to be scheduled for implementation, teams should assure that stories are short enough so that they can be completed within the upcoming iteration.
We hope these lessons can be useful for your projects and help teams become more agile. This way, you can anticipate problems, improve team efficiency, pick the best tools and plan better to ensure value delivery and meet customer expectations. Never forget that Agile adoption should start in your mind.