How Contino Helped EDF to Create a Modern, Cloud-Native Engineering Team in Just 14 Weeks
The Client
Électricité de France (EDF) is a French multinational electric utility company. It is one of the world’s largest producers of electricity, operating a diverse portfolio of 120+ gigawatts of generation capacity in Europe, South America, North America, Asia, the Middle East, and Africa.
The Challenge
EDF is on a mission to enhance and unify its engineering function.
The company wants to establish common standards for engineering excellence across the company and then seed these into its teams.
Boosted by common standards, engineers will be empowered to support each other and get on with the task at hand, while hiring managers will know exactly what to look for in prospective hires.
This will help them to consistently deliver high-quality software to customers and become a desirable destination for top engineering talent.
EDF turned to Contino to help them establish a unifying standard for modern software engineering and cloud-native practices for use on AWS before setting out and trialling a repeatable process for implementing these in one of their software engineering teams.
The Solution
Contino and EDF devised a three-part plan to set out common standards and ways of working, assess the maturity of a target team, and then remediate any gaps in their skill and knowledge:
- Benchmarks: create benchmarks for modern engineering excellence
- Assessment: assess EDF’s target team against these benchmarks
- Upskilling: Upskill the team in modern best practices as both a proof-of-concept and as a beacon for other teams.
Benchmarks for Engineering Excellence
Contino and EDF worked together to create a set of benchmarks across six core technical categories:
- Define: how work is identified, scoped, and agreed with customers
- Develop: how work is implemented and engineered
- Assure: how work is validated technically and functionally
- Deploy: how products and features move from development to production
- Operate: how issues with products and features are reported and fixed
- Collaborate: how the team communicate and share knowledge both internally and to their customers
These categories formed the basis for the assessment and upskilling parts of the project.
Maturity Assessment
EDF chose a single team to trial the assessment with: the Quants!
Over two weeks, Contino assessed the Quants team against key best practices and principles by interviewing team members, reviewing existing documentation and processes, shadowing meetings and reviewing source code.
The benchmarking process discovered a number of technical gaps:
- Define: work wasn't defined or implemented against any documented Agile process
- Develop: limited adoption of test-driven development and integration testing
- Assure: limited adoption of Continuous Integration
- Deploy: limited adoption of peer review
- Operate: there were ad hoc processes for customers to report issues with deployed changes
- Collaborate: there was limited utilisation of best practices within the team’s chosen software languages.
Upskilling
Contino devised an upskilling plan to remediate the gaps between the team’s starting maturity and cloud-native best practices.
Over 12 weeks (after the initial two-week assessment), Contino’s engineers joined the EDF engineering team and paired with the engineers to transfer key skills.
They held team workshops on critical topics such as Agile methodologies, Behaviour-Driven Development and integration testing, as well as conducting peer reviews to encourage higher code quality.
They also updated internal documentation, and facilitated the team in defining methodologies and processes fit for a modern cloud-native team.
The Business Outcome
EDF has taken a big step towards its vision for a unified engineering function by establishing a common standard for engineering excellence.
The company now also has a proven and repeatable process for bringing their teams up to these standards. After just 14 weeks, the Quants team had widely adopted and understood the set criteria to meet software engineering and cloud-native best practices.
They are now:
- Define: working against a documented Agile process that works for them
- Develop: using Behaviour and Test-Driven Development
- Assure: utilising automated testing and peer review for changes to a growing number of their tools and products
- Deploy: automating deployments where possible and documenting approaches for non-automatable apps
- Operate: frequently communicating with customers and moving towards a standardised bug reporting process
- Collaborate: internally sharing knowledge through team demos on a weekly basis
There was only a single gap remaining across all of the initial benchmarks (over 20 individual metrics).
Critically, EDF can also use this team as a benchmark for hiring in top tech talent into their growing engineering function.
My team and I had a great experience working with Contino, it was clear that Aaron and Sam were experts in software engineering and not just consultants. They helped us adopt ScrumBan, which means we’re now running our work much more efficiently, following Agile best practice of estimation, sprint planning and retrospectives. They have instilled great software engineering skills into the team, improving our use of linting and formalising peer review of code, and also helping us gather requirements in more detail using BDD. My team are now much stronger in their software engineering capabilities and will be sharing their knowledge across EDF.
Hannah Loebl, Senior Manager of Quantitative Development, EDF
This is a great piece of work that fits into a wider set of initiatives we are running to raise the bar on our software engineering practises within EDF. Contino has brought some great expertise and insight to our existing Quants team and helped them on their evolution. The learning and insight from this engagement has also helped define and shape our core engineering competencies and behaviours.
Steve Bowerman, Principal Software Engineer, EDF
The next step is for EDF to apply this template themselves to more and more of their teams, expanding the circle of engineering excellence within their organisation.