What are Management AntiPatterns?
(for a quick example, see the website's featured Management AntiPattern, Death by Planning)
In the modern engineering profession, more that half of the job involves human communication and resolving people issues. Management AntiPatterns identify some of the key scenarios where these issues are destructive to software processes.
Changing Role of Management
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.
DILBERT reprinted by permission of United Feature Syndicate, Inc.
In software development, however, managers still play several important roles, in the areas of:
Death March Projects
We are not the first to write about the contradictions and pitfalls in software projects. Yourdon has described the death march project as one with unreasonable commitments [Yourdon 97]. He defines any project with goals or resources that are scoped 50 percent outside of reasonable norms as a death march project. This means one or more of the following:
While some cynics contend that all software projects are death marches, we agree with many of Yourdon's points with one one significant exception. Using a quote from Scott Adams (Dilbert Cartoonist), Yourdon asserts that the root cause of death march projects is that "people are idiots." Our view is that because people are human, they share human failings. We need to recognize our failings in the light of product development in order to overcome them. The more people involved in a product's development, the more complexity this adds to the task of error identification process, role, software defects, etc.) and error rectification.
The Purpose of Management AntiPatterns
The purpose of management AntiPatterns is to build new awareness that enables you to enhance your success. While this sounds much like a slogan, we really mean it. Management AntiPatterns describe how software projects are impaired by people issues, processes, resources, and external relationships. The patterns also describe some of the most effective solutions to these problems.
We have a special compassion for developers who suffer through stressful software projects. We have an even greater compassion for software managers, the people who suffer the dire consequences of project failure. Good managers help moderate the stress levels of the entire software organization. As a consequence, many of them take on much more stress personally. In addition to the AntiPattern solutions discussed here, we recommend time-management training as an effective way for software professionals to learn how to better manage stress.
© Copyright 1999 William Brown, Raphael Malveau, Hays McCormick, Thomas
Mowbray, and Scott W. Thomas. All rights reserved.