ALM #051: 5 Agile Techniques to Transform Your Engineering Team
How Engineering Managers can modernize their Agile Perspective
đđŒ Hey there, and happy Monday!
This week, I want to talk about modernizing our view of Agile.
Agile revolutionised how we work, but sometimes we forget that the Agile Manifesto was created over 20 years ago.
However, looking at the current state of Agile in the tech industry, you still have companies in all stages of adoption, from iterative and incremental development to managing distributed Agile teams.
COVID motivated a lot of new ways of working and forced us to revisit some of the practices we were using to improve our performance and delivery.
I want to challenge you to revisit how you work and if there are any areas in which you can try a new approach.
Daily Standups
Every morning, you get to see the whole company get together in teams, squads, etc, to address:
What they did yesterday
What theyâre going to do today
If they have any blockers.
The concept of asynchronous work introduced an almost meeting-free schedule.
Why should daily standups be any different?
Moving to a complete async working mode is a shock to every team, so why not leverage your existing communication tools (Slack, Teams, etc) to try this technique once or twice a week?
2-Week Sprints
Every year you have 26 iterations of improvement.
Twenty-six times a year, you deliver a new product iteration with new features.
But what if we were to change the approach, and instead of focusing on what fits into a sprint, we would focus on limiting the work in progress?
Stop Starting and Start Finishing
In a Kanban mode, you focus on limiting the Work in Progress, and instead of using the two-week cadence to deliver features, you deliver them as they become ready.
Kanban is about flexibility and about adjusting to change.
If youâve been continuously working with Scrum and want to try something new, start small and think about your process and how it would change with this continuous delivery flow.
Sprint Planning
With the Kanban approach in mind, you might start to wonder how developers will know what they need to do at a given moment.
It all comes down to good prioritization.
Be clear and open about the policies you use to prioritize your backlog and the amount of work in progress itâs acceptable to have in progress.
This approach brings a series of advantages:
Consistent and transparent decisions
Teams are more independent
Reduced backlog maintenance
If you want to start with this technique, make sure you have a prioritized backlog and let your team plan the next sprint based on it.
Weekly Refinements
Have you ever felt going into a meeting or a refinement that what youâre truly doing is arranging a dedicated time to think about the topic?
There are other ways.
An async documentation-based approach and a clear definition of ready are great ways to ensure that your team has all the necessary tools to define their tasks and initiatives clearly.
Consider how many refinements you spent clearing miscommunications and misunderstandings about projects and tasks.
By prioritizing a documentation-first approach, you have all the information well documented, making the decision-making process more informed and quicker.
Revisit how youâre starting the next initiative and ask yourself if your team's level of documentation and understanding of the project is enough.
Retrospectives
Everyone that knows me knows that Iâm a big fan of retrospectives.
I genuinely believe that alongside 1:1s, theyâre one of the best methods an Engineering Manager has to bring a team together.
One method to adjust retrospectives is moving them from their typical 2-week cycle into an event cycle: when a project ends, when thereâs an incident, etc.
Even if you donât stop retrospectives every couple of weeks, I suggest you add a new one related to events.
This is something that so many teams forget, and the value it brings is gigantic.
In summary, modernizing Agile for new engineering managers means adapting to the current remote and asynchronous work environment, trying new methodologies such as Kanban, focusing on clear prioritization and documentation, and rethinking the timing and context of retrospectives.
By being open to these changes and taking advantage of the latest trends, you can keep your team agile and continuously improve your team's performance in an ever-changing tech landscape.
I suggest always trying some of these new techniques and reviewing their effect on developer happiness, quality of delivery and how the team functions.