Death March
Background Ed Yourdon has a long and storied publishing history, most notably for his books on structured design and his duology (is that a two book series?) Decline and Fall of the American Programmer and The Rise and Resurrection of the American Programmer. Of course, he's better known recently for his (somewhat apocalyptic) Y2K books. This one, of course, is a couple of years old, but like most of the books I tend to gravitate to, addresses themes that endure. In this case, the desire to do more with less. The Scenario
Death March: [A project] whose "project parameters" exceed the norm by at least 50%. [The metaphor is used to suggest] a "forced march" imposed upon relatively innocent victims, the outcome of which is usually a high casualty rate. (2)Yourdon's definition, as related above, does not necessarily imply a long-term project (although long-term death marches are worse than short-term ones), but instead describes a project with a low rate of success and a high personal impact. The project is either underfunded, underscheduled, understaffed, overfeatured, or some combination of the above. The introduction deals with the reasons DM projects happen, and why people actually agree to work on them. Having been on one myself, I can say that "ego" is one of the major reasons.
The subsequent chapters deal with various facets of the death march project, and how those facets are unique in such a project. Chapter 2, politics, has an especially interesting section on identifying what type of DM project one is on, and the chances of success for such a project. Yourdon rates projects on a four-quadrant scale: low and high likelihood of success, and low and high happiness factor (giving four combinations). Suffice to say, there are good combinations, bad combinations, and worse combinations. :-)
Chapter 3 deals with an important part of any project, but one that is hypercritical for any death march project: negotiation. Needless to say, good negotiation can turn a DM project into an almost-normal project, while bad negotiation can turn a bad situation into a nightmare. Yourdon provides some excellent tips on how to deal with upper management in these situations, which should be useful even if you've negotiated for a standard project before. Clearly, management is going to be much less forgiving in a DM situation.
Chapter 4 deals with "peopleware" issues in death march projects. As with negotiation, nothing really changes from a standard project to a DM project, but everything is emphasized. If you have poor workspace when you're on a normal deadline, consider how that workspace will affect you when you're under extreme time pressure. Overtime, and the limits of such, are another important issue Yourdon deals with.
Chapter 5 deals with an issue I've addressed many times in my reviews: process. I greatly appreciate Yourdon's take on process in a DM project. Simply put, while the Methodology Police will make any DM project worse, the lack of process will completely destroy one. Don't try to do all the paperwork while you're cramming to get the software out the door, but abandoning process will insure your failure. Things like requirements management and configuration management are all the more critical on a likely-to-fail project. If you lose only a week to a requirements change, that might be a quarter of your schedule!
Chapter 6, tools, simply reminds us that technology will not solve the human problem of programming. No CASE tool or supercompiler is going to come along to write your DM software for you. Use what you are most comfortable with, and you'll be the most productive.
The concluding chapter 7 proposes an interesting scenario: what if death march projects were to become normal? That is, how do you live and work rationally in an environment that is irrational? Suffice to say, this impacts everything about a software team, including the people who are hired and how careers advance within the company.
Throughout the book, Yourdon includes some excellent footnotes taken from correspondence with various software practitioners. These email excepts, gleaned from a questionnaire Yourdon sent out about the book's subject, give excellent insight into the nature of a death march project.
Although few people actually want to be sucked into a death march project, it will likely happen to most developers at some point in time or another. Being prepared for the occurrence might well mean your survival of such a project.
What's Bad/Good I found very little to dislike about this book. The text is concise yet thorough. The presentation is excellent. The ideas are reasonable and well-stated. I find Yourdon to be quite moderate in his position, neither justifying death marches nor railing against them overly. The advice on this book could easily be applied to any sort of project, and in fact is fairly standard in the literature, only ramped up for an intense, death march experience. Very little has changed in the industry since this book was initially published, and I doubt its timeliness will cease anytime soon. So What's In It For Me? If you write software, or work on any knowledge team, you will likely face a death march project at some point in your career. This book will help prepare you to deal with, and triumph over, such an experience. Table of Contents Preface- Introduction
- Politics
- Negotiations
- People in Death March Projects
- Processes
- Tools and Technology
- Death March as a Way of Life
Puchase this book from Fatbrain.com.
...I read "The Project Survival Guide" ... published by the evil empire... Gotta jump in here to say, Microsoft Press is one of the less unpalatable aspects of the Dark Dominion. If the breakup ever comes, I hope this imprint could be spun off into its own house.
"How many light bulbs does it take to change a person?" --BMcC-->
--
Americans are bred for stupidity.
Now, what would you think of a class whose teacher doesn't know about that book???
--
Americans are bred for stupidity.
I'll probably get flamed for saying this but I read "The Project Survival Guide" by published by the evil empire and thought it was helpfull in expressing the disasters that can happen. Maybe that was because Micro$oft get more disasters than most ;)
Another excellent book from Microsoft Press was "Writing Solid Code". Go to your local bookstore, pick it up, open it at random, and read a few pages. You'll be impressed.
We are "sinners" when it comes to writing good software and suspect there are better answers out there. The some software guru comes by with some senstational slant. Sounds good for a while, then we drift back into out bad habits.
I believe the correct version of this is "Adding more programmers to a late project is like putting petrol on a fire", which somehow seems to get the picture across better.
:)
You should read "Rapid Development" by Steve McConnell (pub. Evil bastards in Redmond). Takes what Fred Brooks was doing a step further.
Dave
I write a blog now, you should be afraid.
I think the one thing that interested me about the book was that he didn't just do the normal deathmarch (i.e. late, architected by morons and knee deep in paperwork). He also dealt with the "way ambitious, it'll never work, BANZAI!" projects that end up with everyone killed.
:)
Read it. Don't buy it. If you live near me, give me a mail and borrow my copy.
Dave
I write a blog now, you should be afraid.
Sounds like a great subject, because practically all real-world projects get into that "death march" stage. (I'm in one right now.) Unfortunately, I wish that somebody other than Yourdon had written the book. Yourdon was so completely out to lunch about Y2K that I don't see why anybody should trust his judgement any more.
I seem to recall that he actually DID move out to the desert in Arizona or somewhere like that to ride out the Y2K disaster. Looks like he crawled out from under his rock.
Worse still, most of them could quote from it!
The entire project (10 million pounds worth) was canned the Tuesday after I left.
Great Windows SFTP Server!
Not quite precise (see 29CFR541. In practice, it depends on which (tax/employment) flavor of contracting you do. If you do 1099 contracting, no, you probably won't get overtime by default, but you can certainly negotiate your own rates. I do w-2 contracting, which means my agency's income is contingent on my hourly rate, so damned if they're not going to specify time-n-a-half, and double-time -- it's their income which doubles too
-*- Any technology indistinguishable from magic is insufficiently advanced -*-
Clearly, some people below don't get it. Here's some further elucidation:
A death march is a programmer experience where management demands of the programmer(s) more than can be done with the resources (t, $, etc.) available, and the only way a deathmarch can be imposed on a programmer is if you can blackmail him.
Blackmail: One can tell (or merely strongly imply to) a salary slave that if he doesn't do the job to management standards -- regardless of how many hours it takes -- he'll be sacked. In this way, management gets lots of extra time and effort out of the employee for free. After all, your job is hostage.
If you tell a contractor (or other hourly billing employee) to get something done, you pay for all the extra time it takes.
This has an amazing radicalizing effect on employers. All of a sudden, they don't have a tremendous incentive (wage-free labor!) to pull much of the kinds of shit which turn a project into a deathmarch.
Put another way: If Joe Management tells Salary Sam that a 80hr project has to be done in a week, Salary Sam will DONATE 40hrs to the project, and Joe Management gets a 80hr project done in one week only paying for the same 40hrs. What a deal! Fast turn around and wage-free labor! Why wouldn't you run your shop this way? If you present every job as an emergency, you could save a mint!
However, if Joe Management tells Contractor Connie to do an 80hr project, Contractor Connie is going to bill every one of those 80hrs, whether they are all in one week (in which case, Joe Management will actually have to pay 110hrs (40 at regular time, 20 at time and a half, 20 at double time)) or over two weeks or over a month. Joe Management is very, very respectful about Contractor Connie's time. She's "expensive", even though her billing rate may be exactly on par with the ostensible hourly rate of the salary slaves, because she won't work for free.
This strongly encourages employers not to pull the bs which causes deathmarches. Paying time-and-a-half has an amazingly salutary effect on manager's time-management and resource-management skills.
(All this reminds me of one project I was on when the client said to me after the zillionth spec change "I'm sorry to waste your time." To which I responded cheerfully, "Oh, it's not my time any more. You bought it. After all, you're buying my time by the hour." The sudden stricken look on his face was priceless. Needless to say, that project shaped up in a hurry.)
-*- Any technology indistinguishable from magic is insufficiently advanced -*-
You make it sound like he wrote all of these books last week. They all sound ridiculously silly now, in retrospect, but not then.
When he wrote Decline, it was mostly accurate at the time.
When he wrote Rise, it was mostly accurate for its time.
Okay, I'll give you the Y2K one. That was looney.
And recall that Death March was written in 1997. Some things have changed since then (buzzwords), some things haven't (fucking idiots getting instantly promoted). Keep that in mind when you read it.
The comments he makes on triage are especially apt.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
2) Are you an actual contractor or just a high school troll with no concept of the real world?
3) Do you have a soul or understand the ethics of software deveopment at all?
4) Which foot, my left or my right, would you prefer shoved up your ass?
--
You say you want a revolution?
I don't think that NineNine implied that he wouldn't put in his share of work.
It is not a contractor's job to solve management problems. It is a contractor's job to
do the work assigned to them.
Saying you don't care is one way of protecting yourself emotionally when you find yourself
working for un-reasonable people.
If a project is behind schedule and your efforts can make a difference, then by all means work harder.
But what do you do when the project schedule was never realistic? After you give management your
opinion and they don't want to hear it, then what do you do? Do you burn yourself out?
"Death March" isn't talking about projects that are a little behind schedule.
"We can't solve problems by using the same kind of thinking we used when we created them." -- Albert Einstein
F. P. Brooks' "The Mythical Man-Month", which gave us Brooks' law: "Adding manpower to a late software project makes it later".
Opus: the Swiss army knife of audio codec
...Yourdon's web site, all about software development process, software project management and other "software issues", gives me an "Error: do you wish to debug?" message when it loads. If a guru can't get things right then what hope is there for mere mortals?
Momentary genius in a crunch situation isn't the essence of a Death March. A death march is rarely a one-person situation. My first large programming job was 5 years of Death March after Death March, until the company died. For the most part, the causes were business related, not tech related. We were under-funded, over-extended, and grew too fast. We had a salesman, and company CEO who could never say no to a client. We never had enough money to meet current payroll, so we sold future programming time for current expenses. As a new programmer, and still naive, I didn't see what was happening until it was too late.
--
And between which of my impossible deadlines am I supposed to read this? I guess we better be reading this book befoer we are ever given the deadlines or it kinda defeats the purpose
Got this little gem about 10 years ago in telco R&D lab: The Six Phases of a Project: (1) Enthusiasm (2) Disillusionment (3) Panic (4) Search for the Guilty (5) Punishment of the Innocent (6) Praise for non-participants Sorta covers all projects I've ever seen... And you know you're in a DM project when you hit phase 3!
No, I'm saying it is! That's why I'm leery about the idea of a book about optimizing overwork. I recognize the reality is that people have to deal with this stuff for no good reason (my girlfriend's boss recently announced, "If you're not miserable, you're not working hard enough.") and that's why the idea of "Managing Your Death March" bothers me.
I also have to say that while I know people use "Death March" facetiously in conversation, raising it to the level of Industry Terminology strikes me as insensitive and dismissive of the real human suffering for which the term originated. No, I'm not some PC zombie -- I was bashing them just yesterday/a& gt;.
You mean the Dilbert reality isn't our reality?
/.er)
Actually, I view this as the end product of an industry where what you're working on this week may be obsolete next week, or even in the next hour. Combine that with managers who know nothing about computers, programming, or time-management, and you get this. (You also get 50% of the Dilbert strips ever produced.)
Programmers are always going to view certain projects as "Death Marches", simply because certain projects in any corporation will always be "Death Marches". Poorly managed projects are the norm, not the exception, at least in my jaded cynical view.
And it's not just in business. Too often in college courses, assignments are given not to teach the students, but just to give the assignment. And consequently, the students don't want to spend a lot of time on the assignment because it is assigned for this reason.
This, of course, is paralleled in business, and make-work is the worst kind of "Death March", IMAO, because everyone knows that it is make-work. No one likes doing work that has no meaning. No one wants to dig post holes just to fill them in later, or ditches to bury the D.I.'s cigarette.
How are we supposed to treat this? It's really simple to say that you get rid of incompetent management, but according to the Peter Principle, "Everyone rises to his or her own level of incompetence." Or, those who can, do. Those who can't, manage. (Those who can't manage, become sales reps.) Some companies, especially those that are small enough, can have enough interaction between the levels of employees that this can be taken care of. But all too often, the major corporations cannot effectively deal with incompetent management. Hence the book. If nothing else, it gives you something to read other then Dilbert.
Kierthos
(Just another jaded
Mr. Hu is not a ninja.
Here/a& gt; is an interesting little article about the top 10 IT disasters. I don't know if each would be considered a Deathmarch, but if not they're sure close. The craziest thing is how much money each of these projects burned up without being able to accomplish anything close to the goal.
-N
Again, this is totally irrelevant to those of us that are contractors. That's the beauty behind beinh a contractor. I couldn't care less if the project was ahead of schedule, or two years behind schedule. It's not my problem. That's for the project manager to deal with. I get paid hourly, come hell or high water. That's the way all development should be done. Anyone who has been through a nightmare project should realize this.
It looks better on your job history if you jump off the train before it crashes.
I'm glad to say I've never been in a trainwreck and have always warned management what's looming long before jumping.
Loyalty counts, but after a certain point it looks more like foolishness.
I've skimmed Yourdon's book, but the one I found more useful was How to Run Successful High-Tech Project-Based Organizations by Fergus O'Connell. It's very practical and concise. Some of the tools offered don't seem very polished, but they're a good place to start. This is an expansion of a previous book of his (the title included something about "the Silver Bullet"), with 10 steps to make sure that a) you don't sign on to projects that will fail, and b) the projects you do sign on to stay on-track.
Basically, it comes down to having the balls to say "no" when you know the project is a death march/suicide mission.
Second Son
While the Trail of Tears was certainly a classic example of a deathmarch, it was by no means the first (or the most brutal). It isn't even the most recent historically.
Of course, they probably don't cover that in the comic books that they gave you to help you spot "caucasian patriarchs."
Yes, this post is extremely offtopic. Feel free to mod me clean out of existence, but it ticks me off when someone justifies their racism with something that happened hundreds of years ago. None of the whites living today had anything to do with the trail of tears, and none of the Cherokee living today are particularly worse off for it. If it makes you feel any better, my ancestors were also driven across the American West (from Illinois to Bunkerville Nevada, Oklahoma is a paradise compared to that hole in the ground). Of course, since my ancestors were white Mormons you probably couldn't care less that thousands died along the way.
Learn some history before you spout off.
I read the book, and at one point he says that if there is one thing you take away from reading the book, it should be the concept of triage, which is abandoning the hopeless so that the viable can survive. That's a good attitude to keep in mind and you should perhaps have mentioned this ''one thing to take away'' in your review.
Also, the guy moaning about the native indians being disrespected (by disrespecting slashdot readers, calling them vaginas), the author takes care at the beginning of the book to point out he doesn't mean to draw parallels with terrible suffering of others, yet the metaphor with doomed projects on which people expend their time, good humour, sanity and in some cases actual lives is too good to pass up.
-Andy
I worked at a company that wasn't a software development company, but a manufacturer of physical product. I had one project that was a promotion for a marketing department. I went through all of the steps of determing what they wanted out of the project, short-term and long-term goals, deliverables, timeline, etc. My group had the project done in about 4 weeks, during that time the Marketing sponsors of the project had been kept in the loop with beta builds, but at 'final' review by marketing, they came up with all sorts of new ideas for look and feel along with functionality, along with functions that we had never anticipated they would ever want. They refused to sign-off on the project and wanted all of their changes made, although most of them did not conform with the original specs.
This same scenario happened to a lesser degree, three more times before the project was finally sign-off (grudgingly) by the marketing sponsor.
I learned what to look for in the personality of the sponsor (both individual and group) and will never do a project for that type again. All the best planing wouldn't have saved us from that nightmare. The only saving grace would have been if my senior manager would have put his foot down after the first delivery and said the project meets the specs.
My next Slashdot post will be ready soon, but subscribers can beat the rush and see it early!
Yourdon was, sort of, the guy who wrote the scripture that taught me structured design. So I really give hime the benefit of a clue.
Death March Projects
Don't even get me started, about those high profile very political shit of real significance.Such projects are easy to detect, watch out for the following features:
There's about 3 metres (10 feet) of documentation. It's mandatory that one of the docs has a title, like Standards how to write Standards
The quality assurance team is of vital importance. After finishing your specs they go to the QA team, to settle dust for the next three weeks (despite the killer deadlines). Then you get them back with the Ts crossed and the Is dotted. You could write Macys famous cookie reciepe into the specs as long the Ts are crossed, etc (On a less cynic note, I believe QA is important, but mostly rottenly implemented).
It's mandatory for such projects to switch the implementation language from Cobol to C. That's one week before coding starts and a bunch of Cobol gurus (with no fucking clue whatsover about C) are assembled for coding.
The scapegoat element is of dire importance. Best is to import a group from Tasmania or Timbuktu. They don't necessarily need to have a clue, but senior project management needs somebody to point the finger after 75% of the timeline.
It is of vital importance to not only have one project sponsor, but three. Best if they hate each other like hell.
A clear project scope is a sure sign of success. Avoid it like the Jerry Springer Show, if you want a death march project. Ideally shift the scope once a month.
Yeah, there's a lot to be said for death march projects, and I sure as hell are gonna order Yourdons book. Should make me an expert in the field...
ich bin der musikant
mit taschenrechner in der hand
kraftwerk
The Death March saps the energy of programmers. It increases the burn-out rate. It severely decreases the quality of the code. If the project survives, it's always because one or two "hero programmers" work their asses off writing untested spaghetti code that barely pushes the project into usefulness, not too far behind the deadline.
And we wonder why the software industry has such a wonderful reputation for quality.
There is a better approach, but it involves communication, something hackers can sometimes be bad at. You just have to learn how to push back. Start off with a good estimate. Make sure management knows it's only an estimate, and may change later. Drill this fact into them as a way of life, but at the same time, be _very_ inflexible that your estimate is the very best you can come up with at the moment, you're not going to chop a week off it just to fit in with a trade show.
If you're given an unreasonable demand, tell management it's unreasonable. If you think a job is going to take six months, say it'll take six months. Don't say three, and plan on overtime. Oh, and you're not Scotty. Don't say nine months, because next project, you'll have moved on, and _I_ will be left with a manager who expects miracles.
Keep track of how the project is going. Be as accurate as possible. Use some measurable criteria, don't just go around asking "how's it going?" Recently, one of the projects I'm working on slipped due to various problems - some our fault, some beyond our control. Because we'd laid the groundwork early, and because we were keeping close track of our progress, we could go to the project manager and say "Look, we're behind schedule. The new estimated shipping date is 'x'. This project won't sustain any more programmers, so if you want to ship earlier, you'll have to take out some functionality.
Phrase it like that, and you'll be amazed how reasonable people can be.
If you tell your project manager that you're behind schedule, and his response is "Work overtime", then go out the door and keep walking. This is the reason I left my last job, and I've never been happier as a result.
The result of avoiding death marches? Programmers are happy because there are fewer unreasonable demands. Management are happy because they feel they have control over the situation, and they don't get that feeling of palpable dread every time they go back into the cubicles and find everyone looking through job ads.
Charles Miller
--
The more I learn about the Internet, the more amazed I am that it works at all.
Theres always the "Mythical Man Month" another classic book that all software developers should read. You all probably have but hey someones got to mention it, and it really is still relevant today despite being over 25 years old!
;)
I'll probably get flamed for saying this but I read "The Project Survival Guide" by published by the evil empire and thought it was helpfull in expressing the disasters that can happen. Maybe that was because Micro$oft get more disasters than most
Seriously give it a read it may come from Micro$oft but like "Code Complete" its worth a read.
... who the hell can take this guy seriously?
Let's review his authoring history ... first, he writes a book ("...decline of the American ...") that basically says that programmers in America are dead, that "software factories" in Asia/Japan will replace all the domestic programmers, that COBOL programmers are dead and COBOL is a dead language ...
Then, he recants those assertions in "Rise of the American Programmer", and claims that Java and new web platforms have "rekindled" the American software programmers ... right before the dawn of Y2K hysteria, again, he pronounces the death of COBOL again ...
Now, the Y2K book where he sounds the FUD bell, and tells everyone to run to the hills, stock up on non-perishable rations, and build that bomb shelter kit ...
Granted, this work offers a perspective of failing software projects and I even read most of it once while browsing at a local B&N and some of the anecdotes were quite amusing ... but to spend a dime on this charlatan ... bleh ... how does this guy have any credibility whatsoever?
AZspot
I just finished working on the worst project of my career. I was brought in to replace the lead developer, who had quit w/o notice (I now understand why); I never had an adequate work environment (it's embarrassing to have to ask someone to print docs for you every day); and office politics resulted in half of my design decisions being overturned with little or no justification (my favorite: "No, we should put all of the source code in one directory, because cd-ing all over the place is too confusing."). But all that I could forgive, if it weren't for the process.
Every other Friday was a "freeze-date", where QA took whatever code we had, and did a test build for the users to pound on. However, every code change (new features, bug-fixes, updating database entries) had to be documented on seven paper documents (electronic was insufficient), requiring signatures from four-to-six managers, depending on severity (emergency fixes only required four docs and three sigs). The QA group was completely enamoured of itself, and somehow had acquired the authority to reject code that wasn't documented exactly as they specified, or documented, but the signatures weren't procured by the freeze date. Toward the end, someone in QA started rejecting code because it didn't meet requirements that didn't exist, but he felt really should. There was also the problem of the QA process changing without warning, but I've complained enough.
Stay tuned for The Fluctuation of The American Programmer to round out the trilogy.
And of course, don't forget the fourth book in the trilogy: So Long and Thanks for all the Mountain Dew.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Yes, but can it tell us how to deal with the most impossible dadline of them all:
"What the hell did you do to the car?!"
Obliteracy: Words with explosions