Startups are tough.
There are crazy pressures for speedy development and user acquisition. The roadmap moves all over the place. Life is full of passionate debates, coffee and late night debugging.
These circumstances are prime breeding ground of a dangerous enemy - TTDM, The Technical Debt Monster (tm)
In the race for the MVP you take shortcuts. You use sub-optimal but ready-made solutions. You have no time for thinking about abstractions. It just needs to work.
Your small team is struggling to keep up with the timelines. They have to explore and think on their feet. There is no time for study or reflection.
You and the product team are experimenting by the day. The requirements keep shifting and roadmap is vague at best. Throwaway code seems practical. Stitch it together.
But then suddenly the sun starts to shine on your startup - you start seeing traction. Scale comes knocking.
This is the time TTDM has been waiting for…
It becomes harder and harder to quickly implement changes based on market feedback. Development speed reduces by upto 40% as the product starts maturing.
You have not paid attention to the performance and now the system refuses to scale.
You had no bandwidth for automated testing. The manual testing cycles are now atrocious. No-sleep releases are the norm.
New team members are finding it hard to contribute due to the dearth of documentation. Existing members are overloaded as they must deliver and they must mentor. Team scaling is hard!
Team start to burnout as more and more time is needed for maintenance and fixes. Good people are leaving.
Constantly fighting fires burns you out and moves the focus away from the product.
Suddenly the TTDM is pushing you into an existential crisis. Life of the startup itself is at stake.
So what to do?
Many of the decisions taken upto that point do indeed sound sound and practical and even necessary.
Tech Debt is inevitable. The job, then, is to keep that monster hungry and away as much as possible.
Discipline is the key
-
Regularly review the current tech debt and tackle the biggest offenders. Being aware of the current tech debt and it’s consequences will help with better decisions.
-
Setting up simple process is vastly better than no processes. Code reviews, Performance benchmarking, unit tests, automated API tests. etc.
-
Set up baseline quality expectations from the Devs. Complement with checklists of common pitfalls, best practices etc.
-
Have a no-nonsense team attitude towards sub-standard code, code without unit tests, or untested code.
-
Document as much as you can. Process, Templates, SoP’s, Guidelines.
-
Dont push the team into unsustainable work ethics, educate them on wellness and eating right — all go a long way in maintaining the team energy.
So to wrap-up: Startups are exciting. And Hard. And ever threatened by the TTDM.
But with focus, discipline and watchful eyes you can keep it at bay.