There is no denying that agile is becoming the de facto way to delivery new IT projects.
Some exciting brands are leading the charge on digital transformation, with a move to agile development methodologies that dramatically increase the speed at which usable products are delivered.
Teams are working collaboratively using sprints, pair programming and many other agile techniques to achieve their goals. It’s not just the practicalities of coding, we’re seeing many request agile training to help them strengthen service design.
We asked a number of our own clients for their top tips and learnings on their journey to adopting agile. We’ve consolidated that experience into a set of new rules for using agile.
Whether you are already using agile or thinking about trying it out on a project soon, take these rules as a guide to making agile as effective as possible in your organisation.
A good Product Owner is essential
They must be available, embedded and empowered. They should be working within the team and be an active participant in development and sprint meetings, not simply acting as ‘the client’, though they remain conduit to the wider business.
A project is only as strong as the person in the product owner role, no matter how talented the wider development team is. If the product owner is weak there could be surprises from other stakeholders that jeopardise the product.
You could wind up endlessly revisiting things you thought were completed and the team is likely to expend valuable energy on the wrong product elements.
It’s not just about coding skills
These are of course important, but it’s far from the only factor to success; you need flexible and constantly evolving processes and a team of personalities that work well together.
Remember you're looking for talent, process and culture - focus on getting to know your potential partners and how they operate. Look for chemisty!
Great digital products evolve
A design is not fixed up front and then built. Building great digital products requires high levels of creativity and flexibility and involves lots of uncertainty and change that needs to be embraced.
Agile is the best way to do this, but the process, and therefore the whole outsource engagement needs to be based on collaboration not confrontation – you need to find a partner not just a supplier. And remember the real measure of progress is working software – not feature definitions, roadmaps or plans.
Communication is key
A culture of open, honest, frequent and early communication at all levels – formal and informal – is an important component of success.
Everyone in the team, internal and external is a first-class citizen, with equal rights to speak to anyone else. Also, good and bad news should be constantly shared in the team, with a collaborative problem-solving culture where team members are happy about the visibility of issues without fear of finger pointing.
Deciding when to outsource can be a tough one. If you just need a skill for six months, better to ‘rent’ the best and lower risk if you are delivering a project that gives you a competitive advantage, rather than waste time up-skilling your team.
It’s more often than not useful to get in a team who have the knowledge and experience of delivering digital products and learn from them, transitioning to an internal team over time.
If you are going to offshore your project development through a partner then make sure you pick a company that can do both offshore and onshore, and start onshore – it builds confidence in the team and project.
Equally make sure your partners truly do have capacity to undertake your project, if they have a single client that dominates their resources that could be bad news for you.
A new way needs new contracts
Contracts are still being written for whole projects, based on functional specifications and fixed contract periods. This is not compatible with agile methodologies as underlying the whole premise is the pretext that things will evolve from what was originally intended.
The best way to structure agile projects is with smaller contracts, starting with an Alpha phase. This phase is focused on discovering user needs, where an outsource partner, product owner and internal team can build relationships and get under the skin of the project.
The only pieces of the puzzle that should be fixed at this point are what you want to achieve and why – not how. The job of the Alpha phase is to validate the goals and establish criteria that will impact service development, the scope of work and contracts yet to come.
These smaller contracts then follow on as development gets underway, and are based on realistic expectations for all parties.
These are just some of the most common tips that will make agile a success in your business. Reading back over them, most seem like common sense, but highlight how easy it is once a project starts to get whipped up into a development frenzy and that is when simple things fall by the roadside!
Agile can really boost the creativity of your teams and the speed at which they can deliver usable products – but the basics are really important.
Richard Stobart is the founder and managing director of Unboxed Consulting.