Unlocking agile: The power of cross-functional teams
- 30 January, 2020
- Article - Software Best Practices
We’ve finally reached a post-waterfall world, where iterative problem-solving processes have all but eclipsed traditional models. Almost every tech business, IT department and start-up will tell you they are "wall-to-wall" agile, and have embraced Scrum, Kanban or one of the numerous scaled delivery frameworks. Even so, non-delivery is still common because we've not yet learned to consistently build and drive cross-functional teams.
A cross-functional (or multi-disciplinary) team is one with every resource they need directly inside the team. Every person shares a common cause and legitimate responsibility. Operating multidisciplinary teams is the next step forward and we already have the tools in place.
Industry has a habit of falling back to 'silos' as an operating model, which is often a lazy accountability tool. Splitting teams by skill is meant to aggressively manage capacity, and to ensure people are supervised by managers who understand their expertise. It makes sense, but hasn't translated well into our modern, and competitive, technology economy. In cases like these, each team may be agile internally, but are often powerless in the bigger picture – lost in a sea of dependencies on other teams, skills and departments.
In today's world, we don't need perfect and complete requirements before design starts, and we don't need perfected design before development starts. Testing can in fact start from the first line of code, and deployments can happen automatically every night. Product updates are days apart, distribution costs are near zero, and the new battlefronts are scale, experience and value. Marketing won't save a bad product, so the tech we ship to customers really needs to stand out.
It is becoming obvious that the teams succeeding in this arena are those who collectively realise the benefits of an unrestrained cross-functional team culture. A culture and process that allow skills to blend and overlap, and where responsibility is both fluid and shared. There are no walls to throw work over to, and no 150-page design documents to create a paper trail of safety and a pointless lattice of hard deadlines.
A cross-functional team means the product owner doesn't have to create requirements on their own. The QA, developers, data team and UX team are all in the same boat, and are just as responsible for the quality of requirements. Every person in the team functionally applies their niche skillset in the creation of the product, but intellectually contributes to the entire process. This doesn't just spread accountability, it creates buy-in, a shared sense of purpose which is an unbeatable force for quality and delivery.
Mixed teams like this also solve the lazy capacity problem overnight. There is no such thing as a design team with no work because everything is snagged upstream, or a QA team who are waiting for the next UAT cycle. All of these roles are mixed into the cross-functional teams where they carry responsibilities from day one right through to the sunset of the product.
Teams in almost every other field work together against a common goal. In football, the strikers are allowed to defend, and the goalkeeper can score. We need to follow this same approach in the technology world because it works the same way. Pull your teams together for a given product and give them a single problem to solve as a unit.
Just being physically seated together doesn't count as a cross-functional team. To get this right, our teams need to have mixed expertise with everybody pulling in the same direction, at the same time. This means product owners, designers, developers and testers should be participating in the same brainstorming sessions, and allocated to the same user stories. Everybody should contribute their own specialised talents in parallel, while feeling that their expert views are considered equal in the team.
If your teams are feeding work to each other, then you're still operating with one foot in the stage-gated waterfall world. Cross-functional teams will change the game and unlock the real value that agile can offer your organisation.