Unfortunately the fastest way to make the software project is rare possible because in this method there are no deadlines and schedule. Before you stop reading here I mention that Google applies this method for years and you know the result.
For your convenience, below is the video so you may listen as well.
Though this fastest way is not always applicable I believe it useful to outline it here as the limiting case in order to get from this method all that can be useful in other conditions.
Note that this is the fastest way only for software projects or more general for the projects where the creativity and brain work is important. For other type of works where people do the repeated work and hence can develop the skill to work automatically the more conventional methods do their job. However in the software development the methods from say production line or construction (e. g. waterfall) either drastically slow down the project all simply are not applicable.
The point is that nobody can correctly guess the time required by the software project and therefore nobody can set meaningful deadline. The statistics given in the well known book by Edward Yourdon ”Death March (Mission Impossible)” shows that average (not agile) software project finishes six month after the official deadline and eat two times more money than planned. The reason is the software tasks almost never are the same even if they look very similar. Actually if the were strictly the same there would have been no need in the new task. We could just get the software developed in the previous task.
Since about 50% deadlines are not real, the demand to move according to the schedule only slow down the work. There are special studies on this subject. Their result is that the only way to simulate the people that use their brains to work is to make so that the themselves wished to work faster and stimulus must be positive. In other words, the pressure decrease the creativity. It is because any pressure distract person from the mental work. The person begins to thing again and again what happens if he/she fails to finish in time. And since nobody can thing about two things simultaneously, the productivity decreases.
So all we can is to select people who like the programming, set them well defined goals in terms of the features (and not the tasks) and make sure that they don’t spend too much time on the chart.
How president Ronald Reagan use to say “Surround yourself with the best people you can find, delegate authority, and don’t interfere as long as the policy you’ve decided upon is being carried out”.
Naturally all it works only for the innovation or open source projects where the company is able to set the deadline itself or rather able to set no deadline. If there is a customer who pays for the project some trade off is unavoidable.
So what can we do if the pressure slows down the project and we cannot set the deadline correctly?
I am going to discuss this in subsequent posts.