Knock-ons happen at virtually every stage of development of a software product and are a hidden yet expensive problem. They manifest themselves as feature creep, as slippage and as bugs. Every decision & piece of work has the potential to cause knock on consequences. Sometimes the consequence can be a benefit, more often than not it is unexpected problem.
Focusing on implementation specifically, there are 2 potential knock on points; before & during implementation. After implementation a knock on is more likely to be noticed, and this is when knock-ons are considered, although this is the furthest point down stream and is the most expensive and least effective place to deal with them. The cheapest and most effective point to tackle knock on is before implementation starts. And the best prevention of knock-ons is thinking; carefully, critically and collectively.
Software is almost always developed under a degree of pressure. Pressure is a fact of life, be aware it can eat in to your ability to think critically (the tendency under pressure is to slip in to reactive & emotional thinking). Switching back to fix bugs created as a knock on of previous work, has a overhead cost of re-familiarising or multi-tasking, making it more expensive for you to deal with than the cost of the original implementation.
Implementing or releasing software that causes knock-ons, will cost significantly more in time (yours and/or other’s) & money, than the extra time & care taken to think it through and improve your chances of getting it right 1st time.
Read the rest of this entry »