This Critical Code Mass (Hereafter CCM) is, as you can probably imagine, the amount of code a software can be composed of before falling into the vicious circle of bug-fixing-to-introduce-new-ones.
Keep the development going after the CCM is reached leads inevitably to self destruction.
This is particularly true for startups, the CCM is something all technology entrepreneurs-to-be should be wary of. It is indeed a difficult balance to strike. The question is: When do I release?
In my opinion the best thing to do is: Complete a stage one of the development. Which consists of the basic software with the main features implemented but without all the garments and the good looks of a final version. Release this version one and wait for feedback from your users.
Careful, I didn’t say that it can be buggy. In fact, it has to be bug-less. Users can cope with missing portions in a software but not with bugs.
As it happens, users also like to be involved in the development process. They’ll indicate you new features and improvements consequently reducing the amount of work on your shoulders and also the responsibility of devising new features.
A line of conduct that more and more companies seems to be embracing. Microsoft for example has loosened its policies on employees’ blogs thus creating a constant flow of fresh information/feedback from their user-base.
As I said the Critical Code Mass window is easy to miss.
And if you do miss it your software is going to become a self sustaining over-engineering-powered train in route of collision with the budget train which is clearly running in the opposite direction.
If your company enters this downward spiral you better have the money to back the development otherwise you’re history.
What a company needs, specially a startup, is the filter, the midfield player. Someone who sits between the two opposite figures of the engineer and the entrepreneur.
The engineer who believes that by “engineering around†can bring order in the universe and the entrepreneur who usually wants everything immediately and free of charge are seldom compatible. This man’s role is to keep the development on track, on a sensible track, and prevent the entrepreneur’s sudden changes of mind from jeopardizing the future of the application.
If this middle man is wise enough to know how to handle an engineer in an engineering frenzy and an hopeful entrepreneur entrepreneuring (who is often more dangerous than the engineer) your software is going to have a future. Maybe not bright but at least a future in which it exists.
This is, of course, if the initial idea is also rational.













…for online dating.