One of the most common questions I get from managers and HR when coaching agile software development is: “how do we manage the performance of our people in an agile world?” Have a think about that question for a bit.
Why do we need to ‘manage’ performance? One of the key tenets of agile is self-organization. The teams will organise and manage themselves. They organise themselves around the customer, understanding the needs, wants and aspirations of the customers, experimenting and figuring out what they can do to help the customer solve their problems in a way that will benefit the customer, and therefore benefit the organisation. It should be a win-win. When teams are organised properly, they’ve worked out what they need to build and they help each other as they build, all focused on a common goal. When they face a problem, either with the solution they’ve built or with the way the team is functioning, they reflect and find a solution, together. They help each other improve regularly by giving feedback individually and doing retrospectives for the whole team.
Members of a cross-functional team don’t generally follow a standard career path, which a lot of performance management practices are based on. In a traditional organisation, we have roles that progress through stages of seniority, with the associated pay rise at each step. People are often already gunning for the next step up and the associate salary increase and therefore not focused on the job at hand. In an agile team, people can move between various roles. A BA can do analysis for a while and then do some testing when needed. Product Owners can jump in and do some story writing when the need arises. Devs and testers often switch between roles and UX and Designers can do everything from customer research through to front end development. If we rate these people only on the specific role they fill, we miss the nuances of the valuable work people are doing every day. When you’re just a role and get rated as only that role, you’re naturally only incentivised to do that role, so helping out in another role when necessary could possibly mean a bad rating for you, even though you’d actually be helping the customer! You can see often how our organisational structure can actually be worse for the customer!
The only performance that matters is whether the team provided value to the customer or not. If they did, great. If they didn’t, they’ll reflect and find a way to do so. The team can measure the value they provide and if they self-manage, they will be able to also figure out how much they each deserve for their contribution. Radical perhaps? Entrepreneurs do it all the time.