×

Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Death March
     

Death March

by Edward Yourdon
 
The complete software developer's guide to surviving projects that are "doomed to fail."


In the course of a career, practically every software developer and manager will encounter projects with outrageous staffing, scheduling, budgeting, or feature constraints: projects that seem destined to fail. In the wake of re-engineering, such "Death

Overview

The complete software developer's guide to surviving projects that are "doomed to fail."


In the course of a career, practically every software developer and manager will encounter projects with outrageous staffing, scheduling, budgeting, or feature constraints: projects that seem destined to fail. In the wake of re-engineering, such "Death March" projects have become a way of life in many organizations.



  • Surviving projects that are "doomed to fail"!

  • Negotiating the best deal up-front.

  • Managing people and setting priorities.

  • Choosing tools and technologies.

  • When it's time to walk away.


Now, best-selling author Edward Yourdon brings his unique technology and management insights to the worst IS projects, showing how to maximize your chances of success--and, if nothing else, how to make sure your career survives them.


Yourdon walks step-by-step through the entire project life cycle, showing both managers and developers how to deal with the politics of "Death March" projects--and how to make the most of the available resources, including people, tools, processes, and technology.


Learn how to negotiate for the flexibility you need, how to set priorities that make sense--and when to simply walk away. Discover how to recognize the tell-tale signs of a "Death March" project--or an organization that breeds them.


If you've ever been asked to do the impossible, Death March is the book you've been waiting for.


Editorial Reviews

bn.com
The Barnes & Noble Review
You know how software projects are supposed to go. Careful software engineering methodologies. Cooperative clients. Proven technologies. Well-organized teams. Adequate resources. Sane schedules. Well, you can dream. The reality? All too often, projects become “death marches,” where the whole team is fighting merely to survive.

People work 14 hours a day, 7 days a week -- and no amount of Jolt Cola is enough to even the odds. These are the projects where folks struggle to keep their jobs, personal relationships, health, and sanity. Survival, says Ed Yourdon, involves five key issues: politics, people, process, project management, and tools. Yourdon’s Death March, Second Edition shows how to use all five of them to give yourself a fighting chance.

Yourdon knows more about software projects than just about anyone. In a 40-year career, he’s pioneered everything from timesharing to object-oriented methodologies. He’s trained more than a quarter million software analysts and developers. (He’s also been inducted into the Computer Hall of Fame, along with folks like Charles Babbage, Seymour Cray, James Martin, Grace Hopper, Gerald Weinberg, and Bill Gates.)

In this edition, he reflects the massive changes that have taken place since his 1997 First Edition. For instance, there’s extensive new coverage of agile methodologies: how they will -- and won’t -- help the death march project.

There’s also detailed coverage of time management, as well as a new chapter on the “dynamics” of task-related processes. We think you’ll especially like Yourdon’s coverage of “wargaming”: practicing your projects in advance, identifying your most likely obstacles, and preparing for them.

There’s also an entirely new chapter on negotiating the terms of your death march project. Yourdon knows full well that “it’s very easy to predict the outcome of negotiations over budget, schedule, and resources: You lose.” But you can lose less spectacularly: anything you can do to make your project’s conditions more tolerable will be worth the effort.

Yourdon spends an entire chapter on triage: making cold-blooded decisions about which features to sacrifice and focusing your resources on critical features that would “die” without them.

You’ll find excellent advice on getting enough great people (not easy in most places). You’ll learn how to gauge the commitment of your team and encourage it to the greatest extent possible (including a look at how money does and doesn’t motivate). Finally, Yourdon shows how to improve your team’s working conditions even if it means breaking -- no, bulldozing -- the rules.

When it comes to death march projects, there are no magic bullets. But this book is as close as it gets. Bill Camarda

Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks for Dummies, Second Edition.

Booknews
Helps software developers survive projects that are "doomed to fail" and explains how to negotiate the best deal up front, manage people, set priorities, and choose tools and technologies. Walks through the entire project life cycle, showing both managers and developers how to deal with the politics of difficult projects and how to make the most of available resources. Includes chapter summaries, questions and answers between the author and other experts in the field, and a healthy dose of humor. Yourdon is a software developer and author of 25 computer books. Annotation c. Book News, Inc., Portland, OR (booknews.com)

Product Details

ISBN-13:
9780137483105
Publisher:
Prentice Hall Professional Technical Reference
Publication date:
04/01/1997
Series:
YOURDON Press Computing Series
Pages:
227
Product dimensions:
6.21(w) x 9.24(h) x 0.87(d)

