Our Thinking Fri 11th December, 2015
Platform as a Service? We prefer it as a Club
We’re particularly proud of our work for HMRC’s Digital Delivery Centres.
The department supports 40 separate agile teams, and you’ll find EE associates working alongside civil servants on 14 of those. Each team is continually designing, testing and delivering new digital products and services for HMRC.
Underpinning this digital capability is the Multi-Channel Digital Tax Platform (MDTP), which we helped to build. It’s MDTP that allows HMRC to support this continuous delivery from multiple locations.
This is true digital transformation within the heart of Government, and the speed with which we can deploy new enhancements is largely down to the way our teams work together. But what’s the secret to helping so many teams collaborate?
For Alun Coppack – a Partner at Equal Experts, and Digital Operations Manager on the HMRC project –the key is to treat the platform as a club, rather than a service.
Clubs have rules…
“If you want to work on the MDTP platform”, says Alun, “you need to play by its rules. Technology-wise, that means using Play, Scala and MongoDB – for the time being, at least.” It also requires teams to take ongoing responsibility for the work they produce: “if your team is making something for the platform, the team needs to be ready to look after it once it’s live.”
In return for working within these parameters, each team can reap the many benefits of being a club member…
Members share the workload
The chief benefit of our club mentality is that teams collaborate openly, and can easily re-use each others’ work.
This means new features can be added to existing services, rather than starting from scratch. As an example, the first team that needed to send emails created a microservice to do this. Later, when a team working on another product needed to send emails rather than create a new email service or run a new instance of the existing one, they worked with the first team to add functionality.
Teams use the github ‘fork and pull’ model to add the features they need – forking the codebase, making (and testing) changes, before sending enhancements to the original team to review and accept. Working this way means teams need to be open to requests from other teams, for everyone’s benefit but we can get new products up and running much faster, with far less replication of existing work.
Members share their knowledge
With so many teams continually releasing new services and enhancements on one platform, it’s vital everyone knows what’s going on. A key way we do this – beyond the daily scrums within individual teams – is to run a fortnightly show and tell session.
Bringing teams together for a regular overview of everyone’s work keeps people informed, and crucially, fosters our club mentality. Everyone comes together to share progress and feedback, keeping knowledge moving around the whole organisation. As Benjamin Mitchell (a Partner at Equal Experts) points out, it’s also great for team spirit. “There’s a great esprit de corps here – each team has its own way of doing things, and everyone gets to learn from others and share each other’s success”.