As Steve’s book states, classic mistakes are classic mistakes because they’re mistakes that are made so often and by so many people. They have predictably bad results and, when you know them, they stick out like a sore thumb and the idea behind listing them here is that, once you know them, you can spot them and hopefully do something to remedy their effect.
Classic mistakes can be divided in to four types:
Today’s blog takes a quick look at the fourth of Steve’s categories of mistakes: Technology Related Mistakes, which include:
- Silver Bullet Syndrome
- Overestimated Savings From New Tools or Methods
- Switching Tools in the Middle of a Project
- Lack of Automated Source Control
Silver Bullet Syndrome
Don’t expect the use of new technology or development tool to solve all your scheduling problems.
Overestimated Savings From New Tools or Methods
Use of new technology and practices can increase development time as their learning curves are climbed. New practices have new risks that you only discover by using them. Teams (or organisations) seldom improve their productivity in leaps and bounds. Aim for steady slow progress.
Also overestimated is the saving that arise from code re-use. Code re-use is a very effective approach however wishful thinking comes into play and the savings usually not as high as expected.
Switching Tools in the Middle of a Project
Try not to upgrade your compiler, operating system etc. in the middle of a project. Apart from the fact that the installation takes time, the associated learning curve, rework and inevitable mistakes often cancel out the benefits of the new tool.
Lack of Automated Source Control
This was written 10 years ago, but it still amazingly happens, even though there are companies who will provide this service for you via the Internet. Failure to use automated source control exposes your project to needless risk. Use source control to its full.
Related Articles :
This guide will introduce you to the world of Software Architecture!
This 162 page guide will cover topics within the field of software architecture including: software architecture as a solution balancing the concerns of different stakeholders, quality assurance, methods to describe and evaluate architectures, the influence of architecture on reuse, and the life cycle of a system and its architecture. This guide concludes with a comparison between the professions of software architect and software engineer.