Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
IT

95% of IT Projects Not Delivered On Time 654

An anonymous reader wrote " The Globe and Mail reports that 'A new report conducted by market research firm Info-Tech Research Group says 95 per cent of information technology groups are not delivering some number of projects on time or to the full satisfaction of the business executive.' The article goes on to discuss the reasons for this pervasive (perceived?) problem. The article mentions Info-Tech's reasons: unrealistic time frames, staff shortages, and poorly defined project scope. However, the article's author lays the blame with vendors."
This discussion has been archived. No new comments can be posted.

95% of IT Projects Not Delivered On Time

Comments Filter:
  • Nah (Score:5, Insightful)

    by suso ( 153703 ) * on Thursday March 31, 2005 @11:57AM (#12100354) Journal
    I'd say its actually closer to 100%.

    Actually, it really depends on who they would ask in a company. Whether it be

    the business executive (probably a higher estimate)
    the IT middle manager (lower estimate)
    the IT worker (who would think that they are on time)
    or the customer (who sometimes have unrealistic expectations)
  • by BWJones ( 18351 ) * on Thursday March 31, 2005 @11:57AM (#12100358) Homepage Journal
    95 per cent of information technology groups "are not delivering some number of projects on time or to the full satisfaction of the business executive."

    Could it be that marketing is always overselling the product? Seriously. I cannot count how many times I have heard (in the past now I am in science), "oh, yeah....well, you need to include feature X because we told customer Y we already had that feature". This is often followed up by the engineer muttering under his/her breath "Dumb jock. :-) I say that joking, but have seen discussions like this almost erupt into fist fights as the sales staff makes promises to customers that are either 1) blatantly false or 2) concepts under development and are nowhere near "production".

    So, this is another example of why pre-announcing products is a baaaaad idea. Treat your customers with honesty and announce the product when it is ready and not before. Again, this is why vaporware only serves to irritate your customers and build expectation of a product that is not always delivered.

    I also believe the fundamental problem is that managers these days (in many cases) no longer come from the ranks and are not engineers. So, they do not always understand what is involved in 1) building the codebase 2) testing code base 3) proper interface design 4) end user testing 5) documentation 6) making sure it does not suck.

    The last point is where most executives seem to get hung up. More often than not in most companies, executives really have no idea of what makes good code and all too often, what makes a good product. Come on now, a good portion of executives can barely use their personal computers to answer email or browse the Internet. When you have companies run by executives and managers that have come up through the ranks, you are much more likely to get quality which often is much more important than meeting an arbitrary deadline.

  • This just in. (Score:5, Insightful)

    by Anonymous Coward on Thursday March 31, 2005 @11:57AM (#12100359)
    95% of the time, the business changes their mind about the project and/or doesn't know what they want, anyway.
  • Merge it. (Score:5, Insightful)

    by mfh ( 56 ) on Thursday March 31, 2005 @11:59AM (#12100382) Homepage Journal
    The Globe and Mail reports that 'A new report conducted by market research firm Info-Tech Research Group says 95 per cent of information technology groups are not delivering some number of projects on time or to the full satisfaction of the business executive.

    The answer to this problem is change, and isn't change always the answer?

    Consider if you will for a brief moment the vast difference between the average executive and the average programmer. Programmers are generally broad-picture thinkers who solve largely complicated problems that regular folks can't possibly wrap their heads around. The executive runs on a schedule and uses reports and correspondance to understand what is going on, because business folks have to judge their employees and projects.

    These two groups are forced to work together, and we expect good results? We need someone to interpret between these two groups! The HR department can't regularly serve in the interpretive capacity, but perhaps they should.

    Managers generally don't want to give the programmers the whole picture, because management often believes that they are superior in rank to programmers, placing the programmers on a need-to-know-basis, only. Huge mistake.

    What programmers and managers need to do is realisticly approach their solutions together. They need to be honest with each other. They need to share each other's thoughts and feelings about the subject matter. It's not happening today.

    The programmers need to come to the table and care about their customers a little more. The managers need to come to the table and care about their programmers a little more. The customers need to be more specific and realistic about how far their dollar can go. Then deadlines will be met and promises kept and successful solutions provided to customers.

    I encourage a no-holds-barred approach to project management. The superior product is developed using the Agile [agilemanifesto.org] method.
  • In other news (Score:5, Insightful)

    by kevin_conaway ( 585204 ) on Thursday March 31, 2005 @11:59AM (#12100387) Homepage
    A study shows that 95% of clients don't know what they want.
  • by mfender9 ( 725994 ) on Thursday March 31, 2005 @12:01PM (#12100411)
    TFA does not say "95% of IT projects not delivered on time". It says "95 per cent of information technology groups are not delivering some number of projects on time..." Big difference.
  • Re:Nah (Score:5, Insightful)

    by bitchell ( 159219 ) on Thursday March 31, 2005 @12:01PM (#12100415) Journal
    In my experience when planning projects there is never ever enough testing and contigancy time.

    Managers just seem to cut it out of plans because clients don't like paying for it.
  • by Anonymous Coward on Thursday March 31, 2005 @12:02PM (#12100423)
    Road Construction Projects? or Pentagon Contracts?
  • This is why (Score:5, Insightful)

    by nagora ( 177841 ) on Thursday March 31, 2005 @12:03PM (#12100440)

    Us: We can do that for $x in 12 months.

    Customer: But Joe Bloggs says his company can do it for $x/2 in 3 weeks!

    Us: That's simply not possible.

    Customer: Well, for that sort of savings we're going to give them a try.

    11 months later and $x^2 later they're still waiting for Bloggs to finish but by then we're on the dole and Bloggs is laughing all the way to the bank.

    TWW

  • by TechnoWeenie ( 250857 ) on Thursday March 31, 2005 @12:04PM (#12100466)
    Then they are either padding their project plans way too much, or are really not trying to do anything new.
  • by Therlin ( 126989 ) on Thursday March 31, 2005 @12:05PM (#12100471)
    It doesn't matter how much time I spend in the pre-planning stage, meeting with users, coming up with all the needs and feature requests. Once the project is in progress, and specially as you start demoing it, the end users will start adding requirements that had never come up before no matter how detailed you tried to be. And of course all the "wouldn't it be nice if"s.

    Sometimes some of the new requirements or wants involve going back and rewriting a good chunk of code, or changing the DB design, etc, no matter how carefully you wrote your code and flexible the code may be.
  • by cOdEgUru ( 181536 ) * on Thursday March 31, 2005 @12:09PM (#12100535) Homepage Journal
    First of all, the report focuses with Candian firms.

    Second of all, rather than delving in to the varied array of processes and methodologies prevalent in the software development arena and reviewing advantages and disadvantages of each, the report goes in lenght talking about Vendor issues. I dont have a clue why.

    Right from the Waterfall approach, or having no approach as well, we have RUP, XP and a mix of each playing itself out for the last few years. In my past projects, I have implemented each or a customized version of each and has varying levels of success. The biggest issue that I have so far seen is the lack of adequate knowledge in each methodology that someone who starts implementing any approach, either loses interest and resorts to a quick fix at which point the process starts to wither and die. More over, to some of the developers I have worked with, its not process, its documentation. CRC Cards is not a design tool, its documentation, its impediment to writing code. Much of it has to do with no academic background in best design or coding practices. They have heard of design patterns, and probably has used MVC to death, but when it comes to designing a system, its back to "lets start writing code rightaway and maybe the design will flesh out over time". The system gets built, but it suffers from Simplicity, it has very low quality.

    I have seen a lot of firms talk about having a process, they love throwing RUP in the air, but nary a project which has successfully or much less adequately implemented any sort of process. They talk about Use Cases/ User Stories, but when the project gets kickstarted, they resort to SRS documents or less. And then they forget to adequately keep them up to date. Many even have Requirements management tools like Requisite Pro which hasnt seen daylight yet. Fuck the tools, atleast have a damn process. Many dont even define success at the outset of a project, no acceptance criteria either. They end up in a deathly downward spiral towards absolute failure dragging their clients with it.

    I love XP, I love it for several reasons. Having a Client involved during all phases of the project, much less have a day to day interaction with the team is a phenomenal idea. I have had great success with this, but it becomes a bit of a problem, when the project is outsourced. No amount of communication (documents/mail/phone) can stand up to having a person next to you to tell you whats important and whats not. I love pair programming even though I could never fully implement it, when the client doesnt believe in it. I have tried pair design and have had great success. I have a few developers reviewing Test First Design and this has limited success as well. Limited, since the developers rebel, having low discipline and patience to write tests as they code. They are tutored and trained in the ways of "lets code first, maybe manually test it later and let the QA worry about it".

    I would like to hear about other's experiences as well.
  • or (Score:5, Insightful)

    by FidelCatsro ( 861135 ) <fidelcatsro&gmail,com> on Thursday March 31, 2005 @12:11PM (#12100547) Journal
    Could be seen as 95% of IT projects not given enough time for completion by marketing
  • by MisanthropicProgram ( 763655 ) on Thursday March 31, 2005 @12:12PM (#12100570)
    This reminds me of my PM class I had.
    In a nutshell, the instructor said that the requirements, then the specs, then design, ..., then a project plan, then an end date is to be derived.
    The guy next to me who was a PM just shook his head and said, "No, the end date comes first and then we figure out how to get it done." I have had the same experience in my decade+ of experience.
    The instructor said that's why most projects fail.
  • Re:Nah (Score:4, Insightful)

    by Nos. ( 179609 ) <andrewNO@SPAMthekerrs.ca> on Thursday March 31, 2005 @12:13PM (#12100576) Homepage
    As a developer I would agree that this is where most of the time lies. Allowing 1 week for testing andf fixes for an application with > 500,000 lines of code and interoperations with 4 or 5 different systems is not adequate. If the project took 3 or 4 months (at least) to build, don't expect it to be launch read a week later.
  • Re:Merge it. (Score:5, Insightful)

    by millwall ( 622730 ) on Thursday March 31, 2005 @12:13PM (#12100582)
    Programmers are generally broad-picture thinkers who solve largely complicated problems that regular folks can't possibly wrap their heads around.

    Please...

    I know it's Slashdot I'm reading, but I didn't know readers had that high thoughts about themselves.
  • by dfn5 ( 524972 ) on Thursday March 31, 2005 @12:14PM (#12100599) Journal
    95% of the time, the business changes their mind about the project and/or doesn't know what they want, anyway.

    I suppose this was modded Funny because it is true. I have not seen a project yet that hasn't resulted from project bloat. As the project progresses new deliverables are tacked onto the end. One can try and have the project plan set in stone at the beginning, but it never works because all the new stuff is "critical to the business".

    So how can any project meet it's deadline under these circumstances? (that was rhetorical. no need to actually answer)

  • by Enthrash ( 545820 ) on Thursday March 31, 2005 @12:18PM (#12100641)
    They state:

    "95% are not delivering some number of projects on time or to the full satisfaction of the business executive."

    This could means that 99% of the projects attempted were delivered on time by all IT groups which is a more, or it could mean 99% of the projects were delivered late. By using the phrase "some number" this statistic is utterly general, and wholely useless.

    Oddly enough, later in the same report they state "the majority of IT projects are in fact delivered on time" which really what counts.

    The fact that IT groups do not deliver on time 100% of the time should be no surprise. The fact is that there simply aren't any professions which bat 100.

    Botton line, stat is completely pointless.

    Rich...

  • by BWJones ( 18351 ) * on Thursday March 31, 2005 @12:20PM (#12100675) Homepage Journal
    I don't think you fully grasp the nature of capitalism.

    There is always a market for well engineered products that are designed and built with passion. These companies may not necessarily be McDonalds, but they can certainly be companies like Apple Computer, Porsche, Canon, Oakley, etc...etc...etc....

  • Not surprising. (Score:2, Insightful)

    by Xiver ( 13712 ) on Thursday March 31, 2005 @12:23PM (#12100699)
    Excerpt of a typical meeting. Note that the day is Friday.

    Manager: When can you have X finished.

    Programmer: I need two weeks to do what the client asked.

    Manager: I told them you were almost finished can you have it by Monday?

    Programmer: I didn't start until yesterday I need two weeks.

    Manager: Ok the client is expecting it to be ready Monday you'll have to work the weekend.

    Programmer: I was planning to work over the weekends to get it finished it two weeks.

    Manager: (Clearly Frustrated) I need it Monday. The client will have to punchlist what does not work.

    The above exchange is very close to what was actually said. If this was the first company where I had heard that conversation I'd be bolting. Unfortunately no matter where I would run there would be a manger and programmer having the same conversation.
  • by stlhawkeye ( 868951 ) on Thursday March 31, 2005 @12:26PM (#12100747) Homepage Journal
    In my experience, there's three major reasons why projects aren't delivered on time or to the satisfaction of the end user.

    1. Failure to Understand Business Need
    2. Gathering requirements is fine, but there's rarely a strong feedback loop between engineering and business. For example, I see requirements like this a lot:
      Each customer in the database will have a unique ID. This seems like a good requirement. Adding any more detail moves you into the realm of high level design, right? Well, maybe. In any case, engineering needs to ask important questions at this point. This was an actual requirement I got at a previous job. We assumed, erroneously, that this just meant that the data stream we received and processed would contain a unique ID for each customer and that it had to go into the database. The truth was that customers did not have unique IDs, the business was expecting us to engineer a technique by which to assign them one. For various reasons I won't go into, simple starting at 1 and assigning each user the next available number wasn't sufficient. This misunderstanding didn't come up until late in the project, and it took almost two weeks to understand what all had to go into the unique ID, and then engineer a process to calculate and assign the ID to each customer. It sounds like such a simple thing, but overlooking the simple things is what puts projects behind.
    3. Trying to Solve Training/Documentation Issues via Engineering
    4. There's a problem. We found a flaw in the program. If the user does X, then Y, then Z, then X again, and then Z twice, and then Y while holding down the shift key, the program behaves funny. Well, all of those functions are legitimate uses of the software, and this particular path through causes problems. Not crashes, not erroneous results, just unexpected results. Well, that's a documentation issue. Or a training issue. "What if the user goes in and manually hacks the URL and screws up our query string?" Well, then they get errors or bad results! Engineers often want to solve these problems ("take away the URL nav bar!" "But we have to support IE, Netscape 4.7, Mozilla, and 4 other browsers, plus their Macintosh and Linux versions! What a testing nightmare!") in code, but at some point it's best to accept the risk and just document the hazard. Every problem doesn't need to be solved by engineering.
    5. Scope/Requirements Creep
    6. "Johnson! Real quick, can you add a Print option to this right-click pop-up menu?" "Sure, no problem." Congratulations, you're part of the problem. Yeah it'll only take a few minutes to code it. And update documentation. And update test cases. And test it. But wait! If Print is on the pop-up menu THERE it ought to be available over HERE too! Changing code costs more time than just the few minutes you spent changing code. Pile up a dozen trivial requests and suddenly you've added hidden weeks of effort to the project.
    Join me next week as I discuss the problem with dumbing down your architecture so that you can hire morons for less money to maintain it when all your best talent gets fed up with their 2% raises and quits.
  • by mtrupe ( 156137 ) on Thursday March 31, 2005 @12:28PM (#12100766) Homepage Journal
    And a lacko of respect for how difficult software can be to engineer. Managers want everything done tomorrow, and unlike engineering a skyscraper or a bridge, managers don't understand software--they can't see anything tangible, and they see a gui mock-up and think its 99% done.

    Sorry if I sound cruel or mean to managers, but I've seen it over and over and over again. Managers are far too often people who:
    a. Have never written software
    b. Were bad software engineers, so they got promoted to management.
  • by Sgt O ( 832802 ) on Thursday March 31, 2005 @12:29PM (#12100779)
    "...they do not always understand what is involved."

    - you hit the nail right on the head!

    I'm working on a project right now (software is installing as I type this) where I'm supposed to migrate an existing web server to a new datacenter accross the country.

    The PM's take on the whole thing was "All you have to do is:"

    - Load the software on the new server.
    - transfer the data
    - ship the server to the new location
    - have the server racked and powered up


    I could tell he though I was just being difficult when I told him:

    - While we're at it we should upgrade the app that's running on it since it's no longer supported.
    - If we upgrade the server will be running a different web server and therefore will need a new ssl cert.
    - Get the network guys engaged so they can punch what ever holes are needed in the firewall.
    - We'll need to do some level of testing.
    - Notify the end users that the look-n-feel will change/new applets will be downloaded, etc.

    And now, as far as upper management is concerned, I'm the one that is behind schedule...
  • www.dilbert.com (Score:3, Insightful)

    by rexguo ( 555504 ) on Thursday March 31, 2005 @12:29PM (#12100794) Homepage
    ^^^ enuff said.
  • by DoofusOfDeath ( 636671 ) on Thursday March 31, 2005 @12:30PM (#12100798)
    How many non-IT projects are done on time?

    Let's see... Boston's Big Dig. Nope. Designing a new aircraft carrier... nope. Red Sox winning the World Series... badly delayed ;)

    I wonder if in general it's creative projects or maybe highly complex projects that suffer lousy under-estimates for completion dates. Many software projects (i.e., MS Longhorn) are both.

    On an unrelated note: I wonder how project planning estimate accuracy correlates with the experience level of the person making the estimate. Because if the IT industry tends to burn out the young people os that there are't many older IT people, that could contribute as well.
  • Re:Nah (Score:5, Insightful)

    by Anonymous Coward on Thursday March 31, 2005 @12:34PM (#12100855)
    To be real-world, just as the server (ha!) brings the coffee to your desk, you should say that you changed your mind and want tea and a poppy seed bagel.
  • Re:Nah (Score:4, Insightful)

    by Daniel Dvorkin ( 106857 ) * on Thursday March 31, 2005 @12:34PM (#12100858) Homepage Journal
    Not only do different people have different measures of success, some types of success are easier to measure than others. Success in software is relatively easy to measure: if the software has the features the customer expects, and it's usable and stable, then it's done. Success in "business" (i.e., what the executives do) is much harder to measure and subject to endless spin. I'd love to see a study of how often management fails to deliver up to expectations on time, but of course the people who pay for the studies are the same people who would have to be evaluated by some kind of objective standard ... and you can bet they're not going to want that.
  • by Phrogman ( 80473 ) on Thursday March 31, 2005 @12:35PM (#12100872)
    I recall when I was working Tech Support for a company, hearing a Sales dweeb asking one of the programmers "Do you remember that utility program you mentioned to me? I hope its available because I just sold it to a customer."

    The utility program mentioned supported one of our products and was for inhouse use only. It had been whipped up quickly in the devs spare time, had no documentation, no time spent on QA, was not an official product of the company, and had a completely unfriendly UI because the dev had developed it piecemeal for his own use. Needless to say once it had been *sold* to a customer as a feature that attracted their interest enough to purchase our product, it became an official product and was quickly rewritten to be more presentable, but that developer told me he would *never* mention anything to a sales guy again because they couldn't be trusted.

    I have seen sales people sell a product based on a feature that they assured the customer the product offered, then once the phone call was done and the sale completed, checked with Tech Support to see if it actually did offer the feature they sold it based on.

  • Re:or (Score:3, Insightful)

    by broothal ( 186066 ) <christian@fabel.dk> on Thursday March 31, 2005 @12:36PM (#12100892) Homepage Journal
    Yeah - marketing departments are the roots of all evil. I once was asked to estimate a project, and the marketing droid said "by the way - your estimate can't be longer than until October, because we already booked the TV commercials". And that's not from dilbert - that's a true story.
  • by DoofusOfDeath ( 636671 ) on Thursday March 31, 2005 @12:37PM (#12100893)
    And a good portion of the younger developers I've dealt with have no clue about marketing or financial pressures on getting a product out that's "good enough".

    Don't get me wrong: I'm a developer, not an MBA-type. But I've run across primadonna coders that get so hung up on thinking of their coding as a form of aestheticly-oriented art, that left unchecked they'd bankrupt the company or totally miss the market window for the requested feature.

    I also see this in computer science research, which is truly the land of cheap hacking. In truth, a huge fraction of code produced for research is genuinely throw-away. Overly purist coders can cause c.s. research to get done at 1/10 the rate it could otherwise be completed at.
  • Immature Industry (Score:3, Insightful)

    by awerg ( 201320 ) on Thursday March 31, 2005 @12:37PM (#12100901)
    Duh! All Enterprise IT projects are like custom cars of the 20's and 30's. Each one is hand crafted by a small group of skilled craftsmen (coders, artists, project managers, etc.). No two implementations are the same and the users are just not that sophisticated. Every Enterprise Graphical User Interface I have seen is just an electronic version of "how we have always done it".

    Outsiders (the clients upper management) will apply time measurements to IT projects as if they are building bridges or building cars. These are unrealistic because both those industries have been around for 50+ years. The IT industry is immature and still growing. Just think how many languages you have to know just to do your job? Or how many versions of compilers, or how many changes in OS, dll, registry, configs, /bin, /sbin, kernel, etc. that we have been through in the last 5 years. 10 years ago most Enterprse systems did not exist, were running windows 3.1, consoles or just purple ink memo's.

    Come on, until there is standadization in tasks (what the client wants to do), interfaces (how the client wants to do it) and tools (how we make it so), all IT projects will be optimistically scheduled and all projects will be under time pressure from the beginning.

    I won't even start on budgeting of projects...

    Ok, I'm down off the soap box.
  • by Rinzai ( 694786 ) on Thursday March 31, 2005 @12:39PM (#12100931) Journal
    "...or to the full satisfaction of the business executive."

    And this is a problem because...?

    As a developer, most of the time I couldn't give two craps in a tin can about what Darth Veep thinks. He is, after all, a rep from the Dark Side.

    On the other hand, meeting the design goals, generating maintainable code, facilitating the QA process--those are important.

    Writing software on a delivery schedule promulgated on the premise that "we need this revenue in Q2!" is short-sighted bordering on the moronic, and a great way to guarantee failure across the board.

  • by qwijibo ( 101731 ) on Thursday March 31, 2005 @12:40PM (#12100934)
    One trend I've noticed with increasing frequency is for a suit to push for an "aggressive schedule" only to move on to another organization before the results of their actions can be felt.

    I spent most of last year on a project like this. I personally spent almost 3200 hours on the project, and I know the rest of the staff was working 50-60 hour weeks the entire time. We managed to bring the project to a successful completion on time, but our Manager and his Director were both gone (to the same other part of the company) before the project was due to be delivered. The result of this was that we spent as much money as planning a much more reasonable schedule, but were specifically directed to take short cuts to create a barely workable solution that would create more work in the future.

    In the end, a lot of projects either fail or are minimally usable as a result of poor management decisions. The irony is that the decisions are made in the name of saving money, yet the projects cost as much or more than if a more reasonable approach were taken.
  • Re:Nah (Score:3, Insightful)

    by mattspammail ( 828219 ) on Thursday March 31, 2005 @12:41PM (#12100946)

    But Jobs would've scrapped the whole project if capacity was projected at 18. He'd have demanded more.

    How many times have you seen a realistic bid lose out to a lower budget, quicker timeline bid that ends up late and over budget, often worse than the bid you had to pass on (but that was realistic from the get-go. In a bid situation, you're often times rewarded for your empty promises with an accepted bid.

    Doesn't make it right. It just explains it.

  • Exactly the point. I don't know why this isn't totally obvious. Once somebody makes an estimate and establishes a schedule, no matter how they arrived at it, everything that doesn't measure up is deemed a failure. In almost 30 years of programming I've rarely seen an incompetent project team goof off or in other ways screw up a project. But I can't think how many times everything is going just fine, it's just not going the same as somebody 6 months ago thought it would. The staff is put under tremendous pressure to meet the pie in the sky deadline, features get cut, the customer is not satisfied and the project is deemed a failure. Those projects didn't fail, the estimate failed, and more often than not the estimate was simply designed to agree with what somebody higher up the food chain pulled out of their ass. How hard is it to see where the problem lies?

    There have been many attempts to improve estimates by profiling code... a current one in vogue is called TSP - Team Software Process. These methodologies tend to be very top-heavy with record keeping, and assume that people work in ways that they really don't. For example, you don't think about only the UI for 11 minutes and then only the middle tier for the next 13 minutes. But that's the way you have to log your time. So your history data tends to be very approximate. On top of that you always have to factor in what fraction of time a developer is actually going to be doing productive work, which can be anything. Where I work we use 50%. So in the end after doing all that bookkeeping, you end up with a schedule based on making your best estimate and doubling it, which is how a lot of people who have no methodology do it anyway.
  • by ajs ( 35943 ) <ajs.ajs@com> on Thursday March 31, 2005 @12:52PM (#12101059) Homepage Journal
    "
    95 per cent of information technology groups "are not delivering some number of projects on time or to the full satisfaction of the business executive.""

    Could it be that marketing is always overselling the product?
    Why is everyone responding as if this were about software companies delivering product to external entities? First off, the article cites "IT groups" and "IT descision makers".

    Ok, so that said, here is why it happens: IT departments in most large companies are operating in a grey area between development and infrastructure administration. When you ask someone to make sure the bathroom works tomorrow, they usually make the deadline because there is a known path between where you are (broken bathroom) and where you want to be (working bathroom). When you ask someone to build you a new building with a fancy new biohazard containment system that the CDC just approved, you are assured that many issues that arrise will not have been encountered before by the people involved, and therefore will not be part of your timeline.

    It's all about the number of unknown variables involved in the plan, and gets really sticky when the number of unknowns is, itself, unknown.

    Even being conservative in the face of such developments, you may, more often than not, discover that you were wrong or that you're not satisfied with the result. Welcome to being a developer. We live with this our entire career, and it pisses US off too.
  • by Anonymous Coward on Thursday March 31, 2005 @12:52PM (#12101067)
    "Treat your customers with honesty and..." ...you will lost most of your clients.

    This is a free-market capitalist society: customers tend to have what they are wanting to pay for, the way they are wanting to pay for.

    I am *tired* of observing the following scenario:
    Client A wants "solution a" to be developed.
    * Vendor X offers obviously overoptimistic price and timeframe
    * Vendor Y offers realistic price and timeframe (higher price tag and longer time-to-ship).
    Client A contracts with Vendor X.

    "Solution a" finally costs even more than offered by Vendor Y, ships later than offered by Vendor Y and it is clearly subfunctional.

    Now Client A wants to develop "solution b" (or even resolve the shortcuts of "solution a").
    Again Vendor X offers overoptimistic time and price and Vendor Y offers realistic time and price.

    Client A contracts with Vendor X AGAIN!!!

    What do you really expect Vendor Y to do?

    Obviously this happens with boxed software too: eyecandy functionally bloated software sells better than serious to-the-task software, so what do you think vendors should do?

    "I also believe the fundamental problem is that managers these days (in many cases) no longer come from the ranks and are not engineers."

    Right to the bull-eye. Much to Microsoft credit, vendors discovered that you would be more succesful if you try to sell to the one who is going to sign the bills instead of trying to sell to the one which is to use the software on one hand, and to avoid going to the ones that really can separate good products from eyecandy rubish so they can peruse marketing more productively on the other.

    Once PHBs "discovered" they could avoid depending on those nasty guys that always have the right answer and made them look as the assholes they are (technically speaking) by going with those vendors that speak their language, they went more and more with it. There's a Spanish say: "ojos que no ven, corazón que no siente" (more or less, "if you are blind, you don't miss what you don't see") so there's kind of a feedback: since PHBs are not technically inclined they don't know the assholes they are making themselves by taking over themselves the technical decitions and, at the same time, it seems to themselves they are in control (and "control" is a drug for PHB-like characters) and they can always blame "the lower ranks" when shit reaches the fan (since that pretty brochure says "its doable", it's not my fault this project has become shit, its our technicians' incompetence. And since technicians are so incompetent next project we'll hire even cheaper technicians -pretty brochure from Vendor A says their software is so complete and easy even monkeys can use it, so it must be true, so our excel spreadsheets show how good a manager I am cutting costs... as a side effect part of these savings will revert to my salary, so important *I* am to the company and so disposable are our monkey-technicians).

    I seem to remember an article by Philip Greenspoon about how PHBs didn't like (probably in some subconscient level) those breed of technicians that did the big systems of the 70's; projects resolved by short groups of people with wages sometimes even bigger than those of their bosses (I'm talking about big-iron banking solutions, air-traffic control systems, etc.). By the next generation, PHBs managed to change the trend: instead of a group of, say, ten talented ingeneers, I will lead the project with my MBA, and I will hire 100 monkeys at almost minimal wages. The project as a whole maybe may id plain bullshit, buggy, overpriced and never to be delivered, but *I* will show them who is really in control (that's all about being a Boss TM).
  • 7) (Score:3, Insightful)

    by elgatozorbas ( 783538 ) on Thursday March 31, 2005 @12:52PM (#12101070)
    ...1) building the codebase 2) testing code base 3) proper interface design 4) end user testing 5) documentation 6) making sure it does not suck

    7) enter the market too late.
    I have never worked in a company (only academic... sweet...), but can imagine 7) is why 1) to 6) are neglected.

  • by RandomBitFlipper ( 847110 ) on Thursday March 31, 2005 @12:53PM (#12101080)
    Actually, I would imagine IT projects being far worse than non-IT projects.

    Here's why:

    Imagine doing a civil engineering project where advances in material science are accelerated 1000x faster than they are today; where geological changes to the landscape are accelerated to 10 million times faster than they are today. It becomes a lot harder to build that bridge when the landscape you're building on and the materials you're building with are constantly changing.

    That's what it's like with any large-scale IT project - the business needs and the tools you're building with are constantly changing.
  • Re:Nah (Score:5, Insightful)

    by aoteoroa ( 596031 ) on Thursday March 31, 2005 @12:54PM (#12101087)
    Many business people think building software is like building a house. When the framing is done, it's done. You usually don't spend weeks testing how the wall interacts with the drywall and foundations.

    Non IT people just don't understand why code isn't written correctly the first time.
  • by 14erCleaner ( 745600 ) <FourteenerCleaner@yahoo.com> on Thursday March 31, 2005 @12:55PM (#12101100) Homepage Journal
    True, but think what this implies: 5% of development groups never deliver a project that is late. Amazing...
  • by meburke ( 736645 ) on Thursday March 31, 2005 @12:57PM (#12101121)
    Excellent point....

    The first methodology that should be looked at is the scope of work. If you're building a house and the customer wants a change from the original plan, then the customer is responsible for any additional costs and delays. (But at least there IS a plan!) Too often, in my experience (and I will have been a programmer for 40 years in July), people don't take the time to actually build a plan for the project. My best argument for UML is the possible careful analysis UP FRONT, especially Use Case documents. Use case analysis solidifies the customer's expectations. And the salesman should NEVER decide the scope of work or the time involved.

    Salesman (goes up to IT Manager): "Hey, Bob, if we were to take on a project for receiving inventory using RFID tags how long do you think it would take?"

    IT Manager (offhand while concentrating on latest emergency): Oh, I don't know. It depends on a lot of variables. Sounds like a 3- to 6-month project to me. Get me some details".

    Salesman (to customer): "Our IT Manager says we can probably do it in 3 months, 6 months, tops."

    The other thing I'm moving toward is "Critical Chain" vs "Critical Path" project management. How many times is a programmer diverted from a project to work on a more urgent task since his current project "isn't due for some time, yet"? Wasting the slack time in a project is more inimical to the project than using the slack, because once time is gone, it's gone. Programming projects tend to waste the time saved when a milestone is reached early.

    Lastly, the headline is misleading: "95% of projects deliverd late" is semantically different from, "95% of IT companies deliver some projects late."
  • by tomhudson ( 43916 ) <barbara.hudson@b ... m ['son' in gap]> on Thursday March 31, 2005 @12:58PM (#12101134) Journal
    It depends on your point of view ...

    - From a marketing viewpoint:
    There's a simple solution to all this - find the 5% that are delivering on time and SHOOT THEM. This results in uniform expectations all around

    - From a coder's viewpoint: There's a simple solution to all this - find the MARKETERS and SHOOT THEM.

    - From tech supports' viewpoint:
    There's a simple solution to all this - find the IDIOTS^WCUSTOMERS and SHOOT THEM. This results in less feature bloat and overselling

    From the customer's viewpoint:
    Reboot!
    Reboot!F$cking computer!
    Reboot!F$cking software vendors
    Reboot!F$cking suppliers
    Reboot!@%$@$ piece of shit
    Reboot!I_NEED_A_NEW_COMPUTER
    Sales rep: I'll take your order
    Customer: BLAM! BLAM! ... "Hello, 911 - I've just shot and killed a computer vendor ... oh, I'm eligible for an anti-terrorist award now? How nice. Thank you."

  • Re:Nah (Score:2, Insightful)

    by kkerwin ( 730626 ) on Thursday March 31, 2005 @12:59PM (#12101136)
    The title of this article is misleading: "95% Percent of IT _Projects_ Not Delivered on Time".

    In actuality, the article quotes differently: " Info-Tech Research Group says 95 per cent of information technology _groups_ are not delivering _some_number_ of projects on time".

    This "some number" could easily be disproportionate to the number of projects that are available, according to Info-Tech's original wording.

    The facts, according to Info-Tech's study as quoted in the article, nearly every IT group, sooner or later, has difficulty releasing a project. Whether or not the problem is "95% of all projects" is not discussed by Info-Tech, as quoted.

    This is hardly unsurprising, and barely qualifies as news since such difficulties are inevitable for any company.

    Kris Kerwin
    kkerwin@insi__REMOVE_ME__ghtbb.com
  • by Bellyflop ( 681305 ) on Thursday March 31, 2005 @01:04PM (#12101199)
    You know, I used to think of sales as been the annoying bastards over there. But now I've been dating a salesperson for a couple of years and I think that I see what the problem is. Her managers give her unrealistic expectations. They don't care if there's a market for the product or if companies have already set their budgets or whether the buying market is just soft for some other reason. But then her job gets threatened unless she hits "her" numbers. They really aren't her numbers - they are her manager's number divided by the number of people he manages. Now it's not all his fault of course - he has a manager too who is doing the same thing to him. And so it goes up the chain.

    Usually, it's because the board of directors has written a clause into a CEO contract that says that if he hits certain numbers, then it triggers a stock grant or a bonus. So of course, he's pushing for it. The board has the shareholders wanting big returns so they are pushing too - the board members have a financial stake in the company too of course. And then you have the analysts who give everyone in charge an incentive to say that growth is going to be high so that they can offer a "buy" rating. But none of these people actually have to do any of the sales calls. Nor do they have to build the product.

    So from the developers point of view, it's the salesperson being a pain in the ass. But I think the problem is really that people in charge have the wrong incentives and don't have the balls to say "hey, those numbers are unrealistic."
  • by SlashDread ( 38969 ) on Thursday March 31, 2005 @01:04PM (#12101201)
    Get this:

    - I scope a project
    - I pitch it to mngmt
    - Their response -always- is "be quicker"
    - My response is, quicker means either: less qualiity, or more money, ypou pick.
    - They say, you get neither.
    - Ill say, sigh, Ill -try-
    - It gets delivered on my original timescale
    - They fuss about the project being "too late"

    Do what -smart- project managers do: overestimate everything.
  • by cmburns69 ( 169686 ) on Thursday March 31, 2005 @01:08PM (#12101240) Homepage Journal
    Our mantra is:

    "Customers don't know what they want to begin with. So just build something, and they'll tell you how to fix it."

    This works very well here, especially since we're not afraid to tell them that each fix costs $$$
  • by Psychotext ( 262644 ) on Thursday March 31, 2005 @01:12PM (#12101279)
    When I started out on my own I made a very early decision to charge 50% upfront on all contracts. It's very hard to pull off but overall it's been very successful. Process goes a little like this:

    1: Budgetary Quote.
    2: Requirement Gathering (We assist)
    3: Outline Specification (Huge number of meetings prior to this point).
    4: 50% Non-refundable deposit.
    5: Detailed system bible.
    6: Changes to system bible (Chargeable).
    7: Develop / Change / Rinse Repeat.
    8: Finish Project (Final 50%)
    9: Support

    We have agreed to refund one deposit in the last two years (We screwed up their requirement gathering). We have had two clients pull out and lose their deposits. Everyone else has been happy, and through good communication hasn't had a problem when we have charged them for modifications to the system bible half way through the project.

    Of course, the worst part of doing it this way is when some ass wastes weeks of your time and walks away with your outline spec (No doubt to give it to Joe Bloggs or use it in-house) having paid you nothing. It's probably worth noting that we don't always do the full specs if we don't trust the customer. :)

    Oh, and one final bit of advice - GET TO THE TOP PERSON IN THE CHAIN! If someone is likely to override the decisions of the person you deal with in the company, start involving them. Even if it's just an email or a meeting to make sure they are happy with how things are going. Avoids some serious grief at the end of the project when you find you completely missed out on the features that the purse holder wanted!
  • by khasim ( 1285 ) <brandioch.conner@gmail.com> on Thursday March 31, 2005 @01:21PM (#12101405)
    Well, more specifically ...
    First, before anybody runs away with the idea that the failure of IT projects is rampant, it's necessary to look further into the study's findings. In a later section of the report, Info-Tech admits the majority of IT projects are in fact delivered on time, on budget and do meet expectations. So what's eating the executives?
    And "majority", in this instance, would mean 51% or more.

    So, 51% or more of the projects are delivered on time and on spec.

    BUT if you've EVER missed a deadline or been off-spec, then you get counted as bad.

    If you deliver 99 projects on time and on spec, but fail on 1 project, you're counted the same as if you failed on 100 projects.
    Well, some projects inevitably fail to measure up, and getting good results most of the time isn't good enough, it seems. Failure is failure, and the infrequent missteps are tarnishing the reputation of IT groups in the eyes of business executives, the researchers say.
    Right.... that tells me that the "answer" to this "problem" isn't technology. The "answer" is to have the IT managers take a few marketing classes and spread the bullshit to the "business executives".
    "Only 5 per cent of enterprises told us they were always on time," the report states. "This indicates that 95 per cent of IT shops are not delivering some number of projects on time or to the full satisfaction of the business executive. This is a major contributor to a misalignment of business and IT."
    Again, all it takes is 1 failure to be lumped in that group. No matter how many successes you've had.

    "So, you've solved world hunger, the arms race, poverty, racism, nationalism and have single handedly established a viable human colony on Mars. But we're really concerned about that jay-walking ticket from last year. Let's focus on what you can do to prevent such a failure in the future, okay?"
  • Re:Nah (Score:4, Insightful)

    by computational super ( 740265 ) on Thursday March 31, 2005 @01:26PM (#12101472)

    I think that's exactly the problem with software expectations. They always assume that building software is like building a house, or a bridge, or a toaster. In other words, they always assume that building software is done by experienced people who've built nearly identical software systems before. And, no matter how many times we stress and repeat this, we can't get it through their thick skulls - if it's been implemented in software even one time in the past, it doesn't need to be implemented again. By definition, every single software project ever undertaken is a brand new set of problems to figure out. The more experienced we are, the better we know what to avoid, in general, but if there are no unknown problems, the program doesn't need to be written. This is true by definition. Designing and implementing software is more like proving/solving a mathematical theorem than it is like building a house - I doubt mathemeticians often get paid to figure out how to prove the pythagorean theorem.

  • Re:Merge it. (Score:5, Insightful)

    by Oloryn ( 3236 ) on Thursday March 31, 2005 @01:28PM (#12101490)
    Managers generally don't want to give the programmers the whole picture, because management often believes that they are superior in rank to programmers, placing the programmers on a need-to-know-basis, only. Huge mistake.

    I call this the myth (or culture) of managerial superiority. It tends to go "I'm your boss, therefore I must be smarter than you are." It's one of the reasons that some managers come to resent technical people, whose jobs require that they be smart, and who are not usually reluctant to show those smarts. Maintaining a culture of managerial superiority is difficult when your subordinates often demonstrate that they know more than you do. Too often, the result is either denigration of the subordinates knowledge (You were hired for your expertise in X, but your manager keeps on overriding you on matters relating to X, leading you to wonder "Why did they hire me if they won't pay attention to the knowledge I was hired for?"), or denigration of the importance of subordinates knowledge.

    The fact is, management requires a different set of abilities, not necessarily a superior set of abilities. Acknowledge that, and you've at least opened the door for each side to recognize the others talents and use them together.

  • by indifferent children ( 842621 ) on Thursday March 31, 2005 @01:34PM (#12101550)
    Think about it for a second. Who gives the final yes or no on a program time frame, the programmers. They are the final word and now, a lot of them just plain suck.

    If by 'final ... time frame', you mean the actual delivery date, rather than the promised delivery date, then you are correct. But this is not just a software issue. Who decides what time your garbage gets picked-up? The garbage men. Who decides what time your pizza arrives? The Deliverator. Management is free to: 1) fire people who keep blowing management deadlines, 2) add resources or 3) do the work themselves to take up the slack. When it comes to programming, most management deadlines cannot be met by anybody, adding resources usually slows-down a project, and management couldn't code "Hello World" to save their lives.

    As a result, they have absolutely zero recourse to the fact that software development takes time. They can start creating 'better' deadlines, or they can stick to the status quo and expect to blow their 'bad' deadlines.

  • by Run4yourlives ( 716310 ) on Thursday March 31, 2005 @01:37PM (#12101579)
    "Ill say, sigh, Ill -try-" Hence the cause of all your problems. If they aren't willing to commit, why do you accept the responsibility?
  • Re:Nah (Score:2, Insightful)

    by voseman ( 143698 ) on Thursday March 31, 2005 @01:46PM (#12101671) Homepage
    I bet it all has to do with the following phrase:
    "How hard would it be to make this small change"
  • by Jalthar ( 593369 ) on Thursday March 31, 2005 @01:57PM (#12101797) Homepage
    <snip>We assumed</snip>

    You may not realize it, but you've hit the nail on the head here. The biggest problem with SW Development is that too often the engineers do not understand the user perspective. It really doesn't matter what development methodology you use, if you use Use Cases or Agile Programming or whatnot - if the people writing the software don't understand their users' perspectives then all of the problems people've been mentioning will come up.

    What is the biggest reason for "feature creep"/changing requirements?? Because the engineers built what they wanted, NOT what the customer wanted. Instead of trying to shoehorn a customer's usage of a tool into your idea as to how a tool should be implemented - and this is what pretty much all software is, a TOOL meant to help people perform some task easier, NOT an end in and of itself - understand what the customer wants to do with the tool, understand the customer's viewpoint (including such things as average level of technical expertise, currently-existing methodologies, etc.), understand the desired end result. And while Unit Testing is great from an Engineering perspective, USABILITY TESTING is at least as important to your end-user/customer. USE your tool the same way a customer would. If you were doing the customer's job, what sorts of things would you want to do? What would be the easiest way to do them?

    Nearly every time I've seen a "bad" piece of software developed, it's been because the developers refuse to (or are incapable of) place themselves in the shoes of their customer. (And even for internal projects, you should think of your end-users as your customers, dammit.) And then when discussing things with their customers (or Management, who believe it or not oftentimes DOES understand your customers viewpoint, especially those creepy Marketing Droids), the Engineers responsible hold fast to their way of thinking and place the viewpoint of the SOFTWARE above the viewpoint of the CUSTOMER. Bad engineers, BAD!!

    As a SW Engineer myself, I realize it's difficult to raise your head up out of the code you're working on, take a step back, and evaluate your tool from the perspective of a non-engineer. It is well worth the effort, however. Your customers will thank you for it, your management chain will reward you for it, and those peers whose opinion matters will respect you for it.

    (And for the more obtuse among the Slashdot readership, yes, Feature Creep / Changing Requirements IS the primary reason most adequately-run projects are late. Nearly everything else is just fluff which can be scheduled around. Designing software which does not meet the ends of the end-users, however, should be considered a Mortal Sin.)

  • by Phat_Tony ( 661117 ) on Thursday March 31, 2005 @02:00PM (#12101832)
    Yeah, that's the first thing I noticed. If there's a company that does 100 projects per year, and delivers 99 of those on time, then one project is late, so that company goes in the "delivers projects late" pile.

    Why not have a headline "95% of IT employees will lose their jobs this year," based on an article showing that 95% of IT firms will terminate at least one employee this year.

    While highly plausible, this 95% statistic is worthless, and the headline is not at all supported by the article. Actually knowing what percent of IT projects are late might be interesting.

  • by MerlinTheWizard ( 824941 ) on Thursday March 31, 2005 @02:03PM (#12101877)
    I agree. May I add something? Most often than not, missed deadlines are also due to poor technical decisions in the first place. Some project managers may have a strong engineering background, but sometimes they overlook important points - and they won't listen to their engineers, who have to deal with the decisions even when they warned the manager that there will be a problem. The traditional distribution of "power" inside a corporation often leads to problems when it comes to IT, because IT inherently works in a very different way than most other fields.
  • by SparafucileMan ( 544171 ) on Thursday March 31, 2005 @02:04PM (#12101882)
    Look....

    Programming is math. And math is hard. For starters, 99.9999% of all math is random and impossible to understand in the technical, math sense (proove) (extrapolation from Godel and Turing and Chaitin and Cantor...and yes, it really is 99.999....%).

    When you sit out and design something to match a real-world process, you do fine. Then, you change something, you'll never know the impact of that change. You can't design for it in advance. A change of 1 character in the design could litterly require the entire code to be rewritten. You cannot prove how big your impact will be. Ever. That is why programmers get frustrated when customers change their mind "o but I just want it in this differnt order," "godamnit now i have rewrite half the loop..."

    That is because good programming isn't just about being "smart", or about "planning"... most of the times, you are running against the fundamentals of understanding the algorithms in question, even with something as simple as lists or hashs or whatever.

    The fact of the matter is is that programs are late because of bugs, and there are bugs because of the fundamentals limitations of math/the universe. You can't just smart them away cause you're some genius coder. All the genius coders write in their own designed language that best matches their thought processes and is easy to rewrite (i.e. they just gave up and went with LISP) with the assumption that they are going to rewrite most of the damn thing anyway at all stages of the game and the quicker they can rewrite it the better.

    And that is why all these languages are getting closer and closer to LISP was 40 years ago...python, java, smalltalk, etc etc etc....automatic memory management and fast re-write cycle is the best way to write code for 100% of all projects (sans anything with 100,000+ intensive simultaneous users or an airplane code or something when you are bearing up against the engineering portion of things).

    That's just my opinion. But I think it's fairly accurate. I've been programming from birth it feels like and I studied the math and I now I write for a large corporation where every schedule slips all the time and I have to deal interpreting customers and figuring out what they want and all I have say is:

    There is no magic bullet and there NEVER WILL BE. Read Godel, Turing, Chaitin, etc. You'll be better for it. You're not going to fix your problems by using OSX instead of Windows or Oracle triggers instead of MySQL+PHP or Object Oriented instead of functional or procedural or XML web services instead of TCP/IP and binary. None of those things fucking matter, ok, fanbois? They're corporate games, that's it.

    The best you're going to get is to find a language that fits how your brain thinks and that you can rewrite things in QUICKLY (i.e., don't even bother with the write-compile-link cycle... write it in LISP then have something covert the LISP to compiled code at some later day after you've profiled it)...

    o, and a good text editor ;)

    and if management gives you shit, tell em to jump off a cliff. it's their only job to schedule, and if they aren't smart enough to schedule things with the understanding that schedules change for things that have nothing to do with how smart or good someone is as a programmer, they're worse than worthless anyway and you'd best find a new boss quick.
  • Re:Nah (Score:4, Insightful)

    by Stevyn ( 691306 ) on Thursday March 31, 2005 @02:26PM (#12102140)
    And that's why programmers aren't "Software Engineers". Engineers test their designs and then implement them. Programmers test their implementation because, to them, the code must be the design.
  • by aztektum ( 170569 ) on Thursday March 31, 2005 @02:28PM (#12102163)
    If you guys were truly nerds you'd rely on Scottie's advice. Tell your captain... er boss, that the project will take a year, not six months, and when you have it done in 8 months you'll be heroes.

    If there is a budget, if it will realistically cost 10 grand, say 15 and go "Look we have an extra 5k for you!"

    Unfortunately in the business world, when you succeed in this fashion they expect you to work miracles next time under truly unrealistic conditions. Sucks.

  • Re:Nah (Score:2, Insightful)

    by computational super ( 740265 ) on Thursday March 31, 2005 @02:35PM (#12102263)
    Did you know that there are formal methods for software design

    ... that don't work ...

  • by Anonymous Coward on Thursday March 31, 2005 @03:31PM (#12102895)
    Quit beating around the bush - you're saying we should lie.
  • by GunFodder ( 208805 ) on Thursday March 31, 2005 @07:14PM (#12105320)
    What are the design constraints of a bridge? It generally solves a simply stated problem - get X lanes of traffic from point A to point B. And failure is not acceptable. Due to these constraints millions of dollars and years of planning and construction are available. This might be comparable to the Shuttle software discussed a few weeks ago, but not any projects I have worked on.

    Consider the construction of a house, or an addition to an existing domicile. Price is a significant factor, and the customer has many arbitrary constraints (call them "aesthetics"). In many cases the customer isn't sure what they want until they see what they don't want, which requires rework. There is no official certification process for most construction trades - only specialties like electrical wiring. So it is difficult to know how good a crew is until you work with them. Many (if not most) construction projects like this run over budget or over schedule.

    I think writing business software is more like building a house. The constraints are unique and vague. The workers vary in their abilities. And the customers are cheap bastards. Projects in this environment have very little chance of coming in under budget and on time.

BLISS is ignorance.

Working...