Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

95% of IT Projects Not Delivered On Time

Posted by Zonk on Thu Mar 31, 2005 10:56 AM
from the quiet-desperation dept.
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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Nah (Score:5, Insightful)

    by suso (153703) * on Thursday March 31 2005, @10:57AM (#12100354) Homepage 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)
    • Re:Nah (Score:5, Funny)

      by alexandreracine (859693) <alexandreracine@gmail.com> on Thursday March 31 2005, @11:01AM (#12100414) Homepage Journal
      The other day I asked a programmer to bring me some cofee on the spot. The next day I had a new screen saver in java.
      You may learn from this experience.
      • Re:Nah (Score:5, Funny)

        by Qzukk (229616) on Thursday March 31 2005, @11:31AM (#12100824) Journal
        The other day I asked a programmer to bring me some cofee on the spot. The next day I had a new screen saver in java.

        Clearly a specification error on the customer's behalf. You should have requested 8 (or so) fluid ounces of liquid caffeine-bearing (I assume!) sustenance produced by passing hot water through the ground, blended beans of particular coffee tree species, while supported in a paper (or copper, or gold. Again, assumptions!) filter.
        • Re:Nah (Score:5, Insightful)

          by Anonymous Coward on Thursday March 31 2005, @11:34AM (#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.
        • by nganju (821034) on Thursday March 31 2005, @11:58AM (#12101127)
          A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts, "Excuse me, can you tell me where I am?"
          The man below says, "Yes, you're in a hot air balloon, hovering 30 feet above this field. " "You must be an engineer", says the balloonist. "I am", replies the man. "How did you know?" "Well", says the balloonist, "everything you have told me is technically correct, but it's of no use to anyone."

          The man below says, "You must be in management." "I am", replies the balloonist, "but how did you know?" "Well", says the man, "you don't know where you are, or where you're going, but you expect me to be able to help. You're in the same position you were before we met, but now it's my fault."
          • by CrazyWingman (683127) on Thursday March 31 2005, @01:36PM (#12102278) Journal
            A man driving a backroad across country came upon a cowboy out driving cattle. He stopped, got out, and said to the cowboy, "If I can tell you how many cattle you have, would you give me your smallest cow?" and indicated the animal he desired.

            "My smallest cow, you say? Well, why not, give me your estimate," replied the cowboy.

            "Sir, you have exactly 400 head of cattle," the man said after some contemplation.

            "Wow, that's exactly correct," said the cowboy surprised. So, the man walked over, picked up his prize and put it in his trunk. The cowboy, concerned for the animal, asked, "Now, if I can tell you your profession, would you let me win back the animal?"

            The man, somewhat taken aback, agreed with a chuckle, "Sure."

            "Sir, you are a consultant," said the cowboy without hesitation.

            "Wow. That's pretty impressive. How did you know?"

            "Well, you came out of nowhere telling me that you could give me an answer to a question I didn't ask for a price that was over the top," said the cowboy with a stern look. "Now give me back my dog."

            --Wish I knew who to attribute this to :(
        • Re:Nah (Score:5, Funny)

          by koa (95614) on Thursday March 31 2005, @12:01PM (#12101164)
          Ahh.. the old programmers plight:

          Upon delivering the completed project, the end user simply states:

          "Now hold on, this is exactly what I asked for.. But not what I wanted!"

    • Re:Nah (Score:5, Insightful)

      by bitchell (159219) on Thursday March 31 2005, @11:01AM (#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.
      • Re:Nah (Score:4, Insightful)

        by Nos. (179609) <andrew AT thekerrs DOT ca> on Thursday March 31 2005, @11:13AM (#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:Nah (Score:5, Insightful)

          by aoteoroa (596031) on Thursday March 31 2005, @11:54AM (#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.
            • Re:Nah (Score:5, Interesting)

              by Coryoth (254751) on Thursday March 31 2005, @12:51PM (#12101731) Homepage Journal
              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.

              When an engineer designs and builds a new bridge it is entirely possible that no bridge like it has ever been designed or built before. Sure, there are some base cases that just get churned out, but there are also big, new, creative designs that occur for bridges. How is that bridge engineers usually manage to not have their bridges falling down all the time? Well, for starters the designer doesn't run with a "build and test" mentality. There are formal methods for bridge design, and if you assume the properties of various basic components, there are methods to prove the stability and properties of the bridge. Did you know that there are formal methods for software design, and if you assume the properties of basic components (like hardware, OS , etc.) there are methods to prove the stability and properties of the software?

              Yes, formal software methods are hard and time consuming compared to just building and testing. Formal bridge design is hard and time consuming compared to just building and testing.

              For some reason we accept that software should be just thrown together rather than properly designed and proved. Yes, there are plenty of projects for which the level of formality I'm talking about simply isn't required - that's fine. My point is that there are plenty of projects for which the level of formality I'm talking about would be a damn good idea - yet it is never even contemplated let alone used. At worst you should be considering some level of formality for just those components of your system that are most critical.

              Jedidiah.
              • by GunFodder (208805) on Thursday March 31 2005, @06: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.
    • Re:Nah (Score:5, Funny)

      by Ghetto_D (670850) on Thursday March 31 2005, @11:55AM (#12101102)
      In other news, 95% of people in IT careers habitually read Slashdot.
  • I was going to be the first post, but I could not get it in on time.
  • by BWJones (18351) * on Thursday March 31 2005, @10: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.

    • VERY true (Score:5, Interesting)

      by JeanBaptiste (537955) on Thursday March 31 2005, @11:08AM (#12100523)
      "Could it be that marketing is always overselling the product?"

      I work with OCR/ICR technologies. NO SALESPERSON should EVER be allowed to sell this without taking a month long training course about what it actually does.

      I can't count the number of times customers were expecting 100% accuracy because thats what the salesman sold them.
    • by Sgt O (832802) on Thursday March 31 2005, @11:29AM (#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...
    • by Phrogman (80473) on Thursday March 31 2005, @11:35AM (#12100872) Homepage
      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.

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

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

    by Skraut (545247) on Thursday March 31 2005, @10:58AM (#12100364) Journal
    I'm still working on a project due this past Monday.

    Thanks /. a copy of this story now sits on my boss' desk.

  • misleading headline (Score:5, Informative)

    by wankledot (712148) on Thursday March 31 2005, @10:59AM (#12100379)
    There's a huge difference between 95% of firms not delivering a project ontime, and 95% of all projects being late.
  • Merge it. (Score:5, Insightful)

    by mfh (56) on Thursday March 31 2005, @10:59AM (#12100382) 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.
    • Re:Merge it. (Score:5, Insightful)

      by millwall (622730) on Thursday March 31 2005, @11:13AM (#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.
    • Re:Merge it. (Score:5, Insightful)

      by Oloryn (3236) on Thursday March 31 2005, @12: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.

  • 95% of IT project specifications are what the user WANTS rather than what the user NEEDS. When they get what they want, and discover its not what they need, of course they wont be satisfied.
  • when you need it?

    Oh, its late...

  • In other news (Score:5, Insightful)

    by kevin_conaway (585204) on Thursday March 31 2005, @10:59AM (#12100387) Homepage
    A study shows that 95% of clients don't know what they want.
  • by teiresias (101481) on Thursday March 31 2005, @10:59AM (#12100389)
    Anyone who reads this site knows that this site is (probably) the reason 95% of IT Projects not being delivered on time. My PM just lost 2 minutes to this post when I could have been writing Rose models like I'm suppose to!
  • 95%... (Score:5, Funny)

    by grub (11606) <slashdot@grub.net> on Thursday March 31 2005, @10:59AM (#12100390) Homepage Journal

    ... and the other 5% never ship at all. (ie Duke Nukem Forever)
  • Circular (Score:5, Interesting)

    by mattmentecky (799199) on Thursday March 31 2005, @11:00AM (#12100402)
    Isn't it ironic that Slashdot is linking to an article speculating on why IT projects are completed late, that will then be speculated upon by hundreds of Slashdot users, during typical business hours?
  • This is why (Score:5, Insightful)

    by nagora (177841) on Thursday March 31 2005, @11:03AM (#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 Ohreally_factor (593551) on Thursday March 31 2005, @11:03AM (#12100447) Journal
    I remember the first time I heard someone ask, "Is this deadline hard or soft?" I was just the video guy, so I kept my mouth shut and didn't laugh. The lead didn't even blink, and said, "Well, it's mostly firm, but a launch date hasn't been announced publicly, so we'll see at the end of the month." Good thing I didn't laugh.
    • by MisanthropicProgram (763655) on Thursday March 31 2005, @11:12AM (#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.
  • Not projects (Score:5, Informative)

    by Council (514577) <rmunroe@NoSPam.gmail.com> on Thursday March 31 2005, @11:04AM (#12100459) Homepage
    Well, quite obviously, it's a problem with how deadlines are chosen, combined with peoples' natural work tendencies (where they work up to a deadline and get it done sometime soon after).

    This isn't "oh no evidence of every company doing some particular thing wrong 95% of the time." It's a general property of this type of project.

    To put it differently, if 95% of people are voted above 9 on hotornot, it means there are some parameters to the voting or the choices or the statistics. Not that the world is incredibly attractive.
  • by TechnoWeenie (250857) on Thursday March 31 2005, @11:04AM (#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, @11:05AM (#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 Flamesplash (469287) on Thursday March 31 2005, @11:06AM (#12100496) Homepage Journal
    I'd be morelikely to conclude that this means the schedules are simply wrong. it's so difficult to plan a correct schedule, and asking developers how long they think XYZ will take doesn't really work well.

    Have there been any advances in scheduling technology? Like profiling developers over the types of software they write, etc.. ?
  • by jacobcaz (91509) on Thursday March 31 2005, @11:07AM (#12100509) Homepage
    That 95% not-on-time rate is for Canadian I.T. projects. So once you factor in the conversion it's only 78% for US I.T. projects.
  • In my experience (Score:5, Interesting)

    by Fnkmaster (89084) on Thursday March 31 2005, @11:09AM (#12100530)
    This is almost always because the scope of a project changes between when it's initially described and when it's delivered. A majority of projects I've been involved with fall into one of two categories:

    1) requirements are agreed on, seem reasonable enough, but then detailed specifications are drawn up and client keeps pushing to add more things to specs until you have a 120 page document that will take 2 years to deliver. If, however, you tell the client it will now take 2 years vs. the 5 months you said when you were looking at a 2 page requirements document, they will cancel the project, and if they weren't paying for the requirements phase, forget about collecting any money for them (why you should always get paid for all phases of project planning). Since you can't do this, the client will eventually get upset, even though it's their own fault.

    2) Project is delivered very early in prototype form, only to have the client say they want 50 more features that they forgot to describe in the requirements process, but they refuse to pay more, and refuse to acknowledge that the time frame must be pushed out to accomodate their new requests.

    Yes, I've managed client relationships before and large (multimillion dollar) implementation and customization projects. I have reasonably good people skills, and still found these problems generally insurmountable when my client's company had a completely nontechnical person in the role of project sponsor and manager on their side.

    The best predictor of success of a project in my experience are the lines of reporting and control in the client's company, and the existence of some technical knowledge in a position of responsibility and authority. If their CIO or President or whoever is the ultimate decision maker has a senior arhitect or tech VP that knows their shit AND functions as a trusted aid in the decision making process, these issues can usually be bypassed. If there is no senior source of technical knowledge, you can kiss the entire project's ass goodbye. Try to get as much money as possible from the client while it's going on, but forget about the project being "successful" in how its received by management.
  • 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> <at> <gmail.com>> on Thursday March 31 2005, @11:11AM (#12100547) Journal
    Could be seen as 95% of IT projects not given enough time for completion by marketing
  • Optimism (Score:5, Interesting)

    by delta_avi_delta (813412) <dave@murphy.gmail@com> on Thursday March 31 2005, @11:12AM (#12100572)
    We had some very good project management classes in college. During one, the lecturer asked us to give answers to a pop-quiz, but we could give the answer as a range, for example, for "How long is the Danube" you could guess "1000-1500km" with no limits.

    Even with the benefit of fixing our estimates as we liked, the entire class did very poorly. The morals of the story were

    a) people are over optimistic in the accuracy of thier predictions

    b) even, in our case, when we could have given zero-to-infinity ranges, we tied ourselves to restrictively narrow frames.

    I thought it was fascinating, it's one of the few classes I remember vividly.
  • story (Score:5, Funny)

    by justforaday (560408) on Thursday March 31 2005, @11:13AM (#12100577)
    Wasn't this story supposed to be run yesterday?
  • by stlhawkeye (868951) on Thursday March 31 2005, @11:26AM (#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 DoofusOfDeath (636671) on Thursday March 31 2005, @11:30AM (#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.
  • if(internal project){
    if(doneByEmployees){
    if(manager.clueless){
    if(manager.schedule.isRidiculous()){
    project.lateness.reason = "Employees came, they saw the schedule, they laughed, then they did the project in its natural timeframe";
    } else {
    project.lateness.reason = "Employees came, they saw the schedule, something went wrong, all hell broke loose, then they finished the project as fast as they could, considering";
    }
    } else if (manager.isEvil) {
    project.lateness.reason = "Employees hate him anyway and ignored his sadistic schedule. General sentiment of 'fuck it, I'm on salary' prevails, manager crashes and burns, employees get reassigned, everybody sings 'ding dong, the witch is dead' and goes to Starbucks for coffee";
    } else {
    project.lateness.reason = "Unforseen problems arose, employees did their best to deal with them, stakeholders wouldn't budge on schedule, so the project was late.";
    }
    } else { // CONTRACTORS! HERE BE DRAGONS!
    project.lateness.reason = "maximization of billable hours (duh)";
    }
    } else { // VENDORS! GOOD LORD, HIDE THE WOMEN, KIDS, AND FARM ANIMALS!
    project.lateness.reason = "Incredible, absolutely amazing scope creep, maximization of billable hours, platform/system/vendor changes midstream, refusal to engage in technology transfer as extortion technique, total screw up of vendor, outsourcing to country without indoor plumbing (but assume they can handle high technology), etc, etc, etc";
    }

    Did I miss anything? ;)
  • Yep. (Score:5, Interesting)

    by JustNiz (692889) on Thursday March 31 2005, @12:37PM (#12101578)
    I'm a software developer now resident in the USA for about 5 yrs. Preivious to that I've been a developer and consultant working all over europe.

    In my experience, a much higher percentage of European projects are delivered on time than US ones. The simple reason is that in Europe, engineers are more respected and are usually tightly involved with the requirements gathering/planning phase.

    Unfortunately in the US it usual practice to keep engineers away from clients and only involve them when everything is already agreed on paper. This means that the engineer gets a garbled requirement to work from, and the technical decisions have already been made/commited to by someone without any technical skills (i.e. sales or management).

    The net result is that the engineer is expected to implement someone elses bad design that usually misses important aspects or doesn't address the actual problem, in a hopelessly optimistic timeline. Furthermore god help the engineer if the customer isn't kept happy.
  • by calstraycat (320736) on Thursday March 31 2005, @01:22PM (#12102080)
    As others have pointed out, all projects are "late". This phenomena is not unique to IT projects. I put "late" in quotes because the projects are usually delivered on time -- from a realistic standpoint -- but the manager has to lie about the cost and time to be assigned the project in the first place.

    There are two type of managers. Let's call them "Honest Joe" and "Sleazy Bob". Both want to lead the project and must meet with the executive who can approve the project. This is how it goes.

    Executive: "Hi Joe. Tell me you much this project will cost and how long it will take."

    Honest Joe: "It's going to cost five million dollars and will take about eighteen months".

    Executive: "Thanks, Joe. You're fired. Before you clean out your office, could you stop by Bob's office and tell him I want to talk to him?"

    Bob walks in...

    Sleazy Bob: "Wow, I really like your tie. You know, I saw that tee shot you made on number four yesterday. Absolutely amazing. Did you ever consider going pro?"

    Executive: "Thanks, Bob. Now about this project. How much will it cost and how long will it take?"

    Sleazy Bob: "Six months and a half a mil."

    Executive: "Sounds great. Get on it".


    Eighteen months and five million dollars later the project is complete and Bob gets promoted.

    If I had a nickel for every time I've seen this scenario play out, I wouldn't need a job anymore.