Read an Excerpt

PREFACE:

Preface

Our achievements speak for themselves. What we have to keep track of are our failures, discouragements, and doubts. We tend to forget the past difficulties, the many false starts, and the painful groping. We see our past achievements as the end result of a clean forward thrust, and our present difficulties as signs of decline and decay.

— Eric Hoffer
Reflections on the Human Condition, aph. 157 (1973)

I know . . . you're intrigued by the title of this book, and you decided to peek inside to see what it's all about. But, you're busy, busy, busy — and you don't know if you have the time to read yet another book about managing software projects. Especially if it's a book that tells you how things should be done in an ideal world where rational men and women make calm, sensible decisions about the budget, schedule, and resources for your software project.

However, you may have noticed that we don't live in an ideal world — and chances are that your project requires you to interact with people who seem anything but rational and whose decisions hardly seem calm or sensible. In other words, you're working on a death march project. The wonderful thing about the title of this book is that I don't even have to explain it. Every time I mention it to friends and colleagues, they just laugh and say, "Oh, yeah, you must be talking about my project!"

These days it's likely to be my project, and your project, and everyone else's project too — we're all working on death march projects. It seems to me that the first question you should be asking yourself(though it may not occur to you until the end of your project) is: "Why on earth did I let myself get suckered into such a project?" I'll discuss this in the first chapter, because my experience as a consultant — visiting and observing many such projects from the sidelines — is that the world would be a healthier place if more of us had the guts to stand up and say, "Hell, no! I won't join this death march!"

But, assuming there's no escape — e.g., there are no other jobs available or you've got some form of a "golden handcuff" relationship with your employer that strongly discourages you from leaving — the next question is: "How can I survive this project without ruining my health, my sanity, and my dignity?" If you're an optimist, you might even be wondering how you can conquer the obstacles before you to finish the death march project on time and under budget. But, if you've been through a number of these projects before, you probably know that the odds are stacked against you and that survival is the best you can hope for.

Having worked in the software industry for over 30 years, I find that our profession has a rather interesting reaction to death march projects. In some parts of the industry, especially in Silicon Valley, such projects are glorified as a test of fortitude, somewhat akin to climbing Mount Everest barefoot. I felt this way during my first few software projects back in the mid-1960s, and the fact that the same attitude prevails a generation later suggests to me that it's likely to be a permanent phenomenon, as long as technology continues to change as rapidly as it has been during my lifetime. Ours is not a mature industry. Every year there's a new Mount Everest to climb and a new crop of hotshot programmers who are convinced that they can run barefoot all the way to the top.

Another segment of our industry, however, regards death march projects as embarrassing failures. We've all been bombarded with statistics about the prevalence of schedule delays, budget overruns, buggy software, disgruntled users, and outright project failures. We've been told repeatedly by consultants, gurus, and methodologists that the reason for all these embarrassments is that we've been using the wrong methods (or no methods at all), or the wrong tools, or the wrong project management techniques. In other words, death march projects exist because we're stupid or incompetent.

If you talk to battle-scarred veterans in the field — the ones who have gone through a couple of death march projects and have learned that it's really not fun to climb Mount Everest barefoot — you'll often hear them say, "Hey! I'm not stupid! Of course I would like to use the right methods and tools and project management approaches. But, my senior management and my end users won't let me. The reason we have such a ridiculous schedule for this project is that it was imposed upon us on the first day, before we had the faintest idea what the project was all about!" Conclusion: Death march projects occur because senior managers are Machiavellian bastards and/or because our users are naive and unrealistic.

No doubt there's some truth to all this. We do make a lot of stupid mistakes managing our projects, our senior managers do indulge in ridiculous political games, and our end users do make unreasonable demands on us. I'm convinced that much of this is due to the rapid pace of change, combined with the usual disrespect that each new generation has for the advice offered by the previous generation. Why on earth should today's generation of Java-oriented hotshots pay any attention to the advice offered by my generation, whose formative programming experience took place 30 years ago in Autocoder and assembly language? And, how should today's generation of business users know what kind of Web-based application is reasonable to ask for, considering that their predecessors were asking for mainframe-based, on-line systems, with character-based, dumb-terminal interfaces?

