Last year, I joined WP Media as the CTO and Head of Engineering with this mission:
Transform product development into an agile engineering organization built for quality, innovation, scale, excellence, and growth.
Mission accomplished. Here’s how we accomplished it together.
Today’s product development is massively different today than it was a year ago.
Where we are today technically speaking with the whole development department compared to what we was one year ago is really mind-blowing. We really did a huge step up in terms of the whole development department and all dev team and all the people directly.Jean-Baptiste (JB) Marchand-Arvier, CEO at WP Media
Before the transformation.
When I arrived, product development was still in startup mode. Operations were reactive: React. Hack. Ship. Repeat.
This mode of operations worked well during the early startup years. They built amazing products that customers love. But now it was time to leap forward and evolve into a proper engineering organization in order to scale and grow.
What did it look like a year ago?
- Developers worked as individuals not as a team
- Developers pulled from one context to another
- Little planning or strategy
- No forethought for how features and fixes were to be built, how they would communicate together, and how they would be integrated
- No release cadence
- Cowboy coding
- Hodgepodge of code design patterns patched together
- 2% code coverage with almost no unhappy path test cases
- Significant technical debt
- No DevOps
- No QA
- Lots of fatal errors and unexpected breaking changes were released
- No career development or growth opportunities
Fast forward to today.
What is it like today? “Where we are today technically speaking … is really mind-blowing.” ~ JB
- Product development is fully agile with Scrum with 2-week development cycles (sprints)
- Upfront planning, discovery work, and grooming
- QA Engineering
- QA integrated into each pull request and sprint
- Continuously increasing code coverage by ensuring full code coverage with each change
- Upfront identification of happy and unhappy path test cases and acceptance criteria
- Continuously paying down technical debt each time we touch the code
- Unified architectures: modular in plugins, microservices in SaaS, etc.
- DevOps and Systems engineering
- Exponential growth of our technical and innovation expertise
- Career development and growth opportunities for everyone
- And so much more…
Engineering has transformed.
We live and breathe our engineering mission:
We engineer and deliver production-ready products that make our customers’ websites better, faster, and lighter.
Vision. Alignment. Stepping stones. Coaching. Empowerment.
When I join a company or team, I start with this formula:
- Set a vision of what the future state should and could look like
- Assess the current state
- Draft roadmap: the stepping stones from current to future state
- Share the vision and draft roadmap
- Get alignment
- Coach and empower
Game changers included:
- Scrum and Scrum of Scrums
- Prioritizing continuous learning, continuous improvement, and quality
- Reorganizing the company into departments, each with its mission and domain
- Creating two cross-functional Scrum Dev Teams
- Developing the department’s vision and mission while ensuring the teams believe in it and are passionate to make it happen
- Aligning the department to the other departments and building partnerships for synergy
- Developing and empowering the teams
- Implementing a strategic baby step approach to incrementally move along our roadmap towards our vision
- Building a career framework including IC and management tracks, career growth opportunities, and more
It took a lot of patience, nurturing, commitment, and trust. Everyone came together to make it happen.
At the end of 2020, I will step down as CTO and Head of Engineering and move to an Advisor role. Why? My mission here is accomplished. It’s time for me to move on to help others.
We are recruiting a seasoned Head of Engineering. The person we are searching for is an exceptional leader with deep, deep experience in nurturing, refining, and scaling engineering. This person will build upon the foundation and successes we have today.
For the teams, they will continue their successes with the framework we’ve built together.