Anatomy of a Runaway Project
JCWDenton recommends a piece by Bruce Webster revealing some insights into a failed multi-million-dollar IT project. "The following document is the actual text — carefully redacted — of a memo I wrote some time back after performing an IT project review; names and identifying concepts have been changed to preserve confidentiality (and protect the guilty). The project in question was a major IT re-engineering effort for a mission-critical system; at the time I did this review, the project had been going on for several years and had cost millions of dollars; it would eventually be canceled and the work products abandoned. The memo itself provides an interesting glimpse into just how a major IT project can go so far off the tracks that nothing useful is ever delivered."
Other than the fact they are delivering something...
"Let's not bicker about who killed who." Monty Python
The site is acting like it is soon to be slashdotted...
Anatomy of a runaway IT project
By bfwebster on Jun 16, 2008 in Main, Management, Project Failure
[Welcome to reddit and FARK visitors!]
The following document is the actual text -- carefully redacted -- of a memo I wrote some time back [i.e., several years ago] after performing an IT project review; names and identifying concepts have been changed to preserve confidentiality (and protect the guilty). The project in question was a major IT re-engineering effort for a mission-critical system; at the time I did this review, the project had been going on for several years and had cost millions of dollars; it would eventually be canceled and the work products abandoned. The memo itself provides an interesting glimpse into just how a major IT project can go so far off the tracks that nothing useful is ever delivered.
Note that the "ABC" consultants were a small part of the overall project team and had been brought in relatively late by "BigFirm" in an attempt to get the "FUBAR" project into production; they neither initiated nor managed the project. [NOTE for those of you who have written or done Google searches: "Bob Winsom", like all the other names in the memo as transcribed below, is a pseudonym.]
CONFIDENTIAL MEMORANDUM -- EYES ONLY
Over the past two weeks, I've conducted confidential off-site group interviews with all of the ABC consultants working on the FUBAR project. I did this at [ABC manager's] request, after a few of these consultants spoke privately about FUBAR with him. The feedback was consistent and raises serious doubts about whether the FUBAR project, as currently pursued, can ever yield a successful production deployment.
This report groups those comments into several broad areas. It is relatively unfiltered and extremely direct (no withholding). It represents the private comments of ABC consultants who have little to gain and possibly much to lose by being so blunt. These are not the whinings of purists picking nits. These are the grounded assessments of top-notch IT professionals who have among them a century or two of experience bringing projects to completion -- particularly those involving [specific IT] technology -- and who are down in the FUBAR trenches every day. QUALITY OF WORK AND EFFORT
ISSUE: Several consultants said -- and the rest pretty much agreed -- that far too many of the deliverables, artifacts, and activities (e.g., algorithms, source code, system configuration, design/architecture documents, testing, defect tracking, scheduling etc.) are substantially below any acceptable professional standards and represent a profound threat to FUBAR ever going into production.
EXAMPLES: The code base is very fragile. A lot of it is bad old code that BigFirm didn't have time to rewrite two years ago, but now is five times its original size and even worse. One consultant said he took a code listing, picked pages at random, and found problems on every page he selected. There is pervasive hard coding of what should be adjustable parameters or at least meaningfully named constants (e.g., # of [key items] hard-coded throughout with the literal value '3, a constant named 'ninety_eight'). Builds take all night. App releases don't run acceptably, if at all, in a production environment. Developers check in files that won't even compile.
RISKS: The FUBAR project keeps being touted as a world-class development team, but it is not producing world-class, or even minimally-professional, results. This already shows up in the project delays and quality issues of the releases to date. What the team is producing will not only be very difficult to support and modify, it will in all likelihood be unusable, resulting in a complete failure of the FUBAR project. PROJECT PLANNING AND EXECUTION
ISSUE: Project planning and execution is all to often poor or missing completely. Milestone dates, usually unrealistic if not impossible, are based on p
No Nyarlathotep, No Chaos
Know Nyarlathotep, Know Chaos
How about Anatomy of a slashdotted server?
Look where all this talking got us, baby.
This link hasn't been slashdoted: http://209.85.165.104/search?q=cache:vTIf3RxPVXAJ:brucefwebster.com/2008/06/16/anatomy-of-a-runaway-it-project/+anatomy+of+a+runaway+project&hl=en&client=firefox-a&gl=us&strip=1
I dunno, for it to be ironic Wine would have to have shared some of those characteristics, but it really doesn't.
In particular, the key problem with FUBAR project appeared to be Mr Bob Winsom, whoever he is, who was clearly not technical or competent but believed he was. Wine is led by Alexandre Julliard, who is every bit as competent and skilled as Linus Torvalds himself, if not moreso, the primary difference being that Linus quite a loud person and AJ is not.
Wine has taken a long time to reach 1.0 (a rather arbitrary line in the sand) because Windows is a huge codebase, which is very difficult to match exactly to the expectations of the apps running on it. At its peak Windows had over 5000 engineers working full time on it, something Wine has never had.
Come on now, COBOL isn't that bad. :P. But seriously Java isn't the language you would use for high performance but rather high portability. That says a lot about how bad the original code was.
Well, there's spam egg sausage and spam, that's not got much spam in it.
From TFA:
The FUBAR project keeps being touted as a world-class development team, but it is not producing world-class, or even minimally-professional, results. This already shows up in the project delays and quality issues of the releases to date. What the team is producing will not only be very difficult to support and modify, it will in all likelihood be unusable, resulting in a complete failure of the FUBAR project.
Sounds like Vista to me...
That "FUBAR" project is Duke Nuke Em Forever.
I am Bennett Haselton! I am Bennett Haselton!
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
I first read this as "Anatomy of Runway Project" and thought of Heidi Klum.
I am *so* disappointed with the actual article...
It must have been something you assimilated. . . .
The thing is, 5,000 engineers horsing around isn't the same thing as a 5,000 horsepower engine.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I don't see a similarity, really.
Wine is actually an example of something extremely rare - a project that looked like it was doomed from the beginning, took millenia to get to the current state, but achieved usefulness anyway. Most of the time it works and when it doesn't, most of the time it's just common bugs, not incompleteness.
This is Slashdot. Common sense is futile. You will be modded down.
Then there's that person who's "kind of a big deal" and thinks the project is "fierce". That would be the senior administrator.
Oh wait. This isn't Project Runway"?
Rewriting 14,000 lines of the project in [obscure language] as ~2000 lines of Java, and that the product ran on high end Unix servers.
I have a dedicated server and have had slashdotted postings before that haven't brought the server down. I've e-mail the support team to see what's going on. ..bruce..
Bruce F. Webster (brucefwebster.com)
I'm sure that there are other similar companies out there, but much of the language and all of the circumstances seem very familiar. Just curious, but how many other companies use the term "deliverables"? IBM, after purchasing Rational Software, decided that it was a good idea to move all projects to this process. About 2003, there was a huge stir within the company to document everything into a "process" and wasted months (nay, years?) in fluff process documentation that yielded no benefit. It is very interesting that their stock is doing so well at the moment. Lots of folks are jumping ship like mad right now . . .
StyleChief
Strange women lying in ponds distributing swords is no basis for a system of government! -M. Python
In any case, the project to which Mr Webster refers is clearly Microsoft Windows Vista.
Rich And Stupid is not so bad as Working For Rich And Stupid.
I've seen this so many times with the big consulting firms. They low ball the bids. Then they send in kids who were just handed their degrees and a manual about some technology and told to implement the technology at a client's site (basically it's the only people they can afford with the bid). It goes downhill because their lack of experience and lack of project management. Later the big consulting firm brings in a subcontractor to fix the issues (mainly because the client refuses to pay anymore and may have milestones/clauses that allow them not to pay). The subcontractor usually is smaller, has more expertise, but costs much more. But they are given a huge and seemingly impossible task. Sometimes they can rescue the project. Sometimes they can't.
Well, there's spam egg sausage and spam, that's not got much spam in it.
approach to project development. "If we hire twice as many programmers, we'll finish it in half the time!"
I ran into this career driven mid-level manager problem-solving approach regularly in the 90's before many of them vaporized (remember DEC?) Time has not changed human nature or incompetent managers.
The PM's of these projects tended to be big on contrived dog-and-pony shows too as I recall.
"ISSUE: There isn't enough intellectual honesty within the FUBAR project. Managers reject or explain away bad news and real problems, looking instead for people who will tell them what they want to hear. "
This has easily been the #1 reason I have personally witnessed for project failure. I am in the process of witnessing it right now, even, with what seems like a relatively simple project. The suits and supervisors along the way are either not responding to requests for information, or change their request for features.
Bearded Dragon
But seriously Java isn't the language you would use for high performance but rather high portability
That old myth? That hasn't been true for many years now, for server side code anyway (which this was describing). Modern JIT compilers make java as fast, and sometimes faster (since you are optimizing code as it runs and not statically beforehand).
But no language will help you if you lack discipline or the ability to code (both of which seemed lacking in this case).
"There is more worth loving than we have strength to love." - Brian Jay Stanley
In short, a lack of senior staff means a lack of attention, coaching and oversight. If you have too many juniors, your project is going to take a lot longer to correct "newbie" mistakes, and these mistakes are caught later after they're made as well. Either allow for this extra time, or end up with crappy code.
Sadly, the idea has taken hold with upper management that IT is simply a commodity, and as a result most IT shops have become piss-poor at identifying and nurturing talent. They expect junior developer to become "mediors" automatically after a few years, where in practice they have picked up a ton of bad habits on which they've never been corrected. And I expect the shortage to increase in the future... more and more professional IT staff are starting to look for ways out.
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
I wonder if their server is the failed project...
Circumcision is child abuse.
Just curious, but how many other companies use the term "deliverables"?
All of them. Phrases like that are highly viral and travel through the world management population in under a month.
The article was so generic, it could have described projects I've seen from companies with under a hundred people to a cast of thousands.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
From large companies to small, it's the single biggest problem they all have. Decisions makers don't want to hear the truth, no matter how loudly they protest otherwise. Anyone with intellectual honesty that doesn't have a previously won huge level of trust from a decision-maker is almost invariably thought to be lying. They all want to have their cake and eat it too, and they will throw money at anyone that tells them they can. Even after getting burned by the consequences of their decisions, less than half (in my experience) bother to try and learn from the failure. Most of them blame the honest person (if they did nothing and as a result failure happened) or latch on to the next person willing and able to lie even more convincingly than the last guy.
It is unfortunately common to knee-jerk a development problem by adding more management.
A project manager who doesn't actually have the skills it takes to make a project successful will be as bad or worse than no project manager at all. Hiring/retaining more of them will just multiply the problem.
It is very difficult to interview for and find good project managers. The talent pool is just teeming with people who are not skilled developers, and would to love to have a job that is, essentially, just telling other developers to do their jobs. There is tremendous incentive for people who are not competent to be a project manager (or much of anything else, for that matter) to fight tooth and nail for PM jobs. When you hire such a person, your project usually fails, or if it does succeed it is despite, and not because of, the best efforts of your project manager.
Another problem: the best project manager in the world won't get you results if you disempower him or her. I have seen it happen often that the executives see a project slipping and shift into micromanagement mode. At that point, the project manager just becomes a mouthpiece, and the company has robbed itself of the value of their paid talent. If you can't trust your project manager to tell you when a goal cannot be achieved, or when more time must be allocated to some task that doesn't have obvious functional benefits, or that a deadline must be extended, then you have either hired a lemon or you are involving yourself too much in his job. In either case, your project will suffer because of it.
Ok, I will stop ranting now. The bottom line is...more management doesn't solve problems. The right amount of *competent* and *properly empowered* management does.
I think we have too many already. The real problem is either that they don't say what needs to be said because they don't want to make waves (they'll twiddle with their Project schedule and pretend that all will be alright) or that upper management simply won't take no for an answer (and will tell them to twiddle with their Project schedule to make it alright).
I'm a bit stunned myself. The article had been picked up by reddit and FARK prior to Slashdot, but even so, I've had another post on my blog previously linked to by Slashdot without server problems. I've already contacted my hosting company to find out what's going on.
Bruce F. Webster (brucefwebster.com)
It all comes down to the fact that somehow the common business sense that people have in every other area seems to go out the window while they are thinking about IT.
CS: It is all sink or swim...oh and did I mention there are sharks in that water?
For all the crap output may equal that of 250 score horses.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
says the guy coincidentally sharing initials with "bob winsom"
for a minute there, i lost myself...
Check out the story here.
A nice little 3.5 year IT boondoggle that cost a cool $70 million and cost one board member of 19 years his job. It all just came to light last month. It made some pretty big headlines around these parts as well.
On a project a few years ago (your typical Fortune 500 $LARGE_COMPANY here), our PM was forced to declare that a large release that had taken 6 months to get to "it's kinda working" was "complete" and shipped to UAT even though system testing was incomplete and all we did was give the end users a pile of steaming shit. But the director of the group got to "meet" his deadline, and therefore get his much-desire performance rating.
Of course fixing bugs once the app is in UAT is four times as difficult as in the integration environment, with the corresponding lag in defect correction time. So UAT went on and on and on... until it was supposed to be the final release date. Said users were hysterical and pissed off, and said director was out of his fucking mind trying to come up with inventive ways to ship said steaming pile of shit to production while blaming someone else for the smell of said pile.
His first executive action was to fire the PM and have him escorted out of the building (he was a contractor like me). His second action was to request that the Offshore Solutions team add four more developers to the already swelled-beyond-comprehension development team in India. You know, throwing bodies at the problem. The next thing was to go to his VP and claim that he had been misled by the PM, who by this time was checking out the classifieds at home and therefore unavailable for comment.
In the end, we all went through the usual death march and shipped the thing about three weeks late. The director got his rating (not his fault you understand) and the users had to deal with the remnants of the steaming pile of shit. I get paid either way so no skin off my ass.
Projects are late (or they fail) because the people who are supposed to be in charge of delivering them have no fucking clue as to how software is developed. Fix that problem, and you'll ship all the software you want on time and under budget.
I'm fortunate to be in a project right now where the guy in charge is a former developer who doesn't require a bonus to pay his mortgage, and all the two PMs do is move little bars on an MS Project file while mercifully leaving me and my team alone to actually write the software. We've released two major versions of the app so far the past two years and are on track to deliver the third version sometime this October. On time and under budget. The secret? Iterative development (SCRUM-like) with heavy user involvement in feature sprints. No waterfall bullshit for me anymore, thank $DEITY.
Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
Not to suprising. Older Languges didn't have such a rich default library set.
Obj.sort() (using a fast sorting algorithm) vs. a quick to program bubble sort on the object can obtain performance gains with little extra code. You can write a Web Server in 50 lines in Python vs. 1000 lines in C and still missing functionality in C. That is just because Python has a web server object that intern executes the extra code needed it to run. The same from converting say from ADA to Java. You have a richer languge thus you code less.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Like I always say: Winsom, lose some.
stuff |
Highly-paid consultants with good reputations can be as honest as they want. They've earned the right. They are not employees and can go find a client who And frankly, if money is being poured into a sinking ship, an ethical consultant has an obligation to spell out that a. the ship is sinking and b. you don't understand the details so I have to give it to you in summary form.
I'm not sure how carefully the manager you quote read my post, since some of your 'quotes' are wrong (as well as the apparent assumptions as to my own role), and some of the manager's responses are non sequiturs.
..bruce..
I was brought in from the outside specifically to conduct a review and summarize my findings in a memo for one specific person in upper management at BigFirm who was above the FUBAR project and who had grave concerns about it, given that at that point the project was years late and millions over budget, and which showed few signs of making it into production anytime soon.
I was not one of the "coders" -- I was not even a project member -- and I certainly wasn't a "new kid out of college"; I graduated with BSCS in 1978; my first programming languages were 360 assembly, PL/1 and FORTRAN, and by the time I conducted this review, I had personally done professional software engineering (including project management, architecture, and consulting) in a wide range of operating systems and programming languages over quite a few fifferent industries.
The ABC consultants, to a person, were likewise very senior software engineers with many years of hands-on coding experience and well-established track records of successful project delivery.
I'm surprised that an IT manager doesn't know what "very fragile code" means. "Fragile code" means that efforts to modify one section of code -- to fix a bug, add functionality, or improve performance -- frequently results in the code "breaking" elsewhere, usually in multiple places. The opposite of "fragile code" is "robust code".
The memo states clearly that previous architects had left (not "project managers"); the problem was that the FUBAR project manager (with no technical background) kept driving them off and, as the memo notes, fancied himself a software architect.
The syndrome of "kingdom building" through increased head-count has long been a major cause of IT project failure; in this case, there were far too many programmers than the problem actually required.
As for my "amateur" status, I'll simply point here; is the manager willing to do the same? (Sorry about the server problems; I'm raising hell with my hosting service, given what I pay each month for a dedicated server.)
Bruce F. Webster (brucefwebster.com)
We've all gotten burned on projects that got out of hand, but I often wonder why it happens, over and over. Hubris?
I've seen projects where the requirements document was 1000 pages and growing exponentially. For an email server. I remember one project where it didn't matter if code even compiled: we had to ship what we had, because we couldn't delay any further. I made the mistake of expressing my views to the wrong people on that one, and was told in no uncertain terms to shut up if I wanted to continue working there.
I've seen more than one project fall flat on its face because the original requirements were wrong, like trying to develop PC software for an industry that was 100% Mac.
...laura
. It reeks of "amateur", and would be ripped apart by just about any manager it was given to.
I have a high degree of confidence that many managers could probably think they were ripping it apart, but my guess is your average slashdot poster (let alone your average decent engineer) could probably respond competently to each charge, were said manager competent enough to have the responses you gave be real commentary rather than contrary rhetoric.
Manager: Please outline the facets of this project that can be eliminated.
"This is part of the problem. The project has been so poorly organized and tracked that no one has a current of outline it. It's possible that we *can't* outline it."
Manager: What makes this coder more qualified than the coder who wrote it?
"As you'll see I mentioned, the developer reviewing the code was aware of widely-known good practices in development -- such as the use of well-named constants, rather than 'magic numbers.' The coder writing the code was either unaware of these or unwilling to apply them, which quite likely means he's less qualified."
Manager: What the fuck does [fragile] mean?
"It means that adding new features without breaking existing ones is likely to be difficult. The poor organization makes it easy to accidentally step on something important to who-knows-how-many other places in the code. It also means the application doesn't have broad ability to handle the set of all possible inputs robustly -- there are enough cases that aren't anticipated in the code (or may not be anticipated -- it's hard to tell with the poor oranization) that it will likely crash regularly."
Manager: This guy is one of those "I can do it better using the new language i learned in college" kids
*rolls eyes* -- the idea that a manager who'd say this is common is a complete flight of fancy. Where the hell are you going to find a manager in corporate America who is hostile to Java and sees it as something "new" that's the province of green college kids?
Manager: This guy is obviously in over his head and fears his job.
"We're all in over our heads here, thanks to the deepening pool of technical debt previous decisions have left us with, and as a competent engineer who's quite capable of finding employment elsewhere on a project that may not have these problems, I'm far more afraid for the company and the customer than I am for myself."
Manager: And you're certainly not going to ruin it for me. Don't EVER use the phrase "political reasons" in a professional document.
"You don't have to pass this on. I'm just telling you the truth. If you'd like my help in getting the politics right, I'm happy to give it, but even an engineer understands organizational politics exist, and it's no use pretending they don't."
Tweet, tweet.
That's the first time in 1,640 posts you've said "Winsom, lose some", you big fibber.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
The credibility of the memo lies in the fact that the project ultimately did get canceled. Your example manager here is handling criticism by questioning the credentials and credibility of the folks who were more than likely correct in their assessments of the project, which makes him look like he's just puffing out his chest and mindlessly defending a doomed project for fear of losing his own job - instead of, well, actually addressing the criticism.
No doubt Winsom is an idiot, but getting rid of him would be about as effective as capital punishment is in eliminating murder (i.e., not very). The problem appears to be systemic and pervasive, like poverty or police brutality.
How can this problem be solved? I have few ideas and little hope. Gall's book The Systems Bible presents some interesting insights.
The one ray of hope currently is FLOSS, whose projects are often free of this particular sort of nonsense. The big problem, of course, is that there seems to be no good, general way to compensate good people for working on these projects...
"Not an actor, but he plays one on TV."
Of course, a lot of people don't really want to be effective in the real world, not as much as they want other things. They want to feel good. They want everybody to like them. They want a quiet life. They want to keep collecting their paycheck. So they stick their heads in the sand and hum the national anthem.
Not that those are bad things to want. But you can't get them just by always picking them in the short term. Easy years require hard moments.
I read this with interest as I have been involved in large scale IT development projects for various corporations for the better part of 15 years. This memo makes it appear as if the problems in the project were execution related: bad management, poor quality control, bad architecture, performance problems, etc.
In my experience, it is actually not that common for an experienced team to fail largely on execution problems. Rather, as I like to say (call it Renn's Law if you'd like): "Most failed corporate software projects failed before the kickoff meeting". Usually the signs of failure were there all along, before the project even officially got started.
Here are some of the key things I've seen lead to problems, most of which are not directly related to the core development (design, build, and test) of the project:
- Lack of an identified executive sponsor
- Failure to identify a limited subset of people who are empowered and responsible for articulating the business requirements of the system
- Lack of clarity as to the actual goals to be achieved or the underlying problem to be solved.
- No shared vision of what a successful outcome would look like among the various stakeholders
- Project positioned as an IT-centric solution to a business-centric problem without a corresponding business strategy, process, and change management plan in place.
- Insufficient resources (time, money, people) allocated to the project
- Lack of qualified staff in key roles (data architect, functional lead, etc)
- Poor governance and scope control
That 4k in java isn't 4k in freshman comp sci java. It's going to be leveraging widely used libraries that have millions of SLOC and a wide deployment base. Reading between the lines, I would be surprised if the tiger team didn't use the same tools as countless midsized projects that are maintained by teams of a few dozen at most. You can do a phenomenal amount in little code if you use the right frameworks and some decent xml configuration files.
In fact my coworkers and I have noticed an extremely frustrating trend in our side projects. We apply tools we learn at our day job (in part to understand them better), and our side project SLOC shrinks. A lot. Much of the 'interesting bits' disappears. Suddenly a 12k SLOC side project that took some serious effort to maintain is just a 4k SLOC side project, more functional, and easier to extend. It's a good thing -- don't get me wrong -- but it can be a real ego buster.
Portability isn't a big driver on server-side projects. It's nice, but only really comes into play when you deploy to new hardware or OS version. The larger the project, the longer the deployment cycle. (Think enterprise linux.) For something with a budget in hundreds of millions of dollars you'll have a deployment cycle that lasts at least 5 years.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
I have a theory about the missing senior managers with useful skills: My father talked about his teaching debate in high school in the mid '60 to late '70 in central California (then moving on to a community college), where he said that many of the most socially active "lets change the world for the better" students he ever taught went to Vietnam and never really came back, in one way or another. Those people would now be in their 60s, ten years older than I, and their influence would be reaching their peak. Those people are the leaders and mentors that I feel have been missing from the last third of the 20th century.
If my server ever recovers, go look at this earlier post defining and discussing the "thermocline of truth". ..bruce..
Bruce F. Webster (brucefwebster.com)
Actually, there are quite a few books that discuss IT project failure (including runaways); here's a recommended reading list that I keep on one of my web sites (though you'll have to wait until the server recovers). ..bruce..
Bruce F. Webster (brucefwebster.com)
*Always* put salt in your internet!
It is pitch black. You are likely to be eaten by a grue.
Sys Admins and Dev Gurus are not Project managers. But they get put in the position of being one constantly because upper management doesn't know the difference.
No, they get put into the position because they're inevitably the poor fuckers who have to try and pick up the pieces when the shit hits the fan - usually because they're the only ones who have the slightest inkling of how everything actually fits together.
Most sysadmins I have met have a fairly limited grasp on the actual business aspects of running a company. However, they have always had a better understanding of that, than any "manager" has of the technical aspects of the operation, that I have ever known.
Basically, IME, it's far more productive to try and teach a technical person management skills, than it is to teach a manager technical skills (or even concepts).
Yes, and unfortunately, the typical bureaucracy enforces this thermocline, brutally. People get fired, not for wasting years and tens of millions of dollars through incompetence, nor for hiding the truth, nor for outright lying about the true status of a failing project, but rather more often, for attempting to fix problems by trying to go around a roadblock that is preventing the truth from going up the corporate ladder. When they are not outright fired, they are certainly blacklisted, and get to watch, as their own career stagnates, and the careers of those erecting the roadblocks advances. As a consultant, I've had the opportunity to see this happen to highly competent, dedicated, organizationally loyal people who should have been given million dollar bonuses, and promoted to Director, or CIO. It's quite sad, but I could never recommend to anyone to be the voice of reason on a project thats failing like this, unless they are prepared to lose their job.
If you mod me down, I shall become more powerful than you could possibly imagine.
The article points out that project management didn't do grass roots valuation or [pause] management. I would bet that the PM for this project has a PMP cert. As a former tech lead/architect for a death march type project, I can honestly say sometimes people in roles such as mine do have the expertise to advise management of risk, complexity, and time/cost. The biggest obstacle is the mind-set and experience of the PM and their bosses. For example, the last project, I mentioned certain things were high risk and/or would take significant time due to complexity and "unknown dangers." The question put to me was "Can we solve this by throwing more people at the problem without changing the time-line [that was picked out of the air]?" My response was, "Its the mythical man month." The blank stare I had in response forced me to explain the concept of overhead logistics, ramp up time, and cost/time trade-off features and risk. [The unfortunate side effect of me educating the PM about her job made me a threat and obstacle to be removed.]
You can have a kick azz senior team and still fail.
/\/\icro/\/\uncher
I've seen screw-ups totaling hundreds of millions (that we knew about). Possibly billions if some forensic accountants could be sent in. I've worked on the fixes for a few of these. Some so simple that it took half a dozen people about 6 months to successfully build a replacement.
So, where does the money go? I mean $250 million USD on a f*ck-up? The perpetrators aren't driving Ferraris and Bentleys, so I doubt it was embezzled. In truth, project FUBAR was never actually shut down. It still exists as a server with some documents. This allows the company to depreciate the development costs and not have to take a write-down that Wall Street would notice. There's another reason the project, while brain-dead, has its corpse propped up at board of directors meetings:
This outfit is, among other things, a government contractor. They just lost a big one to a competitor, which they are appealing. Part of the reason for the loss is that gov't inspectors, having become aware of the true scope of woe, selected the better alternative. One (rare) example of the gov't actually looking out for our pocketbooks. But in the end, I suspect they (we, the taxpayers, that is) are destined to lose the appeal, since the project is not officially dead and can't be used as the basis of a negative performance report upon which the bid decision was based.
Have gnu, will travel.
I suspect this has more to do with dependencies than loss of features. It's easy to take an ancient project and lose lots and lots of code, usually because the old one does everything by itself and the new one brings in externally maintained libraries and frameworks. NIH doesn't even apply--if the project is old enough, Inventing it Here may have been the only option.
The rest of the difference can be made up by better coders and better coding techniques and technologies. Most rewrites produce better, smaller, faster code, this is just an extreme example.
It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
If you RTFA carefully you would have noticed that that memo was an confidential memo from Bruce('s company) to the heads of "BigFirm" about "FUBAR Project" and specifically conversations with "ABC Company". So yes, Bruce's company was involved, but as an outside analyst to assess the truth about the status of the project. They were not the ABC company brought in to salvage the "Fubar Project".
Good try though. And really, this could apply to almost any large failed IT project. There are so many that you'd have a tough time figuring out exactly which one it was.
The fact that he has coined the (totally awesome) phrase "Thermalcline of Truth" to describe the problem is evidence of how pervasive it is.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
This has easily been the #1 reason I have personally witnessed for project failure. I am in the process of witnessing it right now, even, with what seems like a relatively simple project. The suits and supervisors along the way are either not responding to requests for information, or change their request for features.
That's because if they do so, they then become potentially responsible for any fallout. Which is what's know as a "career limiting event".
This is the beauty of moving up the management tree. Officially, your responsibility (and hence "value") increases, but in reality it actually decreases. You are only "responsible" insofar as knowing who to point the finger at.
TFA describes a project in complete disarray and a failure on all level. Despite this level of failure, TFA is pretty much anecdotal. TFA has no hard metrics or any other solid data to support the anecdotal conclusions. It is very possible it is accurate, but if a project is a complete mess, it should be easy to get good solid metrics that document this.
The fact that the author of TFA has none of this makes his assessment not only worthless, but places his work in the same category as the mess he was assessing.
If you need to slaughter a project, you need to:
a. Have a measurable set of goals for the project
b. Measure the current status against the goals
c. conclude status.
It would suffice to give a list of the different functions with number of showstopping defects for each function together with a description of the most glaring defect in each of the functions. Just pulled out of the bug tracking system verbatim would do. Example of glaring defect: "When the user push the OK button on screen XYZ, the server crashes, and all the data is lost. There is no workaround"
don't cut it off www.mgmbill.org
Gary:
:-) I happen to be writing a book (Pitfalls of Modern Software Engineering), which is a greatly expanded version of a book I previously wrote and published (Pitfalls of Object-Oriented Development, M&T Books, 1995). I'm posting the revised pitfalls, a few at a time, on another website (see here). Many of these pitfalls are clearly political ("Picking the wrong horse") and are labeled as such. ..bruce..
Yep. What you said.
Bruce F. Webster (brucefwebster.com)
damn_registrars said:
:P
"Anyone else find it ironic that this story about runaway development projects came right after the story on the release of wine 1.0?"
I wouldn't consider Wine itself to be a runaway project; actually, the runaway project is the system it's trying to be compatible with.
You gotta give the Wine guys props. They've pulled a proverbial rabbit out of a hat.
Codifex Maximus ~ In search of... a shorter sig.
Yeah, from what I read the FBI project blew through $150 million or more, only to be told that there wasn't anything useful to be gained out the work that had been done.
..bruce..
Hadn't heard about McDonalds; I'll have to go digging for information on that one.
Bruce F. Webster (brucefwebster.com)
No, it's incompleteness as well ;-) Lack of support for some recent popular subsystems like .NET 2.0, a lot of stuff produced with VC++8, etc. But older Windows crapware works surprisingly well on it.
With XP sticking around for years, Windows has become less of a moving target as well.
http://rocknerd.co.uk