Chapter 16. Go Ahead, Throw That Practice Out

WHAT DO SUCCESSFUL TEAMS DO THAT OTHERS DON'T? They constantly question their own practices and try to eliminate wasteful ones. They mercilessly refactor their processes along with their software.
Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. This French quote from Antoine de Saint Exupéry means "Perfection is attained, not when there is nothing more to add, but when there is nothing left to take away."
Why don't teams apply this principle today? Why is it that over a period of time, the value of the end product gets thinner and thinner, and the process and byproducts get bulkier and bulkier? Why do the lines of code expand, while the useful features of the software become fewer and fewer?
Key indicators that things are "broken" in the software development processes:
The software bloats up in terms of lines of code and useless features
The team building the software keeps growing in size
The process gets more and more prescriptive, dogmatic, and rigid
The team is experiencing "death by planning" meetings
The amount of documents and supporting artifacts increases exponentially
Newly discovered bugs keep pouring in from customer test groups
Team leaders have a tendency to keep adding more processes, more checks, and more audits, thinking that an increasingly ...