Despite my fairly substantial experience, in the early stages I chased perfection in every aspect of the work we were doing, which I started to find was coming at a high cost, both in terms of time and money.
Our progress stalled in part because perfection looks a little different to everyone. This was a painful lesson and it led to perhaps the biggest compromise I had to make. I needed to accept that we had to abandon our plans to launch the site with all its features in one go, and instead settle on releasing the site as an MVP, adding features as we went along.
I built my team quickly — too quickly. I should have taken a more responsive approach to recruitment by finding the right people as and when the need arose based on how the platform was evolving. Instead I built the team based on the requirements that I believed we would have down the line. Obviously this led to very high staff costs early on but the most important problem was not applying an agile methodology to business development in the way that we were applying it to the development of the code. Looking back, we worked on things which it turned out we didn’t even need or had to substantially change as the platform got closer to release.