Project Management AntiPatterns
In the modern engineering profession, more than half of the job involves human communication and resolving people issues. The management AntiPatterns identify some of the key scenarios in which these issues are destructive to software processes.
The role of the technical manager is changing. Before ubiquitous electronic mail and intranets, managers were primarily organizational communicators. Management chains conveyed information across organizational boundaries, whereas in the electronic organization, communication can occur seamlessly across space, time, and boundaries.
Traditionally, a key role of management has been to authorize exceptions to rules and procedures. But business-process reengineering (BPR) of organizational structures has changed that role significantly. Before reengineering, organizational boundaries enforced legacy business rules that were often counterproductive. In reengineered organizations, unproductive boundaries are eliminated, and people are empowered to solve problems without management intervention.
In software development, however, managers still play several important roles, in the areas of:
1. Software process management
2. Resource management (human & IT infrastructure)
3. External relationship management (e. g., customers, development partners)
The opinions of so-called industry experts often influence technology decisions. Controversial reports that criticize particular technologies frequently appear in popular media and private publications. In addition to technical responsibilities, developers spend too much time answering the concerns of managers and decision makers arising from these reports.
Striving for perfection and completeness in the analysis phase often leads to project gridlock and excessive thrashing of requirements/models. The refactored solution includes a description
of incremental, iterative development processes that defer detailed analysis until the knowledge is needed.
On some projects, developers become stuck preparing viewgraphs and documents instead of developing software. Management never obtains the proper development tools, and engineers have no alternative but to use office automation software to produce psuedo-technical diagrams and papers.
Death by Planning
Excessive planning for software projects leads to complex schedules that cause downstream problems. We explain how to plan a reasonable software development process that includes incorporating known facts and incremental replanning.
Fear of Success
An interesting phenomenon often occurs when people and projects are on the brink of success. Some people begin to worry obsessively about the kinds of things that can go wrong. Insecurities about professional competence come to the surface.
Difficult people frequently obstruct and divert the software development process. Corncobs can be dealt with by addressing their agendas through various tactical, operational, and strategic organizational actions.
Intellectual violence occurs when someone who understands a theory, technology, or buzzword uses this knowledge to intimidate others in a meeting situation.
Habitual indecisiveness and other bad management habits lead to de facto decisions and chronic development crises. We explain how to utilize rational management decision-making techniques to improve project resolution and for keeping managers on track.