Rebuilding a tech platform from scratch
Julien Balmont
CTO and Cofounder at Zenchef
Problem
"One day, while having a few drinks at work, my CEO told me he couldn't stand our product anymore. I have to say, he had a point. Customers didn't want to use it, support kept complaining about it, it was hard to maintain, and the design was awful. He suggested that we rebuild the platform entirely, and given the state of our tech platform, I had to agree."
Actions taken
"I had no clue how difficult this decision would turn out to be. While we should have held some meetings, and gotten feedback and an estimate of the time we needed from our team, we were tired of our product and wanted to change to something new, and quickly. A new version of platform usually also means new technology. I decided to involve my whole team in making this choice, and while it did include some meetings and long discussions, it was totally worth it. We chose a PHP framework, and it was the right choice, as being able to rely on a good framework, with a large and active community is comforting. Afterward, we had a meeting with the product and development teams, to debrief and identify what we could have done to avoid all of this. This was useful, as it was THEIR moment to talk honestly, and I was open to their criticism."
Lessons learned
While we ultimately launched a successful platform, my team's feedback also made it clear that the stress of the project and the need to deliver it on time had led to a number of mistakes being made, that I've learned from.
- I didn't take the time to brief the team, or to do what I as a manager should have done - make them believe that everything was going to be okay.
- I didn't cut the huge task up into manageable pieces or use scrum, and as a result didn't brief them on next steps or congratulate them for the work they'd done.
- I was busy extinguishing fires on the old version, and because of this, I decided that I didn't have time to go to meetings and skipped them. This meant that my team ended up having to work out specifications for new functionalities for themselves.
- We outsourced our design to a web design agency as we wanted a good Javascript base. But while we already knew what we wanted, they kept pushing in another direction. When the full package of JS/CSS/HTML was delivered, it was incomplete, so we ended up rewriting and refactoring most of the Javascript.
- Because of the design issue, we were two months behind schedule. However, we still decided to go live with the new version on the D-day. Because we weren't at all ready, we had to change our plan and make an incremental version upgrade. But, because our customers had to go from V1 to V2, we had no other choice but to modify all the V1 code to fit the new database scheme. What a waste of time! We should have delayed our release, to ensure it was right first time.
- I didn't get the support team to test the new product, and this ultimately resulted in our clients becoming very frustrated. By taking on this feedback, and learning and growing from it, we've been able to build an even greater company.
Be notified about next articles from Julien Balmont
Julien Balmont
CTO and Cofounder at Zenchef
Connect and Learn with the Best Eng Leaders
We will send you a weekly newsletter with new mentors, circles, peer groups, content, webinars,bounties and free events.