A Reflection on 3 Years of Product Development
A lot has changed over the last 3 years so I thought it time that I wrote a few things down mostly for my own record and see if I’ll agree with myself in another 3 years.
Learning on your feet: A great asset
Initial choices: Matter more than you realise
When time is pressured it can be to jump at the first solutions you find. The consequences of hasty choices may not however reveal themselves until much later on.
A good idea is to factor in some time initially to think on a problem from a wider perspective to try and see potential problems down the road.
Easy to say now with hindsight of course, but it’s a lot easier to change before things grow, especially when it comes to technical debt.
Tech choices and people: Choose based on your strengths
When you have a few possibilities the most important question then is which one works best with the team you have, or are aiming to have. There’s no point in using something new and shiny if you can’t be productive quickly with it or find anyone with existing experience in it.
Adaptation and iteration: Things will change quickly
Where you start may not end up being the same place you find yourself a year later. It’s important to adapt to new situations and be prepared to rewrite as well as iterating. All work is potentially disposable so getting things 100% perfect should not be a priority in the early days as long as it fundamental achieves its goal.
Managing technical debt: The first step is admitting you have a problem
With great change comes great …problems. Along with the new there is always the burden of the old to some extent and attempting to ignore it only makes it more angry. Trying to incrementally improve the biggest irritations will likely pay off more than you realise and better than building yourself into a corner.
Scaling into chaos: Everything is easy until it’s not
Roles and responsibilities are less important in small teams, but quickly become important as you grow. Scaling, even if linear in resources is not in the resulting complexity, and as such require more robust processes and system to ensure productivity.
The more you make the more to maintain: Planning can only ever be more important
A product brimming with features is a product with lots of moving parts. Making changes can now impact in many more places and as such, good planning is essential.
Part of this planning is to ensure that additional features not only work with the existing ones, but also worth creating in the first place. Remember those people paying the bills that you built it for in the first place? Might be worth seeing how they’re doing.