Most often I find people introducing all forms of accidental complexity and screwing up their projects. Over the years I’ve learnt some powerful ways to kill a project/organization.
Mediocracy over Innovation and Excellence
Indifference (I don’t care) over Passion and Pride
Sloppiness over Craftsmanship and Self-Discipline
are some of the most common values. And there are many ways to encourage them:
- throwing more people at a problem
- no visible value system
- treating your employees as dispensable resources
- punishing failures and ignoring achievements
- create more and more specialized roles on a project. (Architects, Designer, Java Developers, Database Developers, UI Developers, DBAs, Manual Testers, Automation Testers, Regression Testers, Performance Testers, Graphics Designers, Web Designers, User Experience Expert, Domain Expert, Business Analyst, Subject Matter expert, System Analyst, Technical Writers, Project Managers, Program Managers, Module Leads, Tech Leads, Configuration Manager, Build Monkey, Product Owner, Scrum Master, Consultants etc)
- build all the possible frameworks which might ever be needed before building an application
- try to build a very generic solution which is infinitely scale and extensible. (does not matter if you are building a hospital management system, it needs to be generic enough that tomorrow if the business decides to get into hotel management they can use the same).
- use the greatest and latest technology buzz words, frameworks and concepts
- death by process and meetings
- failures and slippages results in more process addition and stronger & strict process adherence and evaluation
- And the list goes on…