You were told in your job interview they practice agile development. You ask a follow-up question to learn more. Then, they clarified they used their custom “brand” of agile – a hybrid of sort. You signed the offer anyway. Soon after your start you realized they had all the rituals of agile but everything felt wrong and pointless. Sound familiar?
I’ve been there. It’s easy to become a stagnant agile organization. Here are some pointers to get better at agile.
1. Be agilists
The most successful agile organization is one where everyone is on the same page about what agile is. Build an on-boarding of their agile practices before employees start. Form an agile forums to advance the organizations’ agile practices.
Feedback can come from anywhere – customers, retrospectives, sprint reviews, demos, stand-ups, day-to-day conversations. Collect them and address them in your sprints. There is constant self-improvement in agile – as an individual, as a team, and as an organization.
3. Ship it. Implement it.
You should always ship code at the end of every sprint. Keep the momentum. Break down big projects into smaller shippable chunks. Improve the technology to support it – e.g. release beta versions, use feature flag, improve continuous delivery and automation. Address process improvements with the same “ship it” mindset. This is important because shipping things enable customers and users to give you more feedback to further improve.
4. No jerks. No turf wars.
Treat each other equally and with respect. Everyone can suggest and make changes – regardless of how big or small the changes are. All responsibilities are task-based, not role-based. Everyone can lead, prioritize, design or code. This way, everyone is equally accountable for the output of the team.
5. Focused Meetings
Minimize the number of meetings. Understand why you need any of them, including scrum meetings. If the meetings do not help your team achieve your sprint or team goals, you should cancel them. This is why some companies (like Spotify) suggest all scrum meetings are optional.
6. Build team identity
Your team should have a team goal. It is an internal compass for the team members and helps them understand how to prioritize feedback by themselves. Name your team according to the team goal. Pick a name that anyone outside the company would understand. With an identity, your team members will be more likely to work together as a team.
7. Measure it
Use various metrics to measure your team’s success. Estimate all known work and plan for the unknown using capacity allocation. Besides measuring team velocity, pick business metrics to measure how your team is achieving the team goal. Make these metrics accessible to the team.