Whatever the explanation for the phenomenon, I've come to a sobering conclusion: Death march projects are the norm, not the exception. I think that today's software developers and project managers are pretty smart and are eager to manage projects in a rational way; I also think that today's business users and senior managers are much more computerliterate than they were a generation ago and much less naive about what software developers can be expected to deliver with finite resources. That doesn't stop both groups of smart individuals from embarking upon yet another death march project — because the competitive business pressures demand it and the new technological opportunities invite it. The business managers may be fully aware that a rational schedule for their new system would require 12 calendar months, but they'll also tell you emphatically that unless it's available in six months, the competition will grab the entire market for their new product or service. And, the technical staff may be fully aware that new technologies like the Internet are still quite risky, but they will tell you that if the new technology does work, it will provide a strategic competitive advantage that makes it well worth the risk.

To put it another way, industry surveys from organizations such as the Standish Group, as well as statistical data from metrics gurus such as Capers Jones, Howard Rubin, Paul Strassmann, and Larry Putnam, suggest that the average project is likely to be 6 to 12 months behind schedule and 50 to 100 percent over budget. The situation varies depending on the size of the project and various other factors, but the grim reality is that you should expect that your project will operate under conditions that will almost certainly lead to some degree of death march behavior on the part of the project manager and his or her technical staff. If a project starts off with these high-risk factors, there's going to be a lot of overtime and wasted weekends, and there's likely to be a lot of emotional and physical burnout before the end of the project. Even if the project begins in a reasonably calm, rational fashion, there's a good chance that it will deteriorate into a death march project as time goes on — either because the original schedule and budget will turn out to have been highly unrealistic, or because the user will add more requirements to those upon which the original schedule and estimate was based.

So the real questions are: If you can't avoid death march projects, how can you survive them? What should you do to increase your chances of success? When should you be willing to compromise — and when should you be willing to put your job on the line and resign if you can't get your way? That is what this book is about. As you will come to realize, the solution will involve issues of peopleware, processes and methodologies, as well as tools and technologies. If you're going to manage a death march project, should you insist on the freedom to staff the team with people of your own choosing? Should you take a hard-line approach with process methodologies like the SEI-CMM model, or should you let the project team abandon all formal methodologies if they feel it will help them accomplish the job? Should you insist on adequate programming languages, workstations, and CASE tools — or is it more important to fight your political battles over the issues of people and processes?

These issues are as relevant to the manager in charge of the project, as they are to the technical staff that actually does the hard work of designing, coding, testing, and documenting the system; I'll address both groups in the chapters that follow. A word about managers and technical staff members: Some of the comments you'll see in the following chapters will imply that management is "evil" and that the project team members are innocent, downtrodden victims. Obviously, this is not the case for all projects and all companies, though the very existence of a death march project is usually the result of a conscious management decision. While the project team members may be willing participants in such projects, they usually don't propose them in the first place.

If you've decided at this point that you don't have time to read this book, here's a simple word of advice that may provide some value for the time you've invested in reading the preface: triage. If you're on a death march project, it's almost certain that you won't have the resources to provide all the functionality or "features" requested by the end user within the allotted schedule and budget. You'll have to make some cold-blooded decisions about which features to sacrifice and which ones to focus your resources on. Indeed, some of the frivolous features will never be implemented, and it's best to let them die on their own. Other features are important, but also relatively easy to implement, e.g., because they're by-products of the vendor-supplied class library or CASE tools that you're using. To use the medical metaphor of triage, these features will survive on their own. The difference between success and failure on a death march project often lies in the project team's ability to identify the critical features of the system that would "die" without an investment of substantial resources and energy.

Of course, there's more to surviving a death march project than just triage (I'll cover triage in Chapter 3). We also need to look at peopleware issues, "process" issues, and issues of tools and technology. I've tried to be as concise as possible, so you should be able to finish the whole book in a couple of hours; if nothing else, it should give you a more realistic assessment of your next death march project.

However, please don't get the impression that this is a "bible," or that it will provide "silver bullet" solutions to all of your problems. There are no guaranteed right answers in this book; what works in some companies and in some situations may not work in others. Equally important, the compromises that some managers and technical staff members are willing to make will prove unacceptable to others. I'll make what I consider to be reasonable suggestions, but it's up to you to decide which ones will work in your environment.

I also intend, on an ongoing basis, to collect advice from the field on my Web site at ...

Meet the Author


Edward Yourdon is an independent management consultant, author, and the widely-known developer of the Yourdon Method of structured system analysis, and the Coad/Yourdon Object-Oriented Analysis Methodology. He is the publisher of American Programmer Magazine, the author of The Rise and Resurrection of the American Programmer.

Customer Reviews

Average Review:

Post to your social network

     

Most Helpful Customer Reviews

See all customer reviews