Management
Devlopment Management Architecture

 

Death by Planning

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.

Dilbert2.gif (12511 bytes)

DILBERT reprinted by permission of United Feature Syndicate, Inc.

In software development, however, managers still play several important roles, in the areas of:

Software process management.
Resource management (human & IT infrastructure).
External relationship management (e.g., customers, development partners).

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:

The schedule is 50% too short.
The size of the staff is only half as large as necessary.
The budget is 50% too small.
The number of features is 50% greater than comparable successful projects.

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.

AntiPattern Synopsis Refactored Solution
Analysis Paralysis Striving for perfection and completeness in the analysis phase leads to project gridlock. Incremental, iterative development processes defer the detailed analysis until the knowledge is available.
Blowhard Jamboree Industry pundits disseminate marketing information that concerns consumers. In-house expertise is needed to separate the facts from the impressions.
Corncob Frequently, difficult people obstruct and divert the software development process. Address agendas of the individual through various tactical, operational, and strategic organizational actions.
Death By Planning Excessive pre-planning of software projects leads to postponement of development work and useless plans. Pursue iterative software development process that includes modest planning with known facts and incremental re-planning.
Email is dangerous Email is a useful, but volatile way to communicate. Avoid using email for sensitive, controversial, or confrontational messages.
Fear of Success People (software developers included) do crazy things when a project is near successful completion. When project completion is close-at-hand, a clear declaration of success is important for the project environment.
Irrational Management Habitual indecisiveness and other habits lead to de facto decisions and development emergencies. Utilize rational management decision-making techniques.
Project Mis-Management Lack of attention to the management of software development process can lead to lack of direction and other symptoms. Proper monitoring and control of software projects is necessary to successful development activities.
Smoke and Mirrors End-users mistakenly assume that a brittle demonstration is a capability that is ready for operational use. Practice of proper ethics is important to manage expectations, risk, liabilities, and consequences in computing sales and marketing situations.
The Feud Managers who engage in protracted conflicts with peers, have serious negative impacts on their staffs. Interventions using professional facilitation or Pizza Parties can resolve differences.
Throw it over the Wall Documents are produced and disseminated without any provision for technology transfer. Flexible guidelines are mistakenly interpreted as de facto policies or formal processes. Provision for the delivery and dissemination of information is essential to the planned implementation of any new processes or guidelines. Practices include instructional development, training delivery, and technology transfer kits.
Viewgraph Engineering Organizations with limited technical capabilities for system development are taken at face value because they produce substantive documents and polished briefings. Verify the development capabilities of the organization and key project staff. Utilize prototyping and mockups as part of any system development process.
 

Back Home Up Next

Copyright 1999 William Brown, Raphael Malveau, Hays McCormick, Thomas Mowbray, and Scott W. Thomas.  All rights reserved.
For problems or questions regarding this web contact [Web Master].
Last updated: December 13, 1999