Slashdot Mirror


95% of IT Projects Not Delivered On Time

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."

654 comments

  1. Nah by suso · · Score: 5, Insightful

    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)

    1. Re:Nah by alexandreracine · · Score: 5, Funny

      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.

      --
      No sig for now.
    2. Re:Nah by bitchell · · Score: 5, Insightful

      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.

    3. Re:Nah by Nos. · · Score: 4, Insightful

      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.

    4. Re:Nah by bitchell · · Score: 1

      Agreed, I have found that when testing begins on a project it is only then that a company fully realises the scale of the project.

      The sheer volume of combinations that have to be tested in systems quite often make the project bigger than the team assigned to it.

    5. Re:Nah by 2nd+Post! · · Score: 1

      If a customer has unrealistic expectations, it is marketing, sales, and customer support who are to blame for not managing expectations.

      If Apple advertised iPods with 28 hours and you got 25, you would be upset; instead iPods are advertised with 18 and can sometimes get 25, and then you are pleasantly surprised.

    6. Re:Nah by Anonymous Coward · · Score: 0

      ... right on schedule!

    7. Re:Nah by Qzukk · · Score: 5, Funny

      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.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    8. Re:Nah by Anonymous Coward · · Score: 5, Insightful

      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.

    9. Re:Nah by Daniel+Dvorkin · · Score: 3, Insightful

      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.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    10. Re:Nah by mattspammail · · Score: 3, Insightful

      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.

      --
      Now accepting PayPal donations!
    11. Re:Nah by Feynman · · Score: 1

      Another reason managers sometime cut it out of plans:

      Because engineers tend to be conservative and can see all the possible ways a project can go wrong, they tend to overestimate the amount of time something will take.

      Most projects I've worked on have been late (on paper) but many were completed by the time management really needed them.

    12. Re:Nah by AllUsernamesAreGone · · Score: 1

      Oh for a "Too damn accurate by half" moderation option :/

    13. Re:Nah by Bellyflop · · Score: 1

      I think executive business success could be easy to measure in a publicly traded company (or even a private one). You can insist that the executives deliver a certain percentage of revenue, profit or stock price increase. Unfortunately, those execs seem to be adept at cheating whereas it might be harder to cheat in software.

    14. Re:Nah by shokk · · Score: 1
      I wonder if this is because most companies overload their IT departments with project? They believe that IT should be churning out results as quickly as their little brown suits can crank out the ideas.

      I know! Lets open all the ports on the firewall so that our customers can easily access the SQL server! While we're at it, let's increase productivity by shifting each employee's mouse to the next employee on their immediate left!

      Maybe they should have found the statistic for what percentage of IT people were actually consulted on the estimates it would take to complete a certain task in a project. Or how many IT departments were asked about whether a certain piece of software would integrate with the company's other systems before the company went out and bought this gigantic package.

      Or maybe they should have a percentage of how many companies actually have people with real project management experience planning projects, instead of treating the projects like some glorified after-school club activity, then getting pissed at IT people who "apparently aren't taking the business seriously."

      Defintely depends on who you ask.
      --
      "Beware of he who would deny you access to information, for in his heart, he dreams himself your master."
    15. Re:Nah by CptNerd · · Score: 1

      Not to mention not enough design time.

      --
      By the taping of my glasses, something geeky this way passes
    16. Re:Nah by Pig+Hogger · · Score: 2, Funny
      My trick is to always report the state of my work as several days (ideally weeks) later than it really is, so in case shit hits the fan (boss gets angry, unforeseen problems, etc.), I can "recover" quickly.

      It also gives me time to check on Slashdot.

    17. Re:Nah by Anonymous Coward · · Score: 0

      Failure again in the specifications...

      1. liquid is not required to be delivered hot. ("on the spot" could have implied that nasty smudge on his desk, so the liquid would be all over the desk.)

      2. An intact coffee mug of standard type in good condition would be needed to deliver the liquid properly and safely. (No need for a lawsuit)

    18. Re:Nah by aoteoroa · · Score: 4, Insightful

      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.

    19. Re:Nah by Ghetto_D · · Score: 5, Funny

      In other news, 95% of people in IT careers habitually read Slashdot.

    20. Re:Nah by Anonymous Coward · · Score: 0

      Time is relative 95% of the time.
      In other news E does not equal MC squared and never has.

    21. Re:Nah by kkerwin · · Score: 2, Insightful

      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

      --
      Kris Kerwin kkerwin@insi__REMOVE_ME__ghtbb.com
    22. Re:Nah by koa · · Score: 4, Funny

      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!"

      --
      ....move along....nothing to see here....
    23. Re:Nah by lbmouse · · Score: 2, Funny

      Why do you need QA? End users make the best testers.

    24. Re:Nah by Anonymous Coward · · Score: 0

      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)


      I'm a developer and I know most of our projects our late. Although I've have had many projects that were completed way ahead of schedule, lately the projects I've been involved in have been very late. With our shrinking crew (people leaving mostly as well as some layoffs) and very aggressive goals, the schedules just aren't realistic anymore, and its almost like we know we can't meet the schedules, but we set dates either to have motivation to work faster or so that the customer will agree to the contract. And then our customers are very slow to actually start using our products when we deliver (sometimes waiting a whole year before trying to use it), so I guess it works out to some degree.

    25. Re:Nah by 2nd+Post! · · Score: 2, Funny

      Yes, and in this case if Jobs is the customer, then his programmers/developers have the duty of customer relations. They should have promised to him 16, given him 25, and then marketing can project 18.

    26. Re:Nah by Anonymous Coward · · Score: 0

      To add to your list:

      The project manager (nearly always 100%)

      Because of automated procedures for setting up customer services, thereby removing control of resources and schedule from the project manager.

      That means my minimum expected finish time is the time specified by the process. But -- each person in each step of the process gets to throw in a day or two of extra time because they couldn't start on time. Then the network team gets to throw in a week or two each month because of "stabalization" freezes. Oh yea, forgot to mention that our procurement dept. is a sucking time vortex manifested as a black hole in our spatial dimension. Then try to add extra services on top. Those are automated too. Same problems, except that the automated workflow system doesn't tie the two together. They get to progress at their own rates.

      Of course "the system is automated" so once into execution I'm not supposed to spend much time on the project. Each schedule slippage is made known to me after the fact. I'm not a project manager, I'm a @!*&(*# babysitter.

      The capper? My management thinks that automating it more to get the PM out of the execution phase will help. We are supposed to only do "custom" projects. PMI certification is oh so important, but each internal re-org (we average several per year) moves us further and further away from project management best practices and further and further toward automated service methodologies. What's the diff between a project and a service? My management doesn't have a clue even when I use single syllable words. Welcome to project management in a Fortune 500 company. Its like working for the government.

      Oh did I mention the "service"? It is setting up servers in data centers. The "extra services"? MS-SQL, IIS, Apache, etc. Thank God the operating system build is part of the base setup. Otherwise the web/middleware guys would be installing on bare metal.

      I'm sure more outsourcing and cost-cutting makes up for this. Yea, I'm so sure it does. Lets do some more...

    27. Re:Nah by Qzukk · · Score: 1

      I realized after I submitted it that I had forgotten to include a specification for the container to store and present the liquid in and a timeframe in which to complete the task. (I didn't think about the temperature at which the product was to be presented, though.)

      But I think we've all dealt with people where we'd want to dump the coffee all over their desk as retribution for their failure to clearly specify what they wanted ;)

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    28. Re:Nah by Soruk · · Score: 1

      There are reasons why MailStripper releases never happen to a schedule. They just happen when they happen.

      --
      -- Soruk
    29. Re:Nah by Anonymous Coward · · Score: 0
      The developers and programmers are bad payed or bad sub-contracted with very little money.

      So, the results are insatisfactory, the problem was from the boss or from the contractor.

      If they were well payed or well contracted (e.g. + +50% incentives forwarded) then the projects IT could be satisfactory.

      open4free ©

    30. Re:Nah by OwnedByTwoCats · · Score: 1

      The other problem with measuring the success of management is a tendency to make the current numbers look better at the expense of future numbers. Booking the revenue this year, when the customer is actually going to pay next year, if the customer is still there.

      Just the tip of the book-cooking nightmare.

      Exec's want all the credit for the successes, and none of the blame for the failures.

    31. Re:Nah by Anonymous Coward · · Score: 0

      Einstein is rolling in his grave somewhen.

    32. Re:Nah by computational+super · · Score: 4, Insightful

      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.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    33. Re:Nah by smittyoneeach · · Score: 1

      Och, the deliverable is the piece above the waterline. Who but a naval architect can calculate the size of the iceberg?

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    34. Re:Nah by voseman · · Score: 2, Insightful

      I bet it all has to do with the following phrase:
      "How hard would it be to make this small change"

    35. Re:Nah by SecretSqrl · · Score: 0

      It is not impossible to predicate a projects cost. There it is not possible to appraise an IT groups performance. If you have no way of appraising an underlings performance, what do you do? You say they are underperforming and tell them they better do better or else. If an executive were to give IT the benefit of the doubt, they might go lax, right?

    36. Re:Nah by Coryoth · · Score: 4, Interesting

      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.

    37. Re:Nah by Ohreally_factor · · Score: 1

      I worked for a company that made tutorial CDs for popular video/multimedia software. We also created marketing CDs for some video equipment makers. Very small company, but we had the same problem. The owner would constantly interrupt whatever we were doing so he could tell us his latest great idea. If we weren't able to shoot him down, we'd have to implement it. If you shot down too many ideas, you weren't a team player, problem solver, etc., and you were out of there. It was like the boss had idea diarrhea

      Once at lunch, a coworker said, "It's like J___ craps into his hand, then holds it in your face and says, 'smell this and tell me what you think.'" Not to long after that, I finally told him (politely) that his shit did indeed stink*.

      Oh, and because we were constantly behind and missing deadlines, every few days we'd have these time wasting meeting to brainstorm how we could "work smarter, not harder". That was the boss's favorite slogan. The meetings were excruciating, especially early on when I gave a shit about what I was doing there.

      Anyway, I actually feel sorry for the guy. He was the victim of reading to many management books and he subscribed to Business 2.0.

      *What I actually said was somthing like this: "You've got an incredibly creative mind and you're constantly coming up with amazing ideas, but it would be good if you wrote them down first, so you could prioritize and choose which ideas are the best and most applicable." Call me a coward, but it's a small world.

      --
      It's not offtopic, dumbass. It's orthogonal.
    38. Re:Nah by Anonymous Coward · · Score: 0

      I would have just told you to fsck yourself and get your own coffee. No spec needed and guaranteed to be correct. I'm nobody's coffee biatch.

      I don't care if you are the CEO, demanding coffee on the spot will get you nothing but a "lol".

      l8,
      AC

    39. Re:Nah by Ohreally_factor · · Score: 1

      Well, the headline isn't so much misleading as it is just plain wrong. Do the editors actually do any editing here? (I'm not new here, that was a rhetorical question.)

      --
      It's not offtopic, dumbass. It's orthogonal.
    40. Re:Nah by ect5150 · · Score: 1


      I think you're leaving out the "on-time" and "on budget" criteria for software success as well. Otherwise I wouldn't be too quick to jump on labeling anything a success.

      --
      I have never let my schooling interfere with my education.
    41. Re:Nah by m3talsling3r · · Score: 1

      Pretty damn insightful. Good luck trying to get the majority of programmers to follow that though. I've tried, as a fellow programmer, to get other project team members to formalize; they'd much rather build, test, and then come back to me later to ask what went wrong. On the other hand, you'd have to learn a hell of a lot of systems to just start formallizing your code. There are so many destablizing factors in systems you are dependant on, that it's nearly impossible to not have a testing period. All I can say is to make sure that your system can be depended on once it's done... that's the only way to break the chain of failures.

      --
      My sig is as boring as you...
    42. Re:Nah by nospmiS+remoH · · Score: 1

      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.

      Features, yes, those you can measure. Usability and stability? That is not as clear as you imply. What I consider to be usable and what you consider to be usable may be very different. And what exactly is "stable" in the context of software? Is Firefox a "stable" program? It has crashed on me a few times. What about Windows?

      --
      !hoD
    43. Re:Nah by Anonymous Coward · · Score: 1, Interesting
      The problem is not as simple as your answer would lead people to believe. You can, of course, formally validate that a program works as planned. You can use clean-room software building techniques and in the end have a (near) bug free implementation.

      However (and it's a big however), it still doesn't mean that your solution is correct! Did you get the requirements right? Is your system what the users expected? Is the interface layout easy to use? Is it fast enough to be useful? Does it add value to the customers toolset? These are all questions that formal software techniques don't address. And the only way to address them is to "build, ask, and test."

      You can't generalize normal software development into engineering. Some of it (for instance, the stuff that keeps the space shuttle from crashing back to earth) COULD benefit from those techniques. However, this certainly doesn't fall into the "normal IT" category.

    44. Re:Nah by Stevyn · · Score: 3, Insightful

      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.

    45. Re:Nah by computational+super · · Score: 2, Insightful
      Did you know that there are formal methods for software design

      ... that don't work ...

      --
      Proud neuron in the Slashdot hivemind since 2002.
    46. Re:Nah by trops · · Score: 1

      Many people compare software design with building something. But the correct comparison would be to compare with *designing* something.

      Building a bridge, toaster, house .. whatever.. is only the final execution (like coding). Projects for bridges, toasters or houses are behind schedule just like software projects.

      And about the formal standards - they are required in case the software could kill somebody (like for bridges, houses, toasters). Otherwise - it is not my busies how my neighbor did build his kitchen table..

    47. Re:Nah by computational+super · · Score: 0, Troll
      Did you know that there are formal methods for software design

      So... I assume you know these methods and are skilled at applying them, then? So... you can commit to delivering any arbitrary software project to a deadline (even a deadline of your choosing)? Didn't think so. Spoken like somebody who's never written a program bigger than "Hello, World."

      --
      Proud neuron in the Slashdot hivemind since 2002.
    48. Re:Nah by Lumpy · · Score: 1

      in the company where I work? it is 100% are never on time from the rest of the offices. Mine are always on time or early if no changes are made.

      I always give a realistic picture to management when they ask, and they hate it. the other office in southfield will promise the moon and happily come in weeks and months behind.

      the IT worker and the IT manager is utterly useless as a project manager if they can not give an accurate, realistic, and HONEST quote on the information needed to set up ther deadline.

      and typically that is the problem. Usually there is NO project manager designated for the project. someone to tell upper management that any change will add weeks increase costs anf generally not simply stand there and blow smoke up people's asses to make them happy.

      --
      Do not look at laser with remaining good eye.
    49. Re:Nah by Anonymous Coward · · Score: 0

      No. Your simplistic view of the world is silly. Straight from the top of my head I can think of two examples where a bridge was designed and built using a new design and proved to be flawed. The Tocoma Narrows bridge and the Millenium Bridge (London). Both bridges have something in common; no brige of the same design had been constructed before, and they were built using the best information available to the engineers.

      "Writing software should be like building a bridge" is just nonsense.

    50. Re:Nah by Anonymous Coward · · Score: 0

      There's another issue at stake here, the purpose and function of a bridge is insanely simple.

      Can you imagine what would happen to bridges if the engineer's design underwent countless redrafts and change requests durring it's design (and worse, while it was under construction)?

      Business manager says, "No, I don't like where you put those cables. They block the view. And those posts don't properly match our marketing message. Please rip them out and try something more like . . ."

    51. Re:Nah by Anonymous Coward · · Score: 0

      I agree with the other responses to your post.

      I'll add this: there is a reason why many people accept software that is just thrown together, rather than properly designed and proved. It is sort of a lottery mentality. They see the "big winners" of a few projects here and there that were thrown together in a hurry (see: dot-com boom). Beating your competitors to the punch often outweighs the need for well engineered software, especially if the problems are not immediately visible to end-users / customers.

    52. Re:Nah by Anonymous Coward · · Score: 0

      Perhaps it has something to do with the fact that 95% of project sponsors have no interest in accepting the true cost of the work.

    53. Re:Nah by jbolden · · Score: 1

      This isn't neccesarily true. Lots of programming is minor variations of the same project over and over again. Automation of manual process, web programmers doing similar pages, writing middleware components do draw from a specific database....

      In fact if you can break your project down into lots of this type of work it becomes fairly easy to come in on time.

    54. Re:Nah by TheWizardOfCheese · · Score: 1

      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.

      This is very misleading: a lie of the second kind. You are implying that most software systems should be highly reliable because most bridges are highly reliable. But bridges, as a category, only seem so reliable because almost all bridges we encounter are clones of time-tested designs. When someone actually builds a big, new, creative bridge is almost always over-time and over-budget, and often develops structural or material flaws that were not predicted.

      --

      "The good reader is a rarer swan than the good writer."
    55. Re:Nah by iabervon · · Score: 3, Interesting

      Actually, good civil engineers do have a "build and test" mentality, and the ones who don't have their bridges fall down. The thing is that their tests are performed on models and on the materials. The reason they don't build bridges and test them is simply that the cost and danger of having a bridge fall down is too great, so they do enough testing on smaller parts that when they actually build a bridge, they can be sure that it will work.

      With software, the construction costs are negligable and the costs of a full-size model failing are also trivial. The correct engineering discipline in this case is to do the testing on the actual software.

      In order to use a proper engineering discipline for software, you need to document what the code is supposed to do, all of the assumptions about the state of the system, and so forth. Then you need to test whether the actual code does what it is supposed to and maintains the constraints on the data. But you only do a little of this with theory and formal methods; most of it needs to be done by actually trying the code in various circumstances. Traditional engineering is done with a lot of testing of parts, testing of models you hope are similar, some simulation, some intuition, a bit of theory, and a big final inspection.

      Now, it is true that a lot of the engineering practices are missing in the software world. But the things people actually do in the software world are a part of engineering; just not a complete method. And there is an unfortunate tendancy towards producing extra work which is not actually useful in the name of adding superficial similarity to different parts of the traditional engineering process. It is a bit like asking a civil engineer to produce a drawing of a new bridge not to scale without any information about the materials or the site.

    56. Re:Nah by Anonymous Coward · · Score: 0

      I'm sorry, but this isn't really a good analogy. The cost of a mistake (outside of human life) is quite large in even a small bridge, eg the cost of materials/cost of construction. Now, with software, the cost of materials is quite low, as is the cost of manufacturing, (eg compiling to bytecode/executeable). To change a bridge after it has been built is very expensive; changing software after it has been built is not as expensive.

      So really, the processes are very different, and cannot be compared in this fashion.

    57. Re:Nah by Coryoth · · Score: 1

      I said, quite specifically, that formal methods are harder and take longer. Can I deliver to an arbitrary deadline? Of course not. Why am I being asked to deliver to such an arbitrary deadline though? Because the customers don't appreciate that getting correct code is a matter of formal design which is going to be time consuming. Because the customers don't realise that simply throwing something together and running a few random tests is not really sufficient to build a system where stability, integrity, or security are factors. Sure that's a problem.

      My point is that if the people writing the software think throwing it together and running the odd test is good enough, then how the hell are the customers and general public going to learn any better?!

      Jedidiah.

    58. Re:Nah by roman_mir · · Score: 1

      You forgot something. You do know that when a construction is going inspectors come to the site periodically making sure that the builders are following the plan and the best practices of the building properly - working to the code?

      Now you forgot that when you talked about building software. Sure, if formal methods were applied all of the algorythms used to build the software, all of the patterns etc. would be proved in the design phase, so no reingeneering would have to take place (in theory that is, don't forget that specifications can change and you have to reapply your formal methods again completely.) But people who actually BUILD software are not all software engineers or they maybe tired or they are novices etc. They may make mistakes while coding to specifications. Of-course 100% unit test coverage would be a requirement in an expensive project like that (and it would be very expensive to do all of this,) but unit-tests cannot reveal every problem. QA involvement is still required.

    59. Re:Nah by Fulcrum+of+Evil · · Score: 1

      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.

      That's really funny - framing is the fast part. After that, there's wiring, plumbing, insulation, siding, and floors, and they're all done by different people.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    60. Re:Nah by Coryoth · · Score: 1

      However (and it's a big however), it still doesn't mean that your solution is correct! Did you get the requirements right? Is your system what the users expected? Is the interface layout easy to use? Is it fast enough to be useful? Does it add value to the customers toolset?

      You can ask the same questions about bridge design. Did you get the requirements for the bridge right (maybe it actually needs to be able to bear more weight than your requirements said)? Is your bridge what the users expected (Is it in the right place, satisfying the right requirements?)? Is the bridge interface right (Are there enough lanes, support for rail as well, etc.)? Is it light/flexible/cheap enough to be useful? Does it add value to the the local residents lives? These are all questions that formal bridge design methods don't address. That doesn't mean we don't design bridges formally, it means we spend a lot more time getting the requirements properly formalised and documented and checked for correctness. Yes, customers don't expect to have to do that with software, but if integrity, stability, or security are at all important we should be teachign them that such things are part of the process.

      Honestly, can you tell me you wouldn't be far happier if the software for electronic voting machines didn't have a formal requirement specification that you can check and code that has been verified and proven against that specification? I know I would. How about that mission critical database or webserver? How about your email encryption software - there are formally specified protocols from which to build requirements? The little database access frontend that you whipped up for accounting is not going to require formal design, but not all projects have such a high tolerance for faults, security breaches, or stability issues

      Jedidiah.

    61. Re:Nah by starfishsystems · · Score: 1
      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.

      And guess which of the two classes of bridges are more prone to failure?

      The differences between designs of physical systems and software systems are fundamental for three reasons:

      • Software systems are built out of abstractions. In other words, above the level of computation there is nothing analogous to laws of physics that would constrain the solution and establish a common body of knowledge.
      • Software operates in the discrete domain whereas most of our assumptions about the world are based on continuous properties.
      • The configuration space of a software system is many orders of magnitude higher than for a physical system. And as Fred Brooks pointed out, whereas a large physical system is essentially a smaller system scaled up and built with larger numbers of identical components, a software system is not measured by physical but by conceptual size.
      Software systems only appear simple through a great deal of human effort. That illusion of simplicity vanishes as soon as something goes wrong. You don't get a bridge whose truss length suddenly doubles because a bit has been flipped somewhere in the system.

      None of this goes against your point that formal methods are valuable. However, it's worth remembering that such methods don't transform the fundamental properties of a software system into something analogous to a physical system. And even the design of physical systems using our best science and engineering methodologies can produce imperfect implementations.

      --
      Parity: What to do when the weekend comes.
    62. Re:Nah by Coryoth · · Score: 1

      Which comes straight back to the point that it is a matter of changing the expectations of the public with regard to how software design and construction works. How do you expect to educate the public when the developers themselves are accepting of half assed hack it together methods even for critical systems? Where the hell was Diebold's formal specification and validation of their code? Do you really believe they shouldn't have bothered with such a thing?

      Jedidiah.

    63. Re:Nah by stonecypher · · Score: 1

      You usually don't spend weeks testing how the wall interacts with the drywall and foundations.

      You do in any building over eight stories tall.

      --
      StoneCypher is Full of BS
    64. Re:Nah by computational+super · · Score: 1

      While that tends to be true, somebody who's planning projects that way is missing something fundamental. If the programming project is a "minor variation" of the same project, that project should be implemented once, templatized, and the template rolled out with new parameters, rather than implemented as a full-blown programming project. If, for some reason, this can't be done, then the project is no longer a "minor variation" of another one. Case in point - content management systems. Managers love to buy content management systems. Content management systems (simplified) are a "web-site in a box". You just fill out the parameters, press the button, and Presto! you've got a web-site. So how come so many e-commerce sites end up scrapping their content management system or severely underutilizing it? Because the parameters aren't generic enough to suit the business. And now you're back to a new, heretofore unsolved problem, whose implementation can't be rigidly scheduled. (Not that they won't insist you do so...)

      --
      Proud neuron in the Slashdot hivemind since 2002.
    65. Re:Nah by jbolden · · Score: 1

      and the template rolled out with new parameters

      If you look at my examples a lot of them fall under the "the template rolled out with new parameters" definition. In general agree witht the rest of what you wrote.

    66. Re:Nah by Retric · · Score: 1

      But he said even a deadline of your choosing the problem with software is if your building something 100's of times more complex than the average building on foundations that are not stable.

      A friend of mine developes imbeded apps a few years he was talking about a project he was working on where he needed to keep track of the flow of a flow and respond with the totals on receving the queries. Well he this task had been given to somone else who built such a program put it into the field but it was haveing a 2% failure rate. Well now know's what's going on the systems memory is geting corruped over time so now he has to write something as close to self healing software as he can all the time keeping it under 386bites! of memory on a chip running at like 32KiloHz. Well he got something as close as he thouht was posible and it met the customer's needs falure rate droped to less than 1 in 10,000 and many of those notieded that they where corruped. But at the same time if he needed to he could have increased the CPU speed but it would have increased the cost's so he has to try and see if he can get it to work before saying what system he needed to have it run on. So it's volitile memory Including the memory that the program resides while it's running vague requierments as to how good "good enough" is and a prefred but not required system to run the thing on. Now compared with a bridge where the user's have some idea what his needs are and your given safty margins when building it aka 25% stronger than it needs vs bleeding edge can this work any faster / uses less memory. Pluss with building bridges the design is such a limited aspect of the overall project that most of the time there given as much time as they need to finigh the design afterall when the design is less than 2% of the net cost's most people are willing to get it right. We have also been building bridges for 1000's of years and they still fall down.

      A long time ago a law was passed where by if a house that you built falls and kills the owner then your put to death. That is what created the idea that builders are responsible for building systems that work where with software most people want it as cheep as they can get it and are willing to work with buggy code so they end up with buggy code.

      PS: If you want error checking on this post pay me and I will do so untill then you get what you pay for.

    67. Re:Nah by Dirtside · · Score: 1
      For some reason we accept that software should be just thrown together rather than properly designed and proved.
      The simplest reason is that for all but a tiny, TINY fraction of software projects, the worst thing that a catastrophic failure can cause is data loss. Whereas with bridges, failure can mean that people die. Therefore, quite understandably, bridges are held to a much higher standard than software. Besides, life-critical software projects ARE held to a much higher standard than e-commerce websites or consumer word processing software.

      Also add in that bridge-building as a discipline is thousands of years old; software engineering is a few decades old. And that bridges typically serve a single, simple purpose, whereas software depends on the complex interaction of thousands of elements that are not well-understood.

      --
      "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
    68. Re:Nah by BranMan · · Score: 1

      Actually, what I use is that building software is like building an airplane (I used to work with a lot of Air Force guys).

      Like an airplane, software is most often dozens or hundreds of small parts, some new, some existing, that all have to work together, as inteded, to 'fly'. It doesn't always go as planned.

      Some customers hand you a set of vague specs and show up a week later to see how much code we've written, and get upset when told we're designing. To put that in perspective, ask if they give specs for a new aircraft and show up to see how much of the airframe is built the following week. They should expect to see some design taking place.

      To show the need for testing, again reference the airplane - we've just finished coding, which is equivalent to the first prototype aircraft for a new design. We now need to test it rigorously, just like an airplane is tested, and modified to correct problems unforseen in design and construction. Would your customer dare get in the cockpit of the first prototype of a new aircraft?

    69. Re:Nah by Coryoth · · Score: 1

      The simplest reason is that for all but a tiny, TINY fraction of software projects, the worst thing that a catastrophic failure can cause is data loss.

      Sure, but let's be honest, catastrophic failure and data loss can be very very bad. It can cost a company many many millions of dollars. It can cost a country a fair democratic election (presuming they, for some reason, use electronic voting with no paper trail - but why would any country be silly enough to do that?). I'm not proposing formal methods to design a minor desktop application, I'm proposing formal methods for anything deemed mission critical, or anything where security is important. There are plenty of projects that fall into those sorts of categories for which no real level of formal design is used.

      And that bridges typically serve a single, simple purpose, whereas software depends on the complex interaction of thousands of elements that are not well-understood.

      Yup. I never said software engineering was as easy as bridge engineering, merely that it is possible to do the same level of design and engineering. Formal specification, verification and validation of software is hard. It is still an active research field. That does not mean, however, that practical systems for doing it are not available. It can be done. As I said, in the worst case you can restrict yourself to formal methods for just those small components of the total system that are the most critical - validate those.

      I think the real problem is that too many developers are unaware of what is available in the way of formal methods. If you don't know what can be done, of course you're not even going to consider it for your project. It may, or may not be appropriate, but if you don't even know what can be done, how can you judge appropriateness?

      Jedidiah.

    70. Re:Nah by rainman_bc · · Score: 1

      Non IT people just don't understand why code isn't written correctly the first time.

      I blame non-technical project managers writing scope docs. really it's all their fault. IMO a project manager should work as a programmer before telling programmers how to code. I think we respect project managers who've worked as programmers way more than non-technical ones.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    71. Re:Nah by plopez · · Score: 1

      Testing should occur throughout the complete cycle, begining with requirements, not just at the end. A common misconception. People are used to an industrial form of testing (when something rolls off an assembly line) but for software usually by that time it is too late.

      --
      putting the 'B' in LGBTQ+
    72. Re:Nah by freeweed · · Score: 1

      Man.

      Just imagine the stick figures needed to represent that.

      --
      Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
    73. Re:Nah by Tassach · · Score: 1
      Did you know that there are formal methods for software design
      ... that don't work ...
      You hit the nail right on the head.

      Bridge building, as an engineering discipline, is at least 2300 years old -- there are surviving Roman bridges which were built ~300BCE. ENIAC, the first electronic computer, was built in 1946; so the discipline of software engineering is, at most, 59 years old.

      Most "formal design methods" are ivory-tower theories that have little relationship to the real world, and, for the most part, have never been PROVEN correct. Like Economics, Software Engineering theories are, more often than not, thinly disguised political ideologies as opposed to hard science.

      As it stands now, there isn't a development methodolgy where you can say "If I follow this process EXACTLY, I'm 100% guaranteed to get working software in a predictable amount of time". In my 16 years in the field, my observation has been that even the best formal methodologies work less than 50% of the time, even when followed to the letter.

      --
      Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
    74. Re:Nah by Anonymous+Luddite · · Score: 1

      >> Non IT people just don't understand why code isn't written correctly the first time.

      In the same vein, some of them can't tell the difference between a work in progress and the finished product. Ever have some PHB ask to "see what it looks like", call it finished and assign you to the next project? I try to keep the UI butt ugly right to the end for this reason. If they see controls that aren't scaled or HTML without the css, they "know" it isn't done yet...

      ...much easier than explaining the SDLC.

    75. Re:Nah by koehn · · Score: 1
      The reason that software projects aren't tested before deployment the way that bridge designs are is because the cost of rebuilding a bridge that fails (requiring it be rebuilt) is so much higher than the cost of rebuilding software (which is essentially zero). There was a whole series of articles about this here.

      Basically as long as management requires short deadlines in lieu of quality, they'll get what they ask for.

    76. Re:Nah by jafac · · Score: 1

      Well, the fact is;
      You Can't Please Everybody.

      Out of any sample of 100 managers, customers, users, etc. you'll never ever not once ever find 100 people who are 100% satisfied.

      On the other hand, when my manager asks me how long it will take to finish task X, I estimate, I carefully weigh all the risks, I imagine disasters, unforseen gotchas, catch-22's, last-minute re-architecting, I anticipate feature-creep. . . then I multiply that by 10.

      And at the end of the project, I'm still wondering how we ended up so far behind.

      I know that SOME OTHER developers (not naming names) promise rosy schedules to their managers in order to get leeway on vacations, or to get the privilege of working a particular problem or with a particular tool or technology, then act all suprised when they end up behind. Which is essentially the same thing the Program Manager does when he tells Gartner that they'll have the absolute killer-app done by next month, or what a salesperson does to convince a customer that the patch that will fix their problem will come out next month (so please please please don't switch to our competitor. . . ).

      That's probably the biggest source of this problem.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    77. Re:Nah by Billly+Gates · · Score: 1

      Most projects fail due to lack of specing and planning.

      Building a house is correct and they need to realize blueprinting is the hardest part.

      This is advise from my old man who never failed an IT project in 20 years. Sell your solution in stages and always get the business/customer the option to quit at any stage. Never give an estimation of hte price unless they know how much money X will make or save but really you never do that. Just give a price for each stage and a timeframe. This will make risk obverent PHb's more comfortable.

    78. Re:Nah by DA-MAN · · Score: 1

      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

      That's true, it's not like engineers test things out with models or computer simulations before building . . . Oh Wait!

      This is not a mentality, it's the way everything is engineered. Why do you think there are wind tunnels to test aerodynamics, do you think the known methods for jet design are full of shit or something? Software Engineers are different because they deal with humans, not physics! Physics can be calculated, human stupidity can NOT.

      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 there are formal methods for software design, the problem is not lack of design as much as feature creep. I've seen projects creep from small to large overnight because management or end users decided that they should be able to do X, without realizing how different X is from the design we made for Y.

      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.

      Bridges have to be able to sustain their weight + weight of cars & resist the elements. That's not a hard thing to build for, very few requirements and known variables in the form of physics. I'm not trivializing building a bridge, but stating that most of the variables are known formula's. Software is built to specs written by humans, sometimes for other humans. This introduces quite a bit of error into the formulation.

      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.

      Most of the developers I work with try to follow best practice and standards, however it's just not always feasible since most projects have piss poor project management. If things were properly mapped out from the start and dead locked until finished, we wouldn't have the problems we do now.

      I'm not saying software engineers are infallable, and I'm not saying you don't make any good points. All I'm saying is build/test (virtual or model or code tree) is part of the engineering process. You can't take that away without risking safety, no matter what method is used for development.

      In addition, software engineering is not the exact science as structural engineering and thus can not be compared. Structural engineers deal with the elements (wind, rain, etc.) and constants like gravity. They don't deal with people who want to get a project started but don't know the scope. The main problem with software engineering is the project management, not the methodology used in building the software.

      --
      Can I get an eye poke?
      Dog House Forum
    79. Re:Nah by Oligonicella · · Score: 1

      "However (and it's a big however), it still doesn't mean that your solution is correct! "

      "Did you get the requirements right? "
      You mean you didn't run your interpretation past the client?

      "Is your system what the users expected? "
      You mean you didn't show the system to the users during development?

      "Is the interface layout easy to use? "
      You mean you didn't have the users test and comment on the IL during development?

      "Is it fast enough to be useful? "
      You mean you didn't test it, and on production data?

      "Does it add value to the customers toolset? "
      You mean the client didn't come to you with the request for a tool that they needed?

      Could any of those reasons be why your 'solution' isn't correct?

      "These are all questions that formal software techniques don't address."
      Yes, they do. Apparently you don't know the techniques.

      "And the only way to address them is to 'build, ask, and test.'"
      No, it's not. Analysis, design and client inclusion are easy and time-saving steps you could take.

      "However, this certainly doesn't fall into the 'normal IT' category."
      There is no 'normal' IT category. Development is development. One choses to, or not to, use the analytical, design, test, and implementation techniques that are available. It's a choice, and most of the time, inexperienced IT'rs make the wrong choice. Only oneself is to blame for the decisions made.

    80. Re:Nah by DA-MAN · · Score: 1

      My trick is to always report the state of my work as several days (ideally weeks) later than it really is, so in case shit hits the fan (boss gets angry, unforeseen problems, etc.), I can "recover" quickly.

      Aye laddie, do they call you miracle worker in your office?

      --
      Can I get an eye poke?
      Dog House Forum
    81. Re:Nah by computational+super · · Score: 1
      why programmers aren't "Software Engineers"

      That's because programming isn't engineering, Captain Obvious. (It's much more difficult).

      --
      Proud neuron in the Slashdot hivemind since 2002.
    82. Re:Nah by Coryoth · · Score: 1

      The cost of a bug in software found after deployment is vastly higher than the cost of a bug found prior to deployment. That coul take the form of a bug causing severe data loss or downtime in a critical production environment, or it could take the form of a security vulnerability is a deplyed product.

      If your software is intended to fulfill a critical role, be dependable, or be secure, then "rebuilding" after the fact comes at an extremely high price. Not every desktop application needs to be built to serious engineering principles, but if the application is "mission critical" then perhaps you ought to consider what you can do besides a bit of testing to be sure it is going to be stable and work as intended.

      Sure, if management persists with short deadlines you'll never be able to produce quality. Pretending that proper engineering of systems isn't necessary is only going to help lower managements expectations of how hard it is to develop software.

      Jedidiah.

    83. Re:Nah by Oligonicella · · Score: 1

      Here's from someone who is skilled and experienced in these methods. Sure, I'll commit to creating a deadline for an arbitrary project and meeting it. I've done it before. In fact, I've committed to numerous projects with deadlines in my career, and normally made them. Why? I know how I work and can project the time needed. That, by the way comes under the phase called analysis. Deadlines are generated there, not before.

      This spoken by somebody who's written systems much larger than "Hello, World." Systems that have passed banking audits, by way.

    84. Re:Nah by 3rdParty · · Score: 1

      When one decides they need a bridge, they go to the people who build bridges and make a request. The bridge builders work out a design, determine the time frame for completion, and then try to stay on schedule.

      When one decides they need a software project, they go to people who build software, and tell them they need X package by next Saturday. The software builders work out a design, determine the neccessary manpower to comlete the project by next Sarutday, based on the myth that 2 people can accomplish as much as one, in half the time.

      One main difference between bridge builders and software builders is that bridge builders know they cannot just throw bodies at a project and halve construction time. Another is that to a certain, greater degree, bridge builders are not forced to accept a client's time frame - Time To Market is not an over-riding factor.

    85. Re:Nah by Oligonicella · · Score: 1

      "... the worst thing that a catastrophic failure can cause is data loss."

      You mean like the resolved identity of an incoming high-atmosphere, high-velocity object?

    86. Re:Nah by rossifer · · Score: 1

      For some reason we accept that software should be just thrown together rather than properly designed and proved.

      I'll sum up some of the sibling's answers by saying: the reason formal methods aren't used more often is that we (developers) don't trust the original spec.

      Bridge builders have the luxury of stable requirements. X number of lanes, here's the local geology, here's where we want the bridge. With software, at best you have a clear concept of the problem the system should solve (in many cases, you only have a vague idea of what the real problem is). If you come up with a detailed design, formally specifying everything, and then the design happens solve the problem poorly, you've wasted an enormous amount of time.

      If, instead, you develop a prototype, get it in front of users, see how they use it, see what problems they have, and iteratively learn what the design is as you write the solution for it, you're much more likely to solve the real problem quickly. Like all things, however, this involves a trade-off: this approach trades correctness and usability of solution for a deterministic schedule.

      In all design projects, there are four primary variables: cost, time, features, and quality. You are usually constrained by one of those and you get to optimize for one other. The two remaining variables are not controllable. Your proposed approach (like most formal approaches) optimizes for quality and assumes that features are fixed. Beware of time and cost, because you cannot control them. In this case, time and cost will bite you in the form of costly and time-consuming rewrites to all of that formal documentation when the first version doesn't really do what the users need. NASA writes software like that, but they are aware of the time and cost variables and budget for them. And they do pay.

      Regards,
      Ross

    87. Re:Nah by vsprintf · · Score: 1

      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.

      You sound like my manager. I'm afraid the orange juice you demanded wasn't really, and HR is wondering why some of the random testing samples are short. You may learn from this experience.

    88. Re:Nah by Master+of+Transhuman · · Score: 1


      Ah hah!

      You forgot to specify the CONTAINER which would hold said eight ounces of liquid.

      You just got eight ounces of hot liquid dumped on your keyboard...

      Have a nice day.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    89. Re:Nah by Coryoth · · Score: 1

      Which is really a long excuse for failing to go through the design stage where you work with the end users to develop a formal requirements specification.

      If you are designing a new GUI frontend for database access, sure, you probably want to have flexiility in requirements. If you are writing a mission critical application of any kind (pretty much anything where stability, integrity, or security are important) you really ought to be get a formal specification of requirements worked out with the user before you start. Make it contractual. If you can't fully spec the whole project, formally spec the critical parts (say the backend) and don't bother with the formal development of the GUI frontend for the users - the principle being that the part that has to work will work, and if the GUI fails - well, your design should isolate that so that it can't cause any data corruption or loss at the backend which is formally specified, and guaranteed not screw up.

      I'm interested, do all you developers do nothing but write software where the costs of failure, data corruption, data loss, or security breaches are negligible? I thought all these slashdot people were busy writing mission critical enterprise applications (well, not really).

      Jedidiah.

    90. Re:Nah by elsilver · · Score: 1
      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.

      Aha! I recognize you! You must be one of those marketing droids who can't tell the difference between specification and design.

      Whether I decide to implement "coffee" by passing hot water through ground beans, or by extracting it from the sweat glands of the Amazonian coffee-fish is my decision as the architect/implementer. All you get to do is tell me what you want, not how I have to make it for you.

      E.

    91. Re:Nah by Meetch · · Score: 1
      No no no! You never changed your mind! The product delivered simply didn't meet your expectations, therefore they failed to properly analyse the requirements and determine that "coffee" really means "tea" and you were absolutely certain that the "bagel" feature is a well established standard that should have been on by default!!!

      Never mind that immediately after ordering the product you relocated yourself to another part of the building, fully expecting the delivery address to be updated on-the-fly.

    92. Re:Nah by Dirtside · · Score: 1
      You mean like the resolved identity of an incoming high-atmosphere, high-velocity object?
      Perhaps you could rephrase that into English, and then explain what that has to do with my entire claim, not just an out-of-context part of the sentence.
      --
      "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
    93. Re:Nah by rossifer · · Score: 1

      Which is really a long excuse for failing to go through the design stage where you work with the end users to develop a formal requirements specification.

      Then you didn't read what I wrote. If you actually go through that exercise and implement the system that was designed in the formal exercise, 90%+ of the time, what you build will not be what the end users need.

      And that is a risk just as substantial as the other real risks you've mentioned. If the system corrupts customer data, it's worthless (or worse). If the system allows unauthorized people to see confidential data, it's worthless (or worse). If the users can't get done what they need to get done (no matter what they think that might be at the start of the project), it's worthless (or worse).

      I'm interested, do all you developers do nothing but write software where the costs of failure, data corruption, data loss, or security breaches are negligible?

      This is a strawman. Just because I stated that formal methods rarely if ever result in successful projects outside of NASA doesn't mean that I don't think quality is important. Implemented quality needs to be balanced against quality requirements.

      Of course the system should't corrupt it's data. But a formal spec doesn't actually deliver that benefit. Smart implementation and time to do effective qa from the beginning (yes, including the design step) deliver that benefit.

      your design should isolate that so that it can't cause any data corruption or loss at the backend which is formally specified, and guaranteed not screw up.

      You just have no idea of the cost of an absolute guarantee that it doesn't screw up. It doesn't cost 20% more or even 100% more, an "absolute guarantee" (formal methods) costs 10x to 20x more than "99.9% certain". Our employers almost never feel that the additional cost is worth the reduction in risk from 0.1% to 0% unless lives are on the line, and even then, they'll do just about anything to avoid the real costs.

      Regards,
      Ross

    94. Re:Nah by kpat154 · · Score: 1

      For some reason we accept that software should be just thrown together rather than properly designed and proved.

      As a software engineer, I'd love to have the proper amout of time for design and testing. But, getting management to allot time (aka: money) for design and testing in a new project is like trying to teach latin to a monkey.

      The problem is not the acceptance of thrown-together software. It's that someone decided to put MBAs in charge of software development.

    95. Re:Nah by Xyrus · · Score: 1

      Ah yes, the old formal software process.

      So let's get back to the bridge builder. He knows his materials. He knows the geographical integrity of the area. He knows how much land he'll need. And he has a good idea how much weight the bridge will neeed to support.

      Before the first whole is dug, he has a blueprint. This blue print went through several commitee's and reviews. All the data has been at least double checked. He knows all the dimensions, all the materials, and costs for that bridge.

      Now why can't software engineering be like this?

      The answer is simple. How many times has steel changed in the past 6 months, 12 months, or 18 months?

      How many times has the format of blue prints changed in said time span?

      In general, how often does the geological stabilty of an area change?

      How often do things like concrete, nail-guns, etc. change in 18 months?

      The problem with trying to apply a fixed solid process to software engineering is the fact that the whole thing changes so fast that by the time some standard is approved, it needs to be changed again.

      And then, of course, the process only works when everyone follows it. This includes the customer. Good luck on that one.

      Can you imagine how pissed a bridge builder would be if they were half way through and then the city comes by and says "we want all the bolts to be eight sided, and we won't pay you until it's done"?

      This is the REAL WORLD of software developement. Sure, you can have internal procedures they may make life a little easier but that is of little help when you're management has to deal with an irate customer because he never reviewed the design.

      SEI CMMI? Yep. Works like a charm doesn't it? There are plenty of companies who are CMMI 5 but this still happens.

      And it will continue to happen until certain individuals realize that software is just as complex, if not more so than an engine. You don't slap one together and shove it in a car for consumers without giving it a solid saftey test. Software should be exactly the same.

      But with all the software companies lobbying congress, I seriously doubt will have any sort of software "standards" in the near future.

      ~X~

      --
      ~X~
    96. Re:Nah by Anonymous Coward · · Score: 0

      You can't generalize normal software development into engineering.

      That... is why you fail.

      I am a mechanical design engineer and a programmer. There is very little difference between the two. The biggest difference is that as an engineer I am considered too sloppy from years of hacking on programs, and as a programmer I am considered too formal due to my engineering discipline.

      Actually, the big difference is the build cycle. When I design something, it had better be right because it's going to cost a lot of money to build, so they don't want to do it twice. With a program I can build several times a day to try things out. It makes programming so much easier. No excuses for a bad program, because I tested the damn thing, while a real design might come out bad the first time.

      Anyway, I'll say it again, the design methodology is no different. The challenges are no different. The creativity is no different. The customers are no different. The only difference is in the minds of the programmers, and until they are willing to hold themselves to professional standards they will remain just code monkeys. You should aspire to being a software engineer.

    97. Re:Nah by Anonymous Coward · · Score: 0

      That's because programming isn't engineering, Captain Obvious. (It's much more difficult).

      I agree. Engineering is much more difficult. Then again, programming can be done as an engineering discipline, and it becomes just as difficult. Nobody is willing to pay for that level of quality, though.

    98. Re:Nah by GileadGreene · · Score: 1

      Formal does not mean "rigid process". It means using mathematical methods to analyze requirements and design. Many "formal design methods" have seen extensive use in the real world: Z, the B method, VDM, CSP, and SCR to name just a few. These are not "ivory tower". They work. They have delivered lower defect rates in the same or less time and cost as informal methods.

    99. Re:Nah by GileadGreene · · Score: 1

      You are misinterpreting what formal means. It does not mean that you must use a rigid process. It means using math to actually analyze your requiremetns and design. These methods have been used in teh real world to produce radically lower defect rates without incurring significant cost or schedule penalties. Obviously, that's particularly useful for "safety critical" systems, but would presumably be helpful for "normal" software development too.

    100. Re:Nah by GileadGreene · · Score: 1

      Are you claiming that the Tacoma Narrows bridge would have worked if they hadn't used formal engineering techniques? I didn't think so. The question isn't whether there are ever failures when using formal, mathematical engineering techniques. The question is: "are there much fewer failures than when not using formal engineering techniques?" The answer, for both bridges and software, is YES.

    101. Re:Nah by GileadGreene · · Score: 1

      Spoken like someone who's never worked on a real engineering project outside of the software world. I can't speak to bridge design, but I have designed a few spacecraft in my time (I assume bridges are similar). Spacecraft are very complex. I can assure you that they are very definitely subject to requirements flux. But we spend a lot more time ironing out the requirements in the conceptual design phase. Even then, you can bet that there will be requirements changes further through the design process. It's the use of formal, mathematical models that lets use tame the complexity of the design process, evaluate requirements and designs, and examine the impacts of chnaging requirements.

    102. Re:Nah by GileadGreene · · Score: 1

      Sure, engineers test: to validate assumptions about materials, and to check their models. But they still use mathematical models for prediction, because those models allow the verification of a design relative to a much larger set of conditions than could ever be tested for. Software testing for any system of reasonable complexity cannot possibly cover the entire input range or state space. Mathematical modelling of the design has a much better chance of doing so. Will it guarantee that a system will work? No. Will it provide far greater confidence in the design than test alone? Yes. Does it cost any more? No. In fact there's evidence that it is more cost-effective than a test-only strategy.

    103. Re:Nah by GileadGreene · · Score: 1
      And it will continue to happen until certain individuals realize that software is just as complex, if not more so than an engine. You don't slap one together and shove it in a car for consumers without giving it a solid saftey test. Software should be exactly the same.

      You're right! Software should be exactly the same!

      So why do software "engineers" not use the software analog of the finite element analysis, thermal modeling, combustion analysis, fluid dynamics, and other mathematical modeling that goes into engine design? That's what the grandparent meant by formal methods, not the idiotic CMMI stuff pushed by the SEI.

      Before you object that there's no math for software engineering, allow me to point out that in fact there is. And it has been used in real world projects. I suggest you look up mathematical approaches such as Z, the B method, VDM, RAISE, or SCR.

    104. Re:Nah by poisoneleven · · Score: 1

      The whole low bid then go over your bid is common practice, especially when dealing with Govermnent contracts. The company that does the roads here in Arizona (well, phoenix metro area anyway) bid low, won the contract, has underperformed and been over budget, yet, just recently they were given another long term contract with no penalties for being over budget and no performance requirements.

    105. Re:Nah by Anonymous Coward · · Score: 0

      Before the first whole is dug, he has a blueprint. This blue print went through several commitee's and reviews. All the data has been at least double checked. He knows all the dimensions, all the materials, and costs for that bridge.

      Where did the blueprint come from? A better analogy for engineering vs software development is to realize that the blueprint is equivalent to the code. The same processes, time and effort go into creating the blueprint that go into writing the code. After that, the bridge gets built by hundreds of people at a huge cost, while the program gets built by a compiler over a few minutes or hours.

      I say it's the same process because it is. You get an idea, and you draw a sketch. As you develop all the details, you have to change other parts to fit them in. Sometimes you have to go back over a large portion of the design to make it all work together. When you don't know how something will act in the real world, you test it. You do a survey or get a sample or build a model. You check, review, sign off. Then you build and hope it works.

      Also, the client keeps coming back with changes (either that or mother nature dictates changes). Don't think that software is special in this regard. Customers never know what they want.

      Can you imagine how pissed a bridge builder would be if they were half way through and then the city comes by and says "we want all the bolts to be eight sided, and we won't pay you until it's done"?

      Seen it. They don't have a problem with it, because they have a contract. "Sure, we'll make that change. Here's how much it will cost you." You have to write the contract well, and get the customer to sign off on your plans at various milestones. I'm thinking software companies should hire managers from contractors. ("Oh, you wanted an interface on your software. Well, that was never in the specification you signed, so I'm afraid that will cost you extra. We'll also have to charge you double-time for that change if you want to keep on schedule.")

      And it will continue to happen until certain individuals realize that software is just as complex, if not more so than an engine.

      Some of it. Not as much as a lot of programmers would like to believe. When software companies can't keep people distracted with shiny new chrome, then maybe people will base their purchases on quality and software companies will start doing things right. Until then, you're right, we're screwed.

    106. Re:Nah by Anonymous Coward · · Score: 0

      And many contractors also lie, as do many vendors, and expect you to not throw away the money you already spent on them.

      But notice the article: it didn't say "95% of projects are late" as the Slashdot title claimed, it said "95% of developers admit to delivering some things late". So an honest contractor delivering 9 out of 10 projects on time, and the last one late, still counts towards the 95%.

      The Slashdot title has been cooked, much as some consultants cook their numbers.

    107. Re:Nah by Antique+Geekmeister · · Score: 1

      Nonsense. The "cost of finding a bug" is incredibly variable, and the cost of developing the full benchtest setup of every possibility is often much higher than that of releasing a beta and letting people hammer at it to find some of the interesting corner cases you'd spend millions to workk through in iterative tests in the lab. Finding it in advance is good, but human review and test benches also add up.

    108. Re:Nah by Bellyflop · · Score: 1

      I don't have the answers to this - but I think that the problem is that there's no good metric for long term success. Maybe options with longer vesting periods for executives? Personally, I think that fiscal liability contracts would be great, but I'm not sure that they would work. Wouldn't it be great if everyone who had to have faith in their word had some sort of fiscally-based recourse if they proved to be dishonest?

    109. Re:Nah by GileadGreene · · Score: 1
      Yes, formal software methods are hard and time consuming compared to just building and testing.

      That's not necessarily true:

      1. I suppose that formal methods are arguably "harder", if by harder you mean "the developer actually has to understand what they are doing". But writing a program is writing a formal specification of what you want the computer to do. The formal methods crowd just advocate writing one or more specifications at a more abstract level as well, preferably in a notation that is amenable either to logical reasoning or mechanical state exploration (or both). The abstract specifications can be considered "prototypes" of the eventual system, that allow one to iron out assumptions and get the overall logic of the software right before you implement all the little details. Which is not to say that you won't revise your abstarct specs later based on things learned during coding - but having multiple layers of abstraction makes it easier to manager the conceptual complexity of the design process. It's really no different than building a bunch of UML models - except that formal models can actually be analyzed, while UML models rely on intuition an visual inspection to verify correctness.

      2. There's good empirical evidence that formal methods do not actually take any longer than informal methods. Time spent developing formal models is gained back in a shorter test and debug cycle. There are many projects that have used formal methods such as Z or B to produce complex software in the same (or less) time as an equivalent project that does not use formal modeling. Those projects have typically also produced significantly lower defect rates in their delivered software. IBM reported a 9% cost reduction on the CICS project, and a much lower defect rate (although I don't have numbers). Praxis Critical Systems reports reductions in defect rate of up to an order of magnitude (depending on the system) with no increase in cost (see for example the UK CAA's CDIS system, or the Multos Certification Authority).
      Are formal methods a silver bullet or panacaea? No.
      Do formal methods completely eliminate defects? No. But they can reduce their occurrence significantly.
      Do formal methods take longer? No.
      Do they cost more? No. In fact they can often result in cost savings.
      Are formal methods "harder"? Not really.
      Why aren't they used more? Because most software "engineers" are scared of learning the (actually relatively straightforward) math involved - it might take the fun out of software development! They'd much rather continue to perpetrate random acts of hackery in the hopes software that passes its unit-tests will continue to function as expected when applied to inputs that fall outside the range of test-cases they have tried.
    110. Re:Nah by alder · · Score: 1
      ...for starters the designer doesn't run with a "build and test" mentality. There are formal methods for bridge design...
      :-)

      You are making an assumption here, that some very clever people just sat and developed those formal methods for bridge building. And then bridge engineers, as responsible professionals studied them and started building briges, very formally and by applying methods to prove the stability and properties of the bridge...

      How do you think those formal methods have been developed in the first place?! If not via "build and test"? How many bridges have fallen down before designers new enough to formalize their methods?

    111. Re:Nah by Coryoth · · Score: 1

      How do you think those formal methods have been developed in the first place?! If not via "build and test"? How many bridges have fallen down before designers new enough to formalize their methods?

      I'm talking about formal mathematical analysis, not a strict "you do this, then this, then this". Once Newtonian physics, calculus etc. was hammered out, mathematical analysis and proving of designs didn't require all that much testing at all - merely a bit of testign to get a good idea of how much error tolerance to factor in to cover the vagaries of the real world.

      The computer world is pure binary data. It has no such vagaries. It is all just mathematics. So yes, someone has to sit down and figure out how to do the math to prove a program. Interestingly people already have. There's no testing involved in this, it's a matter of rigourous mathematics.

      Naturally such a thing doesn't eliminate the need for testing, but it does drastically reduce th amount of testing required (as well as letting you design, for instance, a statistically significant sampling of of the test space), and it gives you a whole new level of checks and assurances on the quality of the code that testing simply can't compare to.

      Jedidiah.

    112. Re:Nah by Coryoth · · Score: 1

      You just have no idea of the cost of an absolute guarantee that it doesn't screw up. It doesn't cost 20% more or even 100% more, an "absolute guarantee" (formal methods) costs 10x to 20x more than "99.9% certain". Our employers almost never feel that the additional cost is worth the reduction in risk from 0.1% to 0% unless lives are on the line, and even then, they'll do just about anything to avoid the real costs.

      I can't imagine a testign regimine that guarantees you 99.9% certainty of correct performance that manages to cost less than a formal method to prove your code, and associated targetted testing, that would give you the same 99.9% certainty. Exactly how many years of testing do you do? And where do you get that "...(formal methods) costs 10x to 20x more" from? I've never seen anything that gives figures like that. Another poster claims that formal methods costs the same or less, an coveniently provides sources for his quotes.

      I rather suspect you are just pulling figures out of your ass to justify the way you do things.

      Jedidiah.

    113. Re:Nah by gnovos · · Score: 1

      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.

      And don't forget to be angry that the bagel isn't covered in popcorn, no poppy seeds, which is what you MEANT to say, duh. Stupid engineers.

      --
      "Your superior intellect is no match for our puny weapons!"
    114. Re:Nah by stoborrobots · · Score: 1

      Agreed; another example is that of the West Gate Bridge in Melbourne, which collapsed in 1970 during construction. Interestingly, this one was not a new design (although it is currently the largest of its design).

    115. Re:Nah by Coryoth · · Score: 1

      The "cost of finding a bug" is incredibly variable, and the cost of developing the full benchtest setup of every possibility is often much higher than that of releasing a beta and letting people hammer at it to find some of the interesting corner cases you'd spend millions to workk through in iterative tests in the lab. Finding it in advance is good, but human review and test benches also add up.

      Yes, exhaustive test benches are prohibitively expensive, which is why you use formal methods. I think perhaps you are not understanding what I mean by that. I'm refering to things like B-method, algebraic systems specification etc. which allow you to do rigourous mathematical analysis on your code. Using these sorts of methods you can construct formal proofs of the correctness of your code prior to having to do any testing. No, proofs like that don't make softare completely infallible, you'll probably still want to do some testing - but the point is that formal methods drastically reduce the amount of testing required. Ideally they also give you measures of the test space and help you to conduct targetted testing in a way that gives you the best possible coverage for the least amount of work.

      Jedidiah.

    116. Re:Nah by -brazil- · · Score: 1

      Quite similar to the other programmer's plight:

      Upon watching the result of running the program, the programmers says:

      "Waitasec, the computer is doing exactly what I said (in the program) it should... but not what I meant!"

      Oh, what wouldn't we all give for that DWIM command...

      --

      The illegal we do immediately. The unconstitutional takes a little longer.
      --Henry Kissinger

    117. Re:Nah by Anonymous Coward · · Score: 0

      The problem is that by definition when you write a new program, it has not been written before. How do you propose to apply formal methods to something that requires invention every time you perform the process?

    118. Re:Nah by Anonymous Coward · · Score: 0

      The secret marketing shadow council meets. M1: "Our release date will be in december, so we will claim the tech department it is in august so that the product is ready by the release date."

      M2: "We have observed that the tech dept has been more and more late, systematically on every subsequent release."

      M3: "The reasons for this tendency are unclear: nevertheless, let's claim the release is in july, to anticipate for the possibly increasing lag beforehand."

      The secret development shadow council meets. D: "It has been found out that the marketing shadow council raised the safety margin to five months, so let's readjust our schedules."

    119. Re:Nah by ttsalo · · Score: 1
      Anyway, I'll say it again, the design methodology is no different. The challenges are no different. The creativity is no different. The customers are no different. The only difference is in the minds of the programmers

      This is nonsense! Both the possibilites to evaluate the performance of designs and turning the designs into working hardware are so much more developed in the field of physical engineering than in the field of software engineering that the whole fields have very little in common. I can calculate how much load a given structure will bear, I can simulate it with a computer or test with a scale model, I can put qualified welders to work on quality steel and be pretty damn sure that the final product has no significant defects. Where are the equations to calculate how I should build my server so that it will not crash when given every possible sequence of input? They don't exist. Where is the possibility to test a scale model? There's no such thing, anything else than the server itself doesn't guarantee anything. Where are the sufficiently defect-free manufacturing and testing methods? No such things exist, the best practices in existence still result in undetected defects in the end product.

      Oh how I hate when people claim that the silver bullet of defect-free software not only does exist, but is available for everyone instantly once they just snap out of the "programmer" mindset and start behaving like an "engineer". The comparable engineering tools are missing, dammit! And there's no guarantee that they are even possible to create (any more than e.g. algorithmic AI).

      --
      If the road to hell is paved with good intentions, where does the road paved with evil intentions lead to?
    120. Re:Nah by garwain · · Score: 1

      of course it would be quicker to get your own coffee than to say all that... Easiest solution is a private coffee machine on your desk...

    121. Re:Nah by Tassach · · Score: 1
      Many "formal design methods" have seen extensive use in the real world: Z, the B method, VDM, CSP, and SCR to name just a few. These are not "ivory tower". They work. They have delivered lower defect rates in the same or less time and cost as informal methods.
      Lower, yes, but not zero. The initial analogy was comparing software development to bridge building. Bridge collapses are exceedingly rare, because the engineering is mature and the process is proven: if you follow the process, you have a near-100% chance of building a bridge that won't fall down, and doing it in a predictable amount of time and money.

      The same cannot be said about software development. It is possible to deliver nearly flawless software for truly critical applications (EG: control systems for aircraft and nuclear power), but it's virtually impossible to accurately predict how long it's going to take to complete (other than saying "a very long time" and "a whole lot of money".

      --
      Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
    122. Re:Nah by Anonymous Coward · · Score: 0

      Oh how I hate when people claim that the silver bullet of defect-free software not only does exist, but is available for everyone instantly once they just snap out of the "programmer" mindset and start behaving like an "engineer".

      I never said that. Manufacturing (and the associated engineering) is nowhere near defect-free. I only wish it was. I wish I had equations to know how my design was going to perform before building it. I wish the parts I purchase would work the way they are supposed to. I wish our fabricators would build things exactly to print. It never happens.

      What I said was that as long as programmers keep making excuses, saying "It's hard. You can't expect us to get it right, because it can't be done. Our field is totally different than anything that's ever been done before", you aren't going to improve. You just look like spoiled children.

    123. Re:Nah by bbbbblustery · · Score: 0

      how is the cost of rebuilding software 0?
      someone absorbs it?

      if somebody absorbed the cost of rebuilding the bridge, it would be 0 too

    124. Re:Nah by Xyrus · · Score: 1

      No objections. In an ideal world, this would work all the time. But it doesn't.

      The software industry is too competitive. You can process a rock solid product in time A and a cost B. But there 50 other ompanies out there that will say we can do it in A/2 and at a cost of B/4. It doesn't matter that you gave realistic estimates. Unless you have good raport with that customer, they will go for the one that says they can develope faster and cost less.

      When deadlines loom, testing and QA get cut. Features can not be cut because the customer will not pay or take his business elsewhere next time. But testing and QA can be cut because there are no consequences (the whole "developer is not responsible for wrecking your data" clause).

      Now, if software were more like th auto industry, where you ARE liable if an engine explodes, then you'd see a lot more stable products on the market with a lot fewer defects. That's when the math models and process will shine.

      But in the world of new tech coming out every few months and people making ludicrous deadlines with insane amount of features, it's just not going work out that well.

      Profit is the driving force, not quality.

      It's sad.

      ~X~

      --
      ~X~
    125. Re:Nah by GileadGreene · · Score: 1
      This isn't about "process". Process won't guarantee anything except that you followed all the steps - it says nothing about what the quality of the end result will be.

      Does application of formal methods guarantee zero defects? Of course not. Name any engineering discipline that can guarantee zero defects. There aren't any. As you yourself pointed out, even bridges fall down sometimes. However, I don't think an order of magnitude reduction in defect rates should be ignored. God knows, as a customer, I'd like to see software that doesn't break regulary.

      With regard to program scheduling, while I don't think that formal methods are a panacaea, allow me to suggest that if you have no idea what you are doing it is hard to develop a schedule to do it. Doing some mathematical modeling beforehand allows you to gauge the size of the problem. This is how it's done in other engineering disciplines that involve the development of bespoke systems (my own experience in this case is with spacecraft design).

    126. Re:Nah by GileadGreene · · Score: 1
      Perhaps you should actually take the time to look at what formal methods are available for software development (try here for starters). These methods have been applied to real software developments. They have delivered lower defect rates. There is empirical evidence that it can be done, and that it works. I don't need to "propose" anything.

      As an aside, if you think other engineering efforts don't require "invention" every time you undertake the process, then you don't understand the design process at all. There's always more than one way to solve a problem. A large part of the engineering process is examining the available ways (and considering if there are new ways), and selecting the "best" one. By definition if you are engineering a new product, it has not been designed before (otherwise why not just build from the plans for the existing product).

    127. Re:Nah by GileadGreene · · Score: 1
      The software industry is too competitive. You can process a rock solid product in time A and a cost B. But there 50 other ompanies out there that will say we can do it in A/2 and at a cost of B/4. It doesn't matter that you gave realistic estimates. Unless you have good raport with that customer, they will go for the one that says they can develope faster and cost less.

      And yet, there is empirical evidence that the application of formal methods not only doesn't take longer than the traditional approach, it can actually take less time (and result in lower costs). I've mentioned a few exmaples elsewhere in this thread.

      The software industry is too competitive. You can process a rock solid product in time A and a cost B. But there 50 other ompanies out there that will say we can do it in A/2 and at a cost of B/4. It doesn't matter that you gave realistic estimates. Unless you have good raport with that customer, they will go for the one that says they can develope faster and cost less.

      And they will get burned, and get what they paid for. But that doesn't mean that (a) you should also be a customer like that, and (b) that you should defraud your own customers. Demand better software, and produce better software. Don't just accept the status quo.

    128. Re:Nah by GileadGreene · · Score: 1
      Where are the equations to calculate how I should build my server so that it will not crash when given every possible sequence of input? They don't exist.

      Don't exist? Or is it simply that you don't know about them? You might start by looking here. Plenty of different methods for mathematically modeling all sorts of systems (yes, including servers).

      Where is the possibility to test a scale model? There's no such thing, anything else than the server itself doesn't guarantee anything.

      Try building a more abstract (mathematical) model first. For example, I've developed extremely complex multi-threaded apps (upwards of 1200 threads, all interacting with each other) by doing some intial modeling in CSP to ensure that the interactions between threads wouldn't result in deadlock or other nastiness. Does it result in zero defects? No. Does it radically reduce the number of defects, and shorten the test/debug cycle? YES!

      Oh how I hate when people claim that the silver bullet of defect-free software not only does exist, but is available for everyone instantly once they just snap out of the "programmer" mindset and start behaving like an "engineer". The comparable engineering tools are missing, dammit! And there's no guarantee that they are even possible to create (any more than e.g. algorithmic AI).

      Oh how I hate it when people claim that anyone is saying there are silver-bullet techniques that guarantee defect-free software. They're not dammit! They're saying that it is possible to do (much) better than we do now. Even "real" engineers produce defective products sometimes (why else do we have product recalls, and spacecraft flying into planets). But a lot fewer than software developers. I also hate it when people claim that comparable engineering tools are missing, apparently without bothering to see if that assertion is actually true.

    129. Re:Nah by Xyrus · · Score: 1

      "Don't just accept the status quo."

      I don't, and actively try to change that when I can. But talk about an uphill battle.

      Once upper management gets something in their heads it takes an act of god to change their minds.

      I think programmers are willing to shake things up, but it seems that the further up the chain you go the more they resist change.

      ~X~

      --
      ~X~
    130. Re:Nah by GileadGreene · · Score: 1
      I think programmers are willing to shake things up, but it seems that the further up the chain you go the more they resist change.

      Really? Based on the opinions expressed in this thread, it seems like many programmers don't want to shake things up. They just want to blame bad software on bad management.

    131. Re:Nah by Xyrus · · Score: 1

      I think those programmers don't want to have to write reems of documentation. They just want to code.

      In that respect, those programmers aren't necessarily engineers. In the bridge analogy, they would be the construction workers. They don't necessarily want to write the plans for the bridge, they just want to build the damn thing.

      Software engineers are more akin to the architects and designers. Sure, they want to build the bridge too but they like to lay it all out and have others handle the implementation.

      I get the feeling that most programmers on here just want to be programmers. They don't want to deal with all the peer reviews and meetings, nor writing up designs etc. . They just want to code.

      Programmers and software engineers are related and some people are both, but they are different.

      I think that businesses don't make enough of a distinction between programmers and engineers. I believe this is one of the contributing factors to the problems we see today.

      The way I see it, using the bridge analogy, businesses hire bunches of construction workers, but they don't have any (or understaffed) architects.

      And I've noticed that even when an architect says that such and such a part cannot be done is X amount of time, they are overruled anyway.

      The problem is two-fold. You have the workers, but no designer. And even if you have the designer, no one listens to him.

      That's not a bridge I'd want to cross. :)

      ~X~

      --
      ~X~
    132. Re:Nah by shokk · · Score: 1

      Wow. "Idea diarrhea" just became my new catch phrase. I plan on using your asterisked quote ASAP.

      --
      "Beware of he who would deny you access to information, for in his heart, he dreams himself your master."
    133. Re:Nah by jasonjacks0n · · Score: 1
      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.

      I agree with you completely, but it doesn't help me any that we're right. Because my clients almost never agree to pay me for the "hard and time consuming" approach.

      Heck, they seem to get antsy if I even say the words "hard and time consuming", or anything like them -- before they even see the reality of those words reflected in the estimate. After all, the next vendor over is promising "easy and quick", right?

      Clients seem to *demand*, not just accept, that software should be built the ad-hoc way.

      I don't know how we (the software development industry) collectively got ourselves into this mess -- on the one hand, nobody wants to pay for us to take the time to think like true engineers, and on the other hand, everyone wants engineering-grade stability. Probably we did it to ourselves somehow .. something to do with all of the hype that surrounds the industry, maybe.

      In our defense, though, we do work in a very fast-changing industry .. other engineering fields (architecture, bridge-building, etc.) seem to move more slowly. So far, I've noticed I don't have much chance to "repeat myself" from project to project -- just about the time I've mastered some skill set, something new/big/exciting comes along to replace it, and I begin mastering that instead. It keeps my life interesting, and I certainly prefer things this way to grinding out the same stuff over and over, but it definitely increases the level of uncertainty involved in my life. Which, naturally, shows up in the slipped due dates and unexpected problems..

      Oh, well. I think I'll keep the link to this article handy for next time I catch flack about a missed deadline -- after all, it can't be so bad if everyone else is doing it too, right? ;-)

      --
      This space intentionally left blank.
    134. Re:Nah by computational+super · · Score: 1
      I don't know how we (the software development industry) collectively got ourselves into this mess

      Do you think bridge building firms get phone calls along the lines of, "Ok, the four-lane bridge you built looks great. Now, for phase II, we want to add one extra lane on the right. Since you already have the four lanes, it should be easy to throw in another." Or contracting firms getting a call like, "Ok, the drywall on the house went up great yesterday, but we just found out from the buyer that they want a basement. I'll allocate two extra laborers for the additional work, since we still need to sell the house in June." We must design for change, because of the nature of software; after all, as Martin Fowler says, "Software is supposed to be soft." That's why I have trouble beleiving that any traditional engineering process, applied to software, is doomed to fail.

      --
      Proud neuron in the Slashdot hivemind since 2002.
  2. Not on time again by alex_guy_CA · · Score: 5, Funny

    I was going to be the first post, but I could not get it in on time.

    1. Re:Not on time again by dascritch · · Score: 1

      With Winter/Summer time, I'm a bit late with my official time... so my project will be late for this summer.

      --
      (Sorry my bad French) Je fais parler les Guignols de l'Info. Le pied, quoi.
    2. Re:Not on time again by hawk · · Score: 1

      That's OK; it was really an article from yesterday.

      hawk

    3. Re:Not on time again by Vombatus · · Score: 1
      [big flashing letters]Don't panic!!![/big flashing letters]

      There is every possible chance that it will be posted again soon.

      --
      This sig is intentionally blank
  3. Understanding your art by BWJones · · Score: 5, Insightful

    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.

    --
    Visit Jonesblog and say hello.
    1. Re:Understanding your art by Anonymous Coward · · Score: 0
      Treat your customers with honesty and announce the product when it is ready and not before.


      I don't think you fully grasp the nature of capitalism.
    2. Re:Understanding your art by Snosty · · Score: 1

      In projects with long sales cycles it is natural for the sales person to sell features that are not yet in the product. They do this because they are, in theory, selling features that will be in the product at the actual time of implimentation. If they don't do this some other competing vendor will and they won't get the bid.

      What sales people have to avoid is not selling features which aren't yet in the product but rather features that have no chance of making it into the product by the intended implimentation date. These are two completely different issues.

      Before you dismiss sales staff so quickly you should remember that the only thing worse than working for a company where the sales people are selling a product you can't make is working for a company where you have an excellent product and can't sell it.

    3. Re:Understanding your art by BWJones · · Score: 2, Insightful

      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....

      --
      Visit Jonesblog and say hello.
    4. Re:Understanding your art by cerberusss · · Score: 1
      Could it be that marketing is always overselling the product?


      Look, sometimes we need to put on our Marketing hats.


      *ducks* *runs*

      --
      8 of 13 people found this answer helpful. Did you?
    5. Re:Understanding your art by glamslam · · Score: 1
      Our marketing guy always reminds us (the IT department), "How hard can it be to add this feature? They sent a rover to mars. Surely, this should be a snap!"

      I then promptly remind him of Nasa's budget (HUGE) compared to our budget (non-existant).

    6. Re:Understanding your art by Sgt+O · · Score: 5, Insightful

      "...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...

    7. Re:Understanding your art by Phrogman · · Score: 4, Insightful

      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.

      --
      "The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
    8. Re:Understanding your art by DoofusOfDeath · · Score: 2, Insightful

      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.

    9. Re:Understanding your art by Anonymous Coward · · Score: 0

      ...and watch Microsoft take your market share with preannounced crap.

    10. Re:Understanding your art by abb3w · · Score: 1
      Our marketing guy always reminds us (the IT department), "How hard can it be to add this feature? They sent a rover to mars. Surely, this should be a snap!" I then promptly remind him of Nasa's budget (HUGE) compared to our budget (non-existant).

      Also remind him that it still didn't ship bug-free.

      --
      //Information does not want to be free; it wants to breed.
    11. Re:Understanding your art by Anonymous Coward · · Score: 0

      Yes, it is clear you are able to read. Also clear to anyone with an IQ above room tempeture (which would seem to preclude a position in sales/marketing) is your comprehension skills are non-existant.

      Please go read the origanal post. And, yes, if it helps let your lips move while you do so.

    12. Re:Understanding your art by Anonymous Coward · · Score: 0

      and the reason that you make half what the sales guy makes is that you think this is bad business.

    13. Re:Understanding your art by CowboyMeal · · Score: 1

      You mean these?

      *runs faster*

      --
      Your credit card information wants to be free.
    14. Re:Understanding your art by Anonymous Coward · · Score: 0

      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.

      Dreamcast, I lament your fate.

    15. Re:Understanding your art by ThosLives · · Score: 1

      I hold high standards: I measure room temperature in Kelvin.

      --
      "There are a dozen opinions on a matter until you know the truth. Then there is only one." - CS Lewis (paraprhase)
    16. Re:Understanding your art by ajs · · Score: 2, Insightful
      " 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.
    17. Re:Understanding your art by Anonymous Coward · · Score: 1, Insightful

      "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).

    18. Re:Understanding your art by UnknowingFool · · Score: 1
      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 isn't just at companies. High officials in the government also show a lack of understanding of technology.

      One of the first things that Louis Freeh did when he became head of the FBI was to remove the computer in his office. He didn't use one; he didn't use email at all. Everything was paper for him.

      John Deutch, former head of the CIA, pled guilty to mishandling sensitive government information. He used his unsecured PC at home to work on and store documents and data even though the CIA installed a secured computer at his home for that purpose.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    19. Re:Understanding your art by tomhudson · · Score: 1, Insightful
      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."

    20. Re:Understanding your art by Hognoxious · · Score: 0
      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.
      While I agree that it's possible to make the error in that direction, I reckon it happens (outside academia) about as often as people get ticketed for driving too slow.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    21. Re:Understanding your art by mizhi · · Score: 1

      Alright boys... the fox is out... prepare to send in the hounds!

      --
      Humorless sig goes here.
    22. Re:Understanding your art by Citizen+of+Earth · · Score: 1

      Treat your customers with honesty and announce the product when it is ready and not before ... and they will soon be somebody else's customer.

    23. Re:Understanding your art by Bellyflop · · Score: 3, Insightful

      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."

    24. Re:Understanding your art by Bob9113 · · Score: 1

      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".

      It could be worse. At my present company, many of the customer liaison's have gotten in the habit of saying, "It doesn't do X? Well obviously it has to do X or it's completely useless. What were you thinking?" Suggesting that the problem is the idiot developer failing to think like the customer, not the lack of either: a) direct contact between customer and engineer, or at least b) complete specifications. Now I know that complete specifications are hard, and perhaps impossible, but failing that either we need to talk to the customer or the product isn't going to do what they want except through blind luck.

    25. Re:Understanding your art by indifferent+children · · Score: 1
      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".

      Damn little software in existence is actually "Good Enough". Most of it is "You're lucky that you don't have any competition for this app." Any software that is "Good Enough" is usually also "Quite Good". There is no middle ground. Microsoft keeps shooting for "Good Enough", while Linus and crew are shooting for "Better".

      --
      Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
    26. Re:Understanding your art by MerlinTheWizard · · Score: 2, Insightful

      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.

    27. Re:Understanding your art by broschb · · Score: 1

      "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 Sure you say that joking. But you must believe it's true if you wrote it. Maybe it seems that way to you because you are not gifted nor talented enough to escel in athletics and sciences, math, and other technologies. Speak for yourself and not others. Or soon I may be muttering under my breath "Dumb Jones". ;-)

    28. Re:Understanding your art by rtaylor · · Score: 1

      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".

      Hmm... Nothing like promising sub millisecond ping times between USA and China in your contracts. Clients love sneaking in impossible to provide things like that since it makes it really easy to get out of a deal.

      --
      Rod Taylor
    29. Re:Understanding your art by Anonymous Coward · · Score: 0

      Yeah sales is a hard job. That's why sales reps get paid such huge commissions (in my experience). The way I look at it is: it's not my fault you're a salesman.

    30. Re:Understanding your art by Anonymous Coward · · Score: 0

      And this is why you're wrong. The business made a decision (presumably) to continue with the older version. 3 of the 5 issues you raise are circumvented if you keep scope as defined by management. IF you raised the risk of running an unsupported app, AND they thought about it and decided to accept the risk, then that's that.

      This post is sooo flameworthy, but it's just hitting all the right buttons today. Sorry.

    31. Re:Understanding your art by Anonymous Coward · · Score: 0

      Yeah, but I sleep at night.

    32. Re:Understanding your art by shmlco · · Score: 1
      Agreed, but I'd even go so far as to say the skill sets of many developers are somewhat less that adequate, especially as it relates to design and testing.

      This is, however, in direct contrast to their own "perceived" abilities, in which many think they're the hottest sh*t to ever come down the pike. (Also known as the fighter jock mentality.)

      Too many pick up a book about PHP/MySQL and have now suddenly transitioned to being "expert" web developers, or read About Face and now believe they're usability experts.

      Be unfortunate enough to land too many of these guys on the same project, and it may NEVER get done...

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    33. Re:Understanding your art by Anonymous Coward · · Score: 0

      Nice quoting job, jock...

    34. Re:Understanding your art by 4of12 · · Score: 1

      And now, as far as upper management is concerned, I'm the one that is behind schedule.

      You could cure this by taking some time to update your PM on your progress.

      You know those ludicrous bullets that get phrased like

      • 1 p.m - 2 p.m. - Meet with Stakeholders to develop plan
      • 2 p.m. - 3 p.m. - Write implementation plan
      • 3 p.m. - 4 p.m. - Direct key players to implement plan in time for 8 am followup meeting tomorrow
      where "plan" could just as well be "solve the oil crisis", "achieve world peace" given the unrealistic glossing over of the details.

      Put together a memo with the key points, then describe in a paragraph the hurdles that make "load new software" more of a problem than they realize. Give them choices of approaches, with time estimates, include warnings of possible complications, and recommend a course of action. If they buy-in, great. But at least they get educated about issues. While they persist in ignorance, they'll just inadvertantly make your life miserable.

      --
      "Provided by the management for your protection."
    35. Re:Understanding your art by ewg · · Score: 1

      I sympathize. Our company's president told us to "copy and paste" our web site to create a web presence for our new European subsidiary. Not static brochure-ware, but a 3-tier Java web application that's been under development for three years.

      When we begged for a meeting to get requirements, he said, "I will not submit to a grilling. Show me a fully functional 'draft' website to approve."

      We met his deadline, using the Guess-and-Check methodology. A "fully functional" ten percent raise this year sounds about right to me.

      --
      org.slashdot.post.SignatureNotFoundException: ewg
    36. Re:Understanding your art by Anonymous Coward · · Score: 0

      Click on his link and you will see that he has a PhD, so that should say something about his abilities in sciences, math and other technologies. As to his athletics, I can't speak about, but his spelling is better than yours.

    37. Re:Understanding your art by Anonymous Coward · · Score: 0

      I'm an engineer by trade, but I have to give you the other perspective:

      Perhaps if marketing or sales didn't oversell, you would have lost the deal to a competitor. Repeat a few times, and you're out of business. It's better to be late on a deal you're getting paid for than to not get paid at all.

    38. Re:Understanding your art by Billly+Gates · · Score: 1

      Upper management does not need to know technical stuff nor should they care.

      Just like they do not need to know what kind of daily activies the marketing department is doing or what the salespeople actually do. What upper management does need is someone from each department tell them the stages and individual processes each step will take without going into details.

      For example having our sales team focus more on model N and selling more to our Y specific set of customers. It will take X amount of time for the training and after that it will take Z amount of time to sell to all of Y.

      If IT did this without specificing details it would be understood. Give the stages to show the higher ups what you are doing and to prove you are not goofing off.

      I wish more IT guys had better communication skills. Its sometimes not an easy job.

    39. Re:Understanding your art by Billly+Gates · · Score: 1

      I would kindly tell him that we need to do X. If he thinks he can hire someone else to do it then go do so.

      I would assume such a boss would be unworkable for specing and planing. Either way I would assume I would be fired anyway for meeting such unrealistic expectations if this kind of thing was commonplace.

      In the Guess-and-Check methodology I would give deadlines and processes of things that need to get done next. He just wanted to know what it would look like so that is what you did. Do not go into technical stuff with 3 tier platforms but explain this is what it will take to make sure it will be done properly.

      If he is unsure about it give him the option to can the project after each stage. Never give an estimation of the whole thing but just explain the stages and how long it will take for the next stage. Sell it and explain its a whole "system" of ecommerce that needs to be properly designed and just some silly html tags.

      If he refuses to listen or your boss is an idiot then I would look for work elsewhere. Its not your fault but theirs.

    40. Re:Understanding your art by Anonymous Coward · · Score: 0

      Your G/F is a sales person?

      Slashdot or not: Traitor..

    41. Re:Understanding your art by Anonymous Coward · · Score: 0
      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."

      I don't think it's their incentives that are wrong, because those incentives are the reason those people are there in the first place, but I think they look at short term benefits that harm the company in the long run. They don't have enough vision. I think it's the engineers' responsibility to try to get management and sales to look at things down the road, only because no one else is capable of doing it.

    42. Re:Understanding your art by Anonymous Coward · · Score: 0

      Good girl. Now you can go home, and continue to masturbate over your inferiority complex.

    43. Re:Understanding your art by Anonymous Coward · · Score: 0

      Upper management does not need to know technical stuff nor should they care.

      Correct. They should listen to their staff when they're giving out tasks, though: the staff
      know what they're talking about or they wouldn't have that job.

      I wish more IT guys had better communication skills. Its sometimes not an easy job.

      I wish management would listen to their employees. Sometimes it's not as easy as expected.

    44. Re:Understanding your art by Anonymous Coward · · Score: 0

      I think it's the engineers' responsibility to try to get management and sales to look at things down the road, only because no one else is capable of doing it.

      What the hell are you talking about? Management are the ones responsible for their performance, the company's performance, that's why they get the big bucks (never mind that it's others actually doing the work). You're saying that the engineers should be doing their work, and on top of that they should also be doing upper management's work? Why not - if they get paid for it but it's sheer idiocy to assume that they're trained for it, or have access to the information to allow them to do it.

      I think we should hear less from you, and more from your dog. At least your dog has a clue.

    45. Re:Understanding your art by Wizarth · · Score: 1

      I get a similar position with my job. Whenever we get a "why doesn't this work", we have to be careful to explain it in a way that sounds good, BUT does not mention possible fixes (work-arounds, hacks). Because we know they will assume that the mentioned fixes will be assumed to be implemented, tested, working yet somehow without taking away from the existing priorities of getting it working properly in the first place!

    46. Re:Understanding your art by poisoneleven · · Score: 1

      Back when I was younger I was installing predictive dialers. One time our salesguy sold the dialer as a client management system (to tie specific client lists to specific callers). So, I go out for the install, only to find that my boss doesn't want me to come back until it is complete, so I end up spending days altering the programming to make it do this to the best of its ability. Well, after a couple weeks I got it working, but shortly thereafter turned in my two weeks. The client was still never happy, and more experienced programmers were sent do try to make him happy. The manager at the site was eventually fired for making a bad purchase and the product was recalled.

      Anyway, I had a point somewhere...oh yeah...I think it was that our sales guy selling the wrong product motivated me to quit my job installing predictive dialers! (Then on to several programming positions that lasted until the company bankrupted! Yay!)

    47. Re:Understanding your art by Anonymous Coward · · Score: 0

      could it be that accurately predicting a project is similar to accurately predicting the dates of when we find cures to cancer and AIDS.

      Pure and simple, it's everyones fault in the long run. Worst of all is that the customer is also at fault for not having read the news paper to learn that 95% of all projects are delivered late. The customer could then sign a contract stating 8 months when they really know it will be 12.

      As for executives that came up the ranks... often they are worse. Many of those executives understand "The Business" but don't understand "Business". I have once been lucky enough to work with a guy that originally worked as a nuclear physicist for 15 years, then went back to school for an MBA and then became an executive. Didn't work up the ranks, but was able to understand "Business" and "The Business" at the same time.

    48. Re:Understanding your art by Anonymous Coward · · Score: 0

      Phew, looks like some of your foes got the big family-size bucket of mod points!

  4. This just in. by Anonymous Coward · · Score: 5, Insightful

    95% of the time, the business changes their mind about the project and/or doesn't know what they want, anyway.

    1. Re:This just in. by telecsan · · Score: 2, Funny

      That follows the standard IT software design lifecycle

      1) Set the release date.
      2) Code.
      3) Act like you're testing.
      4) Gather requirements.
      5) Release software.
      6) Bolt on functionality to 'meet' requirements.
      7) ???
      8) Profit!!!

    2. Re:This just in. by javaxman · · Score: 1
      95% of the time, the business changes their mind about the project and/or doesn't know what they want, anyway.

      That's so mind-numbingly obvious that anyone with half a brain should actually question if it's not more like 98% of the time. Honestly, when was the last time you ever saw a complete specification of a programming project ? If you did see such an animal, how often did the resulting project, *after* going through several rounds of bug fixes, require additional features or design changes because the workflow was difficult for the end user, key features had been missed in design, or the needs changed ?

      Add to that the typical problems experts have in seeing their limitations- I'm talking about a programmer's ability to correctly guess how long some task will take- and you have a scenario where almost every project is going to be really, really late if you're using the date agreed on by the developer and the designer/user/product manager/marketing drone/whatever. You're better off hiring a third independant QA or project planner and asking them, and even then- double the quantity. With one of our developers here, even though he's been at it for over 20 years, I just multiply his estimate by 6 if I want to know how long something is *really* going to take. 6. I kid you not. That's usually pretty close to correct.

    3. Re:This just in. by digitalgroove · · Score: 1

      From my experience the failure to deliver has often been the direct result of the client not truly understanding the SoW, the client changing their minds midstream or the sales teams no understanding what they are selling. I've seen the occassional project go south where a resource hasn't been the right choice but thrown in to deliver regardless, thus delaying delivery. It's really pretty simple.

  5. This could be because of Slashdot by mirko · · Score: 1

    ...but it's more a paperwork problem : Here, I had to wait for very long time before some stupid tasks finally got executed expectedly... Like a Java install in order to run a planned Tomcat service...

    --
    Trolling using another account since 2005.
    1. Re:This could be because of Slashdot by jdray · · Score: 1

      Hey, waitaminute... I'm on that project too!

      --
      The Spoon
      Updated 6/28/2011
  6. Phew!!! by Skraut · · Score: 5, Interesting
    I'm still working on a project due this past Monday.

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

    --
    Introducing Microsoft Vacuum 1.0 The first Microsoft product that doesn't suck.
    1. Re:Phew!!! by EllisDees · · Score: 1

      One of mine's due today. Ain't no way it's going to be done 'on time'!

      --
      -- Give me ambiguity or give me something else!
    2. Re:Phew!!! by kaustik · · Score: 1

      Maybe you would be finished with the project if you weren't sitting around reading Slashdot all day. You lazy... oh, wait...

    3. Re:Phew!!! by jafomatic · · Score: 1
      Did your boss ask "Is that a forward slash or a back slash" when you did this?

      ...I really hate that.

      --
      ::jafomatic
    4. Re:Phew!!! by kleinux · · Score: 1

      Of course not, you're posting on /. :-)

    5. Re:Phew!!! by tomjen · · Score: 1

      Nah, you cant beat my chemistry class, we where to hand in an assignment - out of 20, 3 assignments where handed in on the day.

      --
      Freedom or George Bush
    6. Re:Phew!!! by m50d · · Score: 1

      My IT class can beat that - once we had one out of 20. And one guy managed to leave high school without having completed a task which was supposed to be done by the christmas of the fourth year.

      --
      I am trolling
  7. Blame !! by Anonymous Coward · · Score: 0

    The trick to succeed is if you can always find someone else to blame for.

  8. But... by abeybaby · · Score: 1, Informative

    Well, it is better to have a project late but stable than to have it on time and full of bugs. Microsoft et al, take note.

    1. Re:But... by sudorm · · Score: 1

      But what if it is late and full of bugs?

    2. Re:But... by sp3tt · · Score: 1

      That's where clever marketing and FUD enter the picture.

  9. misleading headline by wankledot · · Score: 5, Informative

    There's a huge difference between 95% of firms not delivering a project ontime, and 95% of all projects being late.

    --
    My sig is blank, I typed this by hand.
    1. Re:misleading headline by geminidomino · · Score: 1

      Welcome to Slashdot. ;) Smarmy comment aside, I thought the exact same thing when I compared the headline to the blurb.

    2. Re:misleading headline by Pxtl · · Score: 1

      ME TOO! /aol

    3. Re:misleading headline by cmburns69 · · Score: 0, Offtopic

      Informative post? Relevant to the article?

      WHAT HAVE YOU DONE WITH /.?!

      --
      Online Starcraft RPG? At
      Dietary fiber is like asynchronous IO-- Non-blocking!
    4. Re:misleading headline by 14erCleaner · · Score: 4, Insightful

      True, but think what this implies: 5% of development groups never deliver a project that is late. Amazing...

      --
      Have you read my blog lately?
    5. Re:misleading headline by richg74 · · Score: 1
      There's a huge difference between 95% of firms not delivering a project ontime, and 95% of all projects being late.

      That is for sure. Let's think first about the process of estimating the time required for a project. If these estimates are unbiased, then they are by definition as likely to be optimistic as pessimistic.

      Now I don't necessarily believe that, even if unbiased estimates are produced, they are what is given to the "customer". Prudence (what the cynical would call CYA) dictates that some margin for estimation error be built into the schedule for a project, just as in the project budget. At the very least, the project manager needs to make sure that the customer understands the difference between an estimated time and a "contractually guaranteed" time.

      There are probably two opposing things at work: one is prudence, and the other is the desire to sell the customer, which can lead to what someone (Ed Yourdon ?) called "the most optimistic value that is not demonstrably impossible."

      Personally, I'd be suspicious that organizations that never have late projects are just better at padding their estimates.

    6. Re:misleading headline by avandesande · · Score: 1

      Another take on this is 'what does a delivery date mean'

      Perhaps if you look at a delivery date as having a 50% probability being met the statistic means even less. Very rarely have i seen a delivery date that has a real business reason for being.

      If we took a quantum view on software development we would all be happier.

      --
      love is just extroverted narcissism
    7. Re:misleading headline by Anonymous Coward · · Score: 1

      Nobody ever accused /. submitters about understanding a story. Heck, most of them don't even read the stories they submit.

    8. Re:misleading headline by naelurec · · Score: 1

      True, but think what this implies: 5% of development groups never deliver a project that is late. Amazing..

      Its true .. these groups are dissolved due to budget over runs, incompetence (either by management or the team), inadaquate staff or any other number of reasons -- as a result, they never deliver the project. So it is technically correct, even though it implies that they do deliver on time, they simply don't deliver at all.

    9. Re:misleading headline by Peepsalot · · Score: 1

      If a project is never delivered at all, then no one can say it was delivered late.

      It is my belief that the other 5% delivered nothing at all!

    10. Re:misleading headline by Iamthefallen · · Score: 3, Funny

      Canadian information technology groups can't seem to get IT right.

      Not to mention, that 95% Canadian is only like 50% American.

      --
      Wax-Museum Fire Results In Hundreds Of New Danny DeVito Statues
    11. Re:misleading headline by indifferent+children · · Score: 1

      Technically you are correct, but what they didn't tell you is that those 5% never deliver a project at all.

      --
      Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
    12. Re:misleading headline by Phat_Tony · · Score: 2, Insightful
      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.

      --
      Can anyone tell me how to set my sig on Slashdot?
    13. Re:misleading headline by sankeld · · Score: 0
      True, but think what this implies: 5% of development groups never deliver a project that is late.

      Nope, that's the 5% of development groups that have never delivered a project at any point.

    14. Re:misleading headline by zippthorne · · Score: 1

      That sentence can be parsed two ways. One of which is not amazing at all.

      --
      Can you be Even More Awesome?!
    15. Re:misleading headline by Anonymous Coward · · Score: 0
      5% of development groups never deliver a project that is late

      We had a crack hardware group that managed to do this. What did they get for their repeated efforts?

      Laid off.

  10. Merge it. by mfh · · Score: 5, Insightful

    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 method.

    --
    The dangers of knowledge trigger emotional distress in human beings.
    1. Re:Merge it. by millwall · · Score: 5, Insightful

      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.

    2. Re:Merge it. by Anonymous Coward · · Score: 0

      I know it's Slashdot I'm reading, but I didn't know readers had that high thoughts about themselves.

      That was kind of a troll you just made. Not sure if it was meant to be a troll, but I'll bite anyway.

      I don't look at this as an ego thing. It's a matter of an elbow bending -- it bends one way. Try getting a manager to wrap their heads around the actual time it takes to build a project: they can't because they have no hope of seeing that far ahead -- ie: they can't wrap their head around it because it's not in their experiencial lexicon. The same would be true if you asked a programmer to perform management processes -- they would ultimately fail without training because the programmer is a broad-picture thinker and not a scheduler/judger. I was not at all suggesting programmers are somehow better than management. These are broadly diverse fields.

    3. Re:Merge it. by Anonymous Coward · · Score: 0, Funny
      We need someone to interpret between these two groups!

      Well-well look. I already told you: I deal with the god damn customers so the engineers don't have to. I have people skills; I am good at dealing with people. Can't you understand that? What the hell is wrong with you people?

    4. Re:Merge it. by Anonymous Coward · · Score: 0

      HR?

      H R????

      You sick bastard. I'd rather sit in a hundred meetings to "touch base" and make sure "we're all on the same page", have some pre-meeting discussions to plan an agenda, make and/or sit through presentations than deal with that plague of a department. They're not even qualified to hire competent people in most companies, never mind acting as interdepartmental liasons.

    5. Re:Merge it. by Anonymous Coward · · Score: 0

      "The programmers need to come to the table and care about their customers a little more"

      Hmm gee, maybe if management actually let me get within 100 yards of a customer I might actually be able to care.

      There has been a sea change in software management of PC programming since about 1994 or so that has somehow succeeded in walling off developers from customers. The usual reasoning is that the customer might learn the truth inadvertently from a developer because developers don't know how to lie to the customer sufficiently well.

      Basically, management wants to be able to lie to the customers freely about features and schedules(and the corollary, to lie to developers freely about requirements and schedules). And indeed management has been able to achieve that aim over the last decade.

      So now people are surprised that projects don't meet customer time and value expectations?

      Well me, I'm well beyond surprise, all the way past disgust, and quite a ways into anger. Software project management (and the higher management that placed them there) has essentially failed. They are not part of the solution set, they are part of the problem set.

      There has to be a better way.

      "Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein

    6. Re:Merge it. by Anonymous Coward · · Score: 0

      "The managers need to come to the table and care about their programmers a little more"

      Manager: We already told our client the new, complete and superb ERP/CRM/Coffe machine will be done in two weeks. Now I can tell you.
      Programmer: Two things: a) why you didn't tell us when you were dealing with the client, so you could make him a realistic proposal? and b) it really, really can't be done by that date.
      Manager: You know what? You are not a positive-minded player-for-the-team guy. Learn from our sales guy: he knows how to do his job, as clearly shows the fact he was able to sell our proposal to our client; now do your job or go out.

    7. Re:Merge it. by Anonymous Coward · · Score: 0

      They're not even qualified to hire competent people in most companies, never mind acting as interdepartmental liasons.
      I think I was really indicating that some new improvements need to be made in HR before these projects are going to see the level of quality they require. I was not suggesting that we should synergize the paradigms. :-)

    8. Re:Merge it. by Oloryn · · Score: 4, Insightful
      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.

    9. Re:Merge it. by servognome · · Score: 1

      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
      I'm an engineer and I would argue against the idea that most programmers (and I would put engineers in this categorty too) are "broad-picture thinkers" They tend to be very focused on achieving the goal, and not so much how the goal is achieved. A good example is yesterday's article where the high-school kids beat the MIT students in the robotics competition. The MIT entry actually performed the task better than the high school entry, but in the non-task related areas the high school entry made up the difference. Sure you can create the world's greatest database, but they don't need that, they need one that meets the specifications, is on time and on budget.
      Most managers I've worked with were either promoted from the engineering ranks, or were MBA's with a technical degree (mostly masters in engineering). They don't just forget all the technical stuff they learned in school. Sometimes it seems like they know less than you, but that's because you work on something 50-60 hours a week, while they get their information in 15 minute powerpoint snippets.

      --
      D6 63 0D 70 89 81 BB 8E 7B 7C 5F 5D 54 EA AB 73
    10. Re:Merge it. by Anonymous Coward · · Score: 0

      Hmm gee, maybe if management actually let me get within 100 yards of a customer I might actually be able to care.
      Sales is afraid that if we get close enough we'll act geeky and scare them away with all of our honesty. Sadly our honesty is all we have and if we were listened to more, projects would have proper budgets and schedules.

    11. Re:Merge it. by Jalthar · · Score: 1
      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.

      I'm afraid I hafta disagree here. Average programmers are generally straight-line, "inside the box" thinkers. Point them towards a target, give them some basic parameters describing how to get from here to there, and let them loose.

      The type of person you are referring to are (many) Senior-level Engineers, (most) Project/Technical Leads, and/or (nearly all) Architects. THESE are the people capable and willing to look at the "big picture" when it comes to their work; most others have neither the will nor the ability to take a step back and take the time required to see the forest through the trees. Give them a tree - their tree - and they're perfectly fine. Give them the "whole picture" you refer to, and they quickly get lost, most oftentimes trying to concentrate on the 1232834928374 individual instances of trees which make up this forest.

      --

      --
      Need a break? Check out CircusIrata

    12. Re:Merge it. by Anonymous Coward · · Score: 0

      But it's actually true in a way. Most people in my experience have zero capability to grasp the abstract thought process required to produce decent software. i can include many "programmers" in this statement.

      Also many non IT people cannot conceptualise what the end product will be, which is even a bigger problem imo

    13. Re:Merge it. by Anonymous Coward · · Score: 0
      Around five months ago I watched the web developers at the company I work at spend half a day desperately trying to work out why the company owner couldn't hear sound from the movie files on the company website. Of course, it was too much effort for him to actually come to the office with his laptop so that it could be investigated properly. The mystery was eventually solved when the owner discovered he had his sound turned down.

      That's the sort of thing that makes programmers consider most people to be clueless about computers.

    14. Re:Merge it. by Oligonicella · · Score: 1

      "Programmers are generally broad-picture thinkers who solve largely complicated problems that regular folks can't possibly wrap their heads around."

      And, you don't find that believing this pompous drivel isn't a source of some of the problems?

    15. Re:Merge it. by Allegro · · Score: 1

      Why was OOP invented? Because complicated programs are too large for you to wrap your head around all at once.

      --
      Don't let the lusers get you down.
    16. Re:Merge it. by Anonymous Coward · · Score: 0

      Programmers? Oh, I'm sorry. I thought you said "web developers".

    17. Re:Merge it. by poisoneleven · · Score: 1

      I would say that the problem with most programmers is that they are not such broad thinkers. Most programmers can program and that is about it. They don't often know much about what the product they are working on is supposed to do. This is not entirely their fault, but it leads to a lot of these changes because the workers (accountants for instance) don't know what is possible, and the programmers don't know how to make the accountants life easier. So, the accountant tells the programmer he wants what he thinks is possible. Programmer writes it, perhaps makes it slightly easier than accountant thought possible, which gets accountant thinking, can it do this? Of course, it can, then project is changed.

      I once heard that it is better to take an account (or name other vertical business here) and teach them to program than to take a programmer and teach them the market. While this obviously doesn't work quite the intended way, as many just don't get computers, it is a shortcoming of being a programmer that doesn't work in the same area to learn the business model and function prior to programming.

      Just like the idea that sales people should be taught exactly how to operate the product and what it does and does not do prior to selling it, programmers ought to be taught accounting prior to writing accounting software (or insert other here).

  11. And in related news... by Richard_at_work · · Score: 5, Funny

    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.

    1. Re:And in related news... by qwijibo · · Score: 1

      This is funny? I frequently tell the users what they need and only months after they have it do they realize that it really is what they need.

      Sometimes the programmer is in the position of knowing the actual use of the program and having enough experience in the field to know what the users should be asking for.

      I also frequently ask people if they really want a feature they requested if it takes a simple problem and makes it far more complicated. Often times the user doesn't know what they want. The customer is often wrong.

      Now I'm spending most of my time looking at requirements for a project being implemented by a vendor and I axe requirements from people I work with/for all the time. Most people have a hard time understanding what a concise, actionable requirement is. Most nontechnical people I work with think a requirements specification should be a wish list. We're the customer, and I can say without reservation that we're often asking for what we want, not what we need.

    2. Re:And in related news... by Richard_at_work · · Score: 1

      Im as surprised as yourself to find my comment was modded 'funny' as I meant it to be 100% serious. I know what the user wants and what they need because I work inhouse with the users, and 99% of the time they try and give you a solution to implement rather than a problem to solve (their solutions rarely take into account other peoples usage of the same application or the effects it has on parts of a system they have never seen before).

  12. Where's the Obvious Tag by Shadow+Wrought · · Score: 3, Funny
    when you need it?

    Oh, its late...

    --
    If brevity is the soul of wit, then how does one explain Twitter?
    1. Re:Where's the Obvious Tag by thewldisntenuff · · Score: 1

      Obvious tag, what is this now, Fark?

  13. In other news by kevin_conaway · · Score: 5, Insightful

    A study shows that 95% of clients don't know what they want.

    1. Re:In other news by M3rk1n_Muffl3y · · Score: 1

      A study shows that 95% of clients don't know what they want.

      Film at 11

      --
      This is not the sig you are looking for...
    2. Re:In other news by leerpm · · Score: 2, Interesting

      Mod parent up. While I don't want to see a return to the excesses of the late 90's, I think some blame has to be layed at the feet of management and customers too. Ask for more features, with fewer resources to implement them and guess what slips?

      There is a good saying: Fast, Cheap, and Good. Pick two. You can't expect to deliver great software on time with a lack of appropriate resources.

    3. Re:In other news by MarkGriz · · Score: 5, Funny

      "Film at 11"

      Actually, it won't be until 11:30
      We're running late

      --
      Beauty is in the eye of the beerholder.
    4. Re:In other news by qwijibo · · Score: 1

      Apparently 95% of managers will pick all three and result in delivering none of them. This must be some universal law of management. It's very rare that I see exceptions to this rule.

    5. Re:In other news by legirons · · Score: 1

      "A study shows that 95% of clients don't know what they want."

      And that "on time" means 2 months before the programmers estimated it would be ready.

    6. Re:In other news by hackstraw · · Score: 1

      A study shows that 95% of clients don't know what they want.

      In my experience, they know _exactly_ what they want. Sometimes they even know the platform and development tools necessary to create said project. Then we tell them that with a small bit of more effort they can have an exponential gain in functionality. But they reiterate that they know exactly what they want.

      So we give them what they want.

      They take it home, play with it a while, and come back with, "Its nice, but wouldn't it be cool if it also did X". We think to ourselves, that is what we told you from the beginning. But since this is business, and you have to smoose every idiot as if they actually are capable of thinking for themselves, we smile, and say "Yes, it would be possible to add X", and the process continues until the client says thats good enough.

    7. Re:In other news by AppyPappy · · Score: 1

      A study shows that 95% of delivery dates are picked from thin air.

      The other 5% are based on a arbitrary date from a customer who knows nothing about system development.

      --

      If you aren't part of the solution, there is good money to be made prolonging the problem

    8. Re:In other news by zanderredux · · Score: 1
      Actually, we postponed the movie to 1:45, because there was an error condition we did not expect during our test phase.

      We've engaged a task force to tacke this problem, avoiding further delays.

      We won't charge you for those overtime hours, because we care a lot about your business.

      signed, your PMO.

  14. Slashdot Already Proves This by teiresias · · Score: 4, Funny

    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!

    --
    -Teiresias
    1. Re:Slashdot Already Proves This by newdamage · · Score: 1

      I think I'd waste my day too reading Slashdot if I had to deal with Rational Rose all day. ClearQuest is the devil as it is.

      --
      ce n'est pas un Sig.
    2. Re:Slashdot Already Proves This by lazypenguingirl · · Score: 1

      Don't feel bad. Thanks to me and my 2 minutes writing this post, the environment is doomed.

  15. 95%... by grub · · Score: 5, Funny


    ... and the other 5% never ship at all. (ie Duke Nukem Forever)

    --
    Trolling is a art,
    1. Re:95%... by maxwell+demon · · Score: 1

      Well, you know why there's a "Forever" in the name?

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:95%... by Anonymous Coward · · Score: 0

      You mean: " eg Duke Nuken Forever"

      Right?

      Unless you mean DNF is 5% of all software projects that exist.

    3. Re:95%... by FidelCatsro · · Score: 3, Funny

      People always confuse this one , you see the game is just called "Duke Nukem" again and Forever was the expected development time

      --
      The only things certain in war are Propaganda and Death. You can never be sure which is which though
    4. Re:95%... by Anonymous Coward · · Score: 0

      Right, thanks :P

  16. Circular by mattmentecky · · Score: 5, Interesting

    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?

    1. Re:Circular by Anonymous Coward · · Score: 0

      I fail to see why your inability to control yourself during the day and get work done is somehow representative of the whims of Slashdot authors.

      The only irony here is that you yourself are guilty of your own claim. Why aren't you working?

    2. Re:Circular by Anonymous Coward · · Score: 0

      I don't know about the rest of you, but I consider my time reading Slashdot to fall under R&D.

  17. Well.... by xv4n · · Score: 0

    We are all busy reading slashdot. *runs*

  18. Up to 100% off by CosmeticLobotamy · · Score: 1

    95 per cent of information technology groups are not delivering some number of projects on time.

    Zero's a number.

    1. Re:Up to 100% off by maxwell+demon · · Score: 1

      You misinterpreted. The groups were asked how many projects they have, and 95% of them didn't deliver that number on time.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:Up to 100% off by Anonymous Coward · · Score: 0

      I was obviously kidding. It just didn't end up being funny.

  19. Title is misleading... by mfender9 · · Score: 3, Insightful

    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.

    1. Re:Title is misleading... by nharmon · · Score: 1

      I'm surprised that 5% of IT groups are delivering all projects on time.

  20. Not Suprising by pianoman113 · · Score: 2, Interesting

    I'm sure that 95% of IT shops have little to no software engineering. Until IT Depts. as a whole start to realize the value of things like defect tracking, estimation, time tracking, coding standards, and the like there will be no improvement in this area.
    It is not necessary to impliment the full-blow SEI CMM to produce good software on-time. If developers would take the time to first make reasonable estimates of how long it will take to finish a project and then track how much time they actually put into it, we might start to see some improvement.
    On the management side, when managers start to realize that software is not developed instantly and that problem solving takes time we might be able to reduce the number of features that are packed into a piece of software without extending the schedule.

    --

    Free as in speech, free as in beer, or free as in lunch?
    1. Re:Not Suprising by leerpm · · Score: 1

      I would have to agree. I think a lot of firms do attempt to introduce some process into their organization, only to throw it all out when the deadlines approach.

    2. Re:Not Suprising by TykeClone · · Score: 1
      Until IT Depts. as a whole start to realize the value of things like defect tracking, estimation, time tracking, coding standards, and the like there will be no improvement in this area.

      So, to increase on time delivery, you propose to add more time overhead to projects?

      --
      A fine is a tax you pay for doing wrong and a tax is a fine you pay for doing all right.
    3. Re:Not Suprising by spectro · · Score: 1

      In the Project Management classes I've been taking we've learn techniques to stablish the risk of the project not being finished in time and within budget and to allocate reserves (in time and money) for it. Software engineering is the job of the functional manager developing a specific module (work package)

      --
      HTML is obsolete. It's time for a new, simpler and richer markup language.
    4. Re:Not Suprising by Bellyflop · · Score: 1

      Meh, I've never been a fan of software engineering practices. I like object models only because it helps people understand what they are writing and why. However, I've never seen a tool make a time estimate more accurate. Sometimes, the answer to "how long will this take?" is "I don't know." but you still have to put a date on it anyway.

    5. Re:Not Suprising by pianoman113 · · Score: 1

      In a nutshell, yes. If you want to know how long something is going to take in the future, you start by knowing how long something took now.
      Everything comes at a price, and the price of reliably producing software on-time is taking extra time to see how long it takes to do something.

      You may not always be right (in fact at first you will probably be wrong) but you need to start somewhere. If you want to be on time, you need to know how long things actually take, not just fudge some numbers together.

      --

      Free as in speech, free as in beer, or free as in lunch?
    6. Re:Not Suprising by computational+super · · Score: 1

      And what's really frustrating is the number of people who will read your (painfully accurate and correct) comments and translate them in their head to "Mwahaha - I do no design! Mwhahaha - I code without thought! Mwahaha - I know how to do formal software design, and I know that if I did it, it would result in a perfect, bug-free implementation on time and under budget but I choose not to because I enjoy being difficult! Mwahahaha! Mwahaha!"

      What usually shuts them up is to ask what design documents they produce. If they do answer they say ... "Um... UML. Yeah, UML." If you press for more detail, or a few exmaples, they suddenly remember they have somewhere to be.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    7. Re:Not Suprising by Bellyflop · · Score: 1

      That's the big problem with software, isn't it? The minimum knowledge, or maybe effort, level is sometimes too low because you can get away with it. Sure, you can slap it together and make it "work" in the short term. In the long term...well you've probably moved on anyway. Maybe the problem is that people need something badly but they don't know what it is that they need? There just aren't enough incentives and metrics for long term success. I can write a (insert standard here) document that's believable but useless like politicians write legistlation, but it won't help anyone.

  21. My current project.. by carpe_noctem · · Score: 1

    ..is almost done. Should be ready by the end of the week (crosses fingers)! I'm just about ready to implement the final touches on the UI. Right after I read slashdot, that is... and maybe check my email, and some of the other boards online. Shit, after that, it'll be lunchtime!

    Yeah, sometime after lunch, it'll almost probably definitely maybe get done. I promise.

    --
    "Quoting famous computer scientists out of context is the root of all evil (or at least most of it) in programming." - K
  22. Which is it? by Anonymous Coward · · Score: 0

    Headline: "95% of IT Projects Not Delivered On Time"

    Body: "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."

    Is it 95% of the groups being late with some projects, or 95% of the projects being late? Not at all the same thing.

  23. How does this compare to say... by Anonymous Coward · · Score: 1, Insightful

    Road Construction Projects? or Pentagon Contracts?

    1. Re:How does this compare to say... by MarkGriz · · Score: 1

      "Road Construction Projects? or Pentagon Contracts?"

      Those are 50% overbudget to boot.

      --
      Beauty is in the eye of the beerholder.
  24. It all depends on how you see it by Anonymous Coward · · Score: 0

    I'd say the glass is one twentieth full rather that nineteen twentieths empty.

  25. This is why by nagora · · Score: 5, Insightful

    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

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    1. Re:This is why by maxwell+demon · · Score: 1

      $x^2? You mean they now take square dollars?

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:This is why by norkakn · · Score: 1

      no, that'd be ($x)^2

    3. Re:This is why by Psychotext · · Score: 3, Interesting

      Couldn't agree more. We've had plenty of conversations like this:

      Customer: Joe Bloggs says his company can do it for (stupidamounts) in (notime)

      Us: OK, we've got no problem being competitive. Can we just check that their system is being designed to the following standards ?

      Customer: They didn't mention it, but I'm sure it must be included.

      Us: I see, and is our support agreement in line with what they are offering?

      Customer: * Thumbs their document * - Don't see anything about support. But they're cheaper - You must be trying to have us over!

      Us: ...

      ...and yes, I've been accused directly of trying to "Have one over" on a customer because our prices were higher than someone else. In those circumstances it's better just to walk away as you're never likely to have a successful relationship on your hands. :) It's the age old story for the customer, pay peanuts - get monkeys.

      --
      People that believe in their opinions don't post AC.
    4. Re:This is why by bw5353 · · Score: 1
      Can we just check that their system is being designed to the following standards ?

      Customer: They didn't mention it, but I'm sure it must be included.

      And that is why it is so important to have reference customers. Nothing beats telling a customer: "Those are people who have used us in the past, and who are willing to tell you directly that they are happy with us. Do you know anyone who is happy with the guys who say they can build the system for nothing in no time?"

  26. Vendors by Inigo+Montoya · · Score: 1

    I have to agree with the article's comment on vendor's salesmen being overzealous. I used to work for one of those vendors, I was constantly going into a customer site after the sale to implement what was sold. I was part of the Professional Service team.

    I said "our salesman told you our product could do what ??? " way too many times.

  27. I remember on my first web dev by Ohreally_factor · · Score: 4, Funny

    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.

    --
    It's not offtopic, dumbass. It's orthogonal.
    1. Re:I remember on my first web dev by MisanthropicProgram · · Score: 5, Insightful

      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.

    2. Re:I remember on my first web dev by FidelCatsro · · Score: 1

      If I erect a deadline I expect it to be hard .

      --
      The only things certain in war are Propaganda and Death. You can never be sure which is which though
  28. Rushed projects don't count by anynameleft · · Score: 1
    To understand the 5%: it isn't just about being on time, it is about releasing something satisfactory on time. So projects that are rushed don't count!

    More interesting is how one could measure open source projects. Will Debian Sarge be released "on time"? If a version of KDE needs two RC's, does that make it "too late"?

    1. Re:Rushed projects don't count by maxwell+demon · · Score: 1

      Well, the typical release date for an open source project is "when it's ready". Therefore to be late means not to be released for some time despite being ready. How often does this happen?

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:Rushed projects don't count by PeteDotNu · · Score: 1

      Sounds like Debian stable to me.

      --
      My other processor is big-endian.
  29. Not projects by Council · · Score: 4, Informative

    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.

    --
    xkcd.com - a webcomic of mathematics, love, and language.
  30. So do most construction project by Anonymous Coward · · Score: 0

    Same goes for every other type of project when the management who decides the time tables are not working on the project itself or defines narrow objectives at the beginning of the project instead of saying Q1 then updating later to March and then on a specific date.

  31. If an IT department never, ever is late... by TechnoWeenie · · Score: 5, Insightful

    Then they are either padding their project plans way too much, or are really not trying to do anything new.

    1. Re:If an IT department never, ever is late... by krgallagher · · Score: 1
      " Then they are either padding their project plans way too much, or are really not trying to do anything new."

      We used to call it the Scotty rule. It is from one of the Star Trek movies. Basically it goes like this:
      If you think it will take a week, say it will take three. Then complete it in two weeks and you are a hero.

      --

      Insert Generic Sig Here:

    2. Re:If an IT department never, ever is late... by lsmeg · · Score: 1
      We used to call it the Scotty rule. It is from one of the Star Trek movies. Basically it goes like this: If you think it will take a week, say it will take three. Then complete it in two weeks and you are a hero.

      Unfortunately, in my experience, it's been more like you think it will take 1 week, you say it will take 3, then it ends up taking 2 months due to changing requirements... :/

      --
      It's OK! I'm a limo driver!
    3. Re:If an IT department never, ever is late... by nanotech · · Score: 1

      I'd argue if they aren't late, they aren't really padding their plans, they are just being realistic. Why would this be a bad thing?

    4. Re:If an IT department never, ever is late... by dotMantle · · Score: 1

      Maybe they haven't delivered anything yet... once the deadline passes, then they're part of the 95%

  32. Adding requirements by Therlin · · Score: 4, Insightful

    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.

    1. Re:Adding requirements by Anonymous Coward · · Score: 1, Informative

      You need proper change management. If they want something that isn't in the specification you both agreed upon beforehand, then that needs to be logged as a change, approved by your boss, inserted into the specification, and time estimates adjusted accordingly.

      Too many clients seem to think that just because the project isn't finished, that they can add features for free after the initial estimate. It's a variant on the "if I don't see it happen, it doesn't exist" mindset (it's been shown that even some gorillas are smarter than that).

    2. Re:Adding requirements by NipsMG · · Score: 1

      This is absolutely true, which is why I've recently implemented a change management procedure into our IT development procedure.

      Any and all changes no matter how minute must be supplied in writing. After reviewing the change and coming up with a reasonable estimate of time for this change, the change request must be signed by the requestor and the project timeline is automatically adjusted out by that amount of time (note, testing time is always built in). This also includes any new specifications that need to be drafted, or changes to original specifications (database diagrams, etc).

      If this process is understood at the beginning of the process by all parties involved, changes won't nearly as drastically affect your ability to get your projects done on schedule.

    3. Re:Adding requirements by krgallagher · · Score: 1
      "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."

      Yeah I go live with a project Saturday. At this morning's status meeting they actually tried to add new features. I just laughed and said "There aint no way."

      --

      Insert Generic Sig Here:

    4. Re:Adding requirements by DoofusOfDeath · · Score: 1

      So perhaps the best way to think of changing requirements is that a new project is being proposed. And there's no reason to assume that a new project has the same timeframe, or can fully capitalize on the past completed work of, the original project.

      This view seems both valid and helpful to me.

    5. Re:Adding requirements by rho · · Score: 1
      "We would like to upload an Excel file to update the site."

      That's what I got, just days before completion. I asked if they were comfortable with uploading a CSV instead. They're grudgingly amenable to that, but they felt the need to inform me that Amazon allows them to upload an Excel file.

      Yeah, they have the same budget as Amazon, riiiight. I have found an option, but still--the staggering ignorance in using Amazon as a comparable is, well, staggering.

      --
      Potato chips are a by-yourself food.
    6. Re:Adding requirements by cmburns69 · · Score: 2, Insightful

      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 $$$

      --
      Online Starcraft RPG? At
      Dietary fiber is like asynchronous IO-- Non-blocking!
    7. Re:Adding requirements by Oloryn · · Score: 1
      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.

      I call this Heisenburg's Law of Software Delivery: The act of delivering to a client what he wants changes what he wants.

    8. Re:Adding requirements by Bastian · · Score: 1

      I have my own Heisenburg's Law of Software Delivery - You cannot be sure of both the delivery date and the feature set of the final product.

  33. Well duhhhh by 03Cobra · · Score: 2, Funny

    Thats cuz i spend all my time on /.

  34. Salespeople are the root of all evil by jerometremblay · · Score: 1

    False claims by individual salespeople suggest a short-sighted approach aimed at getting the deal done, hitting the sales target and moving on to the next prospect.

    Case closed.

    1. Re:Salespeople are the root of all evil by TommydCat · · Score: 1

      They also provide the opportunities for you to collect a paycheck in that line of work, so cut them some slack... They're only quasi-evil.

      --
      This comment does not necessarily represent the views and opinions of the author.
    2. Re:Salespeople are the root of all evil by SquadBoy · · Score: 1

      You are right. Good salespeople are a joy and a wonder. A couple of years ago I had the pleasure of working with a network sales guy who was *great*. At least one of the tech staff was on *every* call he made. He double checked every fact he presented to a a customer and went to a lot of effort to grok what he was selling. Set realistic timeframes and made sandwiches for us engineers. (Damn good sandwiches BTW.) Now selling networks is not the core business of where I worked. He produced more money than many of the salesdroids selling core products.

      But the vast majority are not like this or anything even close. So while yes they are needed for paychecks to appear they are dark evil twisted beings. Dark evil twisted beings that we have not yet figured out how to do without but dark evil twisted beings in any case.

      --

      Cypherpunks: Civil Liberty Through Complex Mathematics. Those who live by the sword die by the arrow.
  35. Correction: 95% of Schedules are Wrong by Flamesplash · · Score: 4, Interesting

    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.. ?

    --
    "Not knowing when the dawn will come, I open every door." - Emily Dickinson
  36. Recent project.... by Maxo-Texas · · Score: 1

    "This will take 12 months to roll out properly" Management set the deadline at 3 months. This is typical of every company I've ever worked at. There is also the issue of giving an accurate estimate before the users know what they want. I am most happy with the RUP process for delivering timely projects that meet user expectations.

    --
    She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
  37. Canadian I.T. projects? by jacobcaz · · Score: 4, Funny

    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.

    1. Re:Canadian I.T. projects? by Infinityis · · Score: 1

      But if you convert to Japanese, you'll find that 8420% of their projects are not-on-time. Clearly they are bringing everyone else's average up and preventing things like deep-space exploration, a cure for aids & cancer, and AI.

      I believe the UN should focus on this before they make plans to take over the internet.

  38. The Truth? by Anonymous Coward · · Score: 1, Informative

    The only way to solve this is for IT folks to strangle the idealistic and unrealistic expectations of the suits. If they say they want it in a month, and you know that it will take more on the order of six weeks while supporting other day-to-day business, tell them they can have it in two months. If they are aggressive about the one month deadline, then tell them that other projects will have to halt or suffer, or that you need more staff even on a consultancy basis (ie. more cost). If they can't fit within any of these parameters, you are working for a jerk who needs to be assassinated and are justified in the following behavior:

    1. Lower your work quality and apply those energies to a job search while at work
    2. Find ways to make other systems fail in such a way that they are majorly inconvenienced by you having to pay attention to their pet project
    3. Assemble as much ammo as you can to prove to the board that your boss is a clueless asshole

    Simple really. I've done it before myself and it works wonders.

  39. VERY true by JeanBaptiste · · Score: 5, Interesting

    "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.

    1. Re:VERY true by BWJones · · Score: 1

      JeanBaptiste Emanuel.....Zorg?

      :-)

      --
      Visit Jonesblog and say hello.
  40. not just IT by venicebeach · · Score: 1

    I don't think this is specific to IT. I bet 95% of all human deadlines are missed....

  41. Unrealistic? That's unpossible! by mephistus · · Score: 1

    As I'm sure everyone else who's had to design, deliver, test, present, and repeat again and again, there are lots of things that can push back delivering projects on time. I was told early on by someone wiser than me that when planning a project to figure out the number of hours you figure something will take and multiply it by 2 or 3. That's a good rule of thumb that makes the eventual completion closer to the actual intended date.

    Then again as things increase in scale there are more things that can go wrong and hold things up. In the category of what can "go wrong" the biggest time waste are what customers want for the "Gee Whiz!" features that don't add any appreciable functionality, but take up most of the time.

    I believe I read in here once that 90% of the project is completed in 10% of the time, and the last 10% takes 90% of the remaining time.

  42. In my experience by Fnkmaster · · Score: 5, Interesting

    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.

    1. Re:In my experience by cOdEgUru · · Score: 1

      That sucks!

      I have had clients who are regular ass clowns, which includes a certain grocery chain in Central VA, who have no idea of the timeframe required or the technologies involved. There is an absolute lack of any process, project management wise or developer wise. Defining the features, Use Cases / Test Cases are known as "Documentation".

      As for your complaint about growing requirements, I work with the client to define an acceptance criteria much earlier on and ensure that the client knows that any change to that will entail a scope increase which leads to more money and most definitely wider timeframes. And I try to assign dollar values to the requested features so that they know what they are paying for, helping them prioritize to their needs and get rid of stuff they merely "want".

      Ofcourse, you have to be true to yourself, your team and to the client.

    2. Re:In my experience by Psychotext · · Score: 3, Insightful

      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!

      --
      People that believe in their opinions don't post AC.
    3. Re:In my experience by birdman17 · · Score: 1
      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!

      Yes, you have discovered the critical difference between the GoalDonor and the GoldOwner.

      I like your project execution template. I think if I were to get into contracting/consulting in a big way I would almost certainly want to use something very similar.

    4. Re:In my experience by Darren+Winsper · · Score: 1

      "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."
      I'm in a similar situation, albeit in a much smaller scope. Care to share some of the techniques you've used to resolve the situation? I could use any help I can get :)

    5. Re:In my experience by Anonymous Coward · · Score: 0

      I disagree about having a source of technical knowledge. I used to think that it was important to have a strong lead with a technical background - but after working successful projects with both technical and non-technical leads, I think that it all comes down to 3 important factors.

      What, Why, and How.

      As long as you understand what the end result is going to be, why you need it, and you have a clear indication of how you are going to get there your project should be in pretty good shape. It is only when people forget what the end result is going to be and start tacking on extra requirements does the project fail.

      I am currently managing and developing a mult-million dollar implementation, and I just finished another. Every day we would go over what we had to do, and make sure that each item related to our goal - which was clearly defined, and well understood. Extra work that did not help us attain our goal (for the day, for the project) was dropped. Each time, we came out ahead.

      Another note, more developers need to learn to pad an extra 20% on each project that make up for problems that will happen.

      ---

      By the way, Extreme Programming is shit. If you ever get on a project with a person that wants to proceed without a clear idea of what the outcome is, run for the hills.

    6. Re:In my experience by cbciv · · Score: 2, Informative
      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,

      This is the first mistake. Estimates and deadlines should never be based on a requirements document. That document only tells you what problem you're going to solve, not how you're going to solve it. Any estimate at this point in the process is pulled out of one's ass and worth what you would expect. It should never be given to the client.

      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).

      Requirements (and design) documents should always be considered a separate deliverable. That way when some percentage of your clients decide to cancel the project upon really seeing the scope for the first time, you won't have to eat the cost. This happened to me just last year. I got paid for the requirements doc, so it wasn't a complete loss.

      Since you can't do this, the client will eventually get upset, even though it's their own fault.

      Can't do what, tell them the truth? That's compounding the first mistake. Don't lie to your clients in order to milk them for money when you know the project is doomed. That's unethical and your reputation will suffer accordingly.

      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.

      I'd try to go over the head of the project manager first. If I couldn't do that, I'd look at my contract and consider my options, including termination of the contract. My contracts always have termination clauses that allow for this. I'd rather terminate the relationship and find something else than screw a client and myself by continuing the project under false pretenses.

    7. Re:In my experience by Fnkmaster · · Score: 1

      This is the first mistake. Estimates and deadlines should never be based on a requirements document. That document only tells you what problem you're going to solve, not how you're going to solve it. Any estimate at this point in the process is pulled out of one's ass and worth what you would expect. It should never be given to the client.

      Obviously. I would never commit to any time frame before having as complete a specification as I can get a client to let me write. However, many projects are set up from the beginning such that the executive sponsors (i.e. Gold Owners) have dictated a timeframe. Then you have to start out trying to scope something around that while at the same time managing their expectations and telling them repeatedly that they won't get everything they hope for if they stick to their dictated time frame. If you follow your tact, simply walk in and say you won't speak with them until they acknowledge that no time frame can be _discussed_ until they pay you to spend weeks working on the 100 page specification they will want, then you are out of a job.

      Requirements (and design) documents should always be considered a separate deliverable. That way when some percentage of your clients decide to cancel the project upon really seeing the scope for the first time, you won't have to eat the cost. This happened to me just last year. I got paid for the requirements doc, so it wasn't a complete loss.

      Yes, I completely agree on this - requirements and specification are completely separate deliverables. Nonetheless if nobody at your client's firm is both technical enough, interested enough, or motivated enough to bother actually reading the specification when it's presented to them anyway, but will insist on adding lots of things to it after the fact, you can be fucked nonetheless.

      Can't do what, tell them the truth? That's compounding the first mistake. Don't lie to your clients in order to milk them for money when you know the project is doomed. That's unethical and your reputation will suffer accordingly.

      No, of course you try to tell people the truth. I was of course exaggerating a bit, you never actively want to lie to obtain a contract in the first place, but if you've gotten stuck in a situation where other people's jobs and livelihoods depend on the non-cancellation of an existing contract, or like my situation, my entire payout from selling my old company was dependent on the consulting contract, you _can't_ just say no and walk away, fucking yourself AND your employees out of hundreds of thousands of dollars because your client *fired* their old CIO mid-project and changed all the rules on you. If that's ethical, then fuck ethics, I'll stick with my system.

      I'd try to go over the head of the project manager first. If I couldn't do that, I'd look at my contract and consider my options, including termination of the contract. My contracts always have termination clauses that allow for this. I'd rather terminate the relationship and find something else than screw a client and myself by continuing the project under false pretenses.

      See above. The project manager was a non-entity, the President of the company essentially took over decision making authority from the CIO about a week into our project, with an agreement on paper that tied my entire compensation for selling my company which I had put years worth of my life into to the consulting contract. It wasn't just another gig that could be easily replaced. Yes, those were special circumstances - in general, if you try to be honest with somebody and they just refuse to listen, you're probably better off walking away. And no, I would never have screwed over a client intentionally, but it's rarely as simple as you make it seem.

      In any case, I didn't mean to make it sound like all projects were really like that, but the bads ones can be. I agree with you that in general those bads ones are so bad (probably why they stick out in my mind and the good ones don't) that they aren't worth taking if you have any choice at all about it. Better to pass on a moderately good opportunity then end up stuck in a miserable doomed project if you can help it.

    8. Re:In my experience by Fnkmaster · · Score: 1

      Try to avoid nasty projects before they happen? When you are assessing a project, also make sure to assess the way decisions are made at your client's company, who has check-signing authority, who determines and measures success, and who defines features and serves as the giver-of-requirements. Make sure you know who all those people are, and make sure they are keeping their jobs for the duration of the project!!!!

      Anyway, specifically if your problem is a nontechnical person managing the project on their side, make sure you explain every step in advance - tell them what to expect from a requirements document, and what to expect from a specifications document. Make sure they understand that the process is very important and that even though some things may seem odd to them, it's all done this way to make sure no mistakes are made and to keep their costs down in the long run.

      If they are completely non-technical and refuse to accept any guidance or advice, and adamantly insist on micromanaging, time-frame shrinking, and requirements ballooning, the project is fucked from the get-go. Get out of it if you can (i.e. you have decision-making authority and it won't cost people their jobs if you drop the project), if not, try to be honest, go over their head if possible (sometimes you have to play politics between the executive sponsors and project managers and so on).

    9. Re:In my experience by Fnkmaster · · Score: 1

      As long as *I* understand? No, the problem isn't when I don't understand since that never happens, it's when *they* don't understand. That's my whole point - if they have somebody who can articulate what they are looking for who has a rapport with the person controlling the purse strings, then there's no problem. Maybe I went overboard when I said "technical background" - they need to be precise _enough_ to understand and listen when you tell them what "requirements" are and "specifications" are, and make sure the guy controlling the purse strings buys into their vision of what they need.

  43. Methodologies and the lack of it by cOdEgUru · · Score: 4, Insightful

    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.

    1. Re:Methodologies and the lack of it by Reignking · · Score: 0

      First of all, the report focuses with Candian firms.

      Not really:

      The report -- called IT Priorities -- is culled from a survey of 1,400 IT decision makers from what are described as mid-sized companies in Canada, the United States and Britain.

      --
      One man's Funny is another man's Offtopic.
    2. Re:Methodologies and the lack of it by Anonymous Coward · · Score: 0

      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.

      Great, just what I need. Another voice standing behind me going "Is it done yet? Is it done yet? Is it done yet? Is it done yet?"

    3. Re:Methodologies and the lack of it by meburke · · Score: 2, Insightful

      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."

      --
      "The mind works quicker than you think!"
    4. Re:Methodologies and the lack of it by infinii · · Score: 2, Interesting

      RUP or XP don't do anything to solve the actual problem, that being that requirements change but budget and timelines are rarely updated in a fair manner.

      I'd argue that having constant client interaction (XP) actually hinders progress because you give them opportunity to constantly refine (read 'change') the requirements. Hey no problem with me but someone has to associate a cost with this, nothing is free.

      The whole XP methodology is fine for reliably delivering systems that the user actually wants but it does nothing to do so in a timely fashion, which is the point of the article.

      Housing developers aren't expected to change the foundation and add entire sections to a house after the project has started, without delay. Yet we are expected to perform this magic because the client and management don't equate the bits n bytes in our projects the same as natural resources in any other industry.

      Want to know the worst thing a developer can do? Work on some side project to mock something up to impress the boss, demo it and wow them beyond belief. Problem is, you only took a weekend to hack that demo together but the boss doesn't understand that there is no framework in place to extend it, no authentication, no connection to an actual backend/db, no error handling, no logging, no nothing, just a fancy bun with condiments but no hamburger patty inside.

    5. Re:Methodologies and the lack of it by rho · · Score: 1
      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've been toying with the idea of blogging *spit* my projects. It gives me an active record of what happened and when, and it gives the client something to look at so they don't call me and spend an hour asking me "how is it going?"

      Face-to-face conversations are okay, but usually I have an overwhelming urge to teach and explain things to people who really couldn't give a shit. "I'm using a VIEW here, with a stored procedure to prevent the data model from getting excessively complicated." "Huh--can you make that box there blue instead of green?" Educating customers is one of those things that sounds good until you actually try to do it. (Just like educating teenagers who couldn't care less sounds like a good idea until you actually try.)

      --
      Potato chips are a by-yourself food.
    6. Re:Methodologies and the lack of it by ManicGiraffe · · Score: 1

      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.

      That's all well and good, but what do you do when the client isn't interested? I have one client especially who actively tries to avoid my calls, and tries to ditch me ASAP when I do manage to get them on the phone. I'm not wasting their time: I am asking pertinient questions I need to know so the software functions in a manner they understand. What's the solution for unmotivated/uninterested clients?

    7. Re:Methodologies and the lack of it by cOdEgUru · · Score: 1

      I like the idea of having a Client onsite because it encourages communication and serves to resolve any requirements issues/questions that arise. It also helps in reprioritizing requirements delivered as part of iterations, because the client knows best as to what they need most as part of each iteration.

      I wouldnt let the client to change the requirements willy nilly and have them ask the team to change stuff as development goes along. Thats why I involve them in the creation of a Change management procedure that they fully agree with and any significant change (for which a proper impact analysis is done) will be implemented only once its reviewed and approved by the CCB (which involves the Client as well).

      You dont have to follow any methodology blindly. You can pick and choose the one which is adequate and serves your project best. Anyone who asks you to follow any methodology blindly is selling it and not to your best interests either.

    8. Re:Methodologies and the lack of it by cOdEgUru · · Score: 1

      If you got the balls, inform your management that the project is on a one way trip to hell.

      Seriously, let this Client know that with out his/her participation that this is doomed to fail. Now if the Client "does" want this to fail, then my best advice is to let your top management know of the issues so that you and your team not be held accountable when crud hits the fan.

      If your client dislikes you specifically for any reason and he/she is the only subject matter expert, I suggest you get the help of another Business analyst/ PM / Architect to get the client to answer your questions. Or cc your mail for query to your PM to keep him/her in the loop. And direct your queries to your PM rather than to the client. Thats all thats humanely possible.

    9. Re:Methodologies and the lack of it by ManicGiraffe · · Score: 1

      All excellent advice. My biggest problem is that nmy manager lets them get away with it - he's more about making sure the customer feels "validated" rather than producing software that works or is on time. It's telling that my degree was in C.S. and his was in Communications.

      To be fair, I don't really get held accountable for things needing changes, since I can prove that my design meets all existing requirements. It more of a personal pride thing: I invest lots of time and energy into the code, and then it withers and dies or has to be destroyed because a customer isn't paying attention and "forgot" something.

    10. Re:Methodologies and the lack of it by roman_mir · · Score: 1

      First of all, the report focuses with Candian firms. - not true, Canadian, US and GB.

      You love XP? I love the tools they use. I had a contract in the beginning of the last year (with a very large US/Canadian firm) where the customer hired an XP shop and they also hired a few contractors to work as if from the client's side. The team lead (who was aiming at becoming a manager and a CTO later) bought into the XP methodology because he liked the fact that there is no way anyone can blame him for incompetence, in XP everything is shared - the code and the blame, don't forget that. We actualy had paired programming. Imagine how that looks - two 90/hr contractors are sitting coding a simple utility of some sort. We had 90% unit test coverage - that was very good. The code was not complete without the unit-tests. We had it all - stand up meetings, constant user interations etc. And we had none of formal design. The so called 'achitect' on the project wanted to design everything in house, including large portions of the app server (so it was a J2SE instead of a J2EE project, where we were also building containers, frameworks, instead of building actual business logic - you can see I am bitter a bit, I saw the problem from the beginning and pointed it out - oh, my, how that bit me in the ass later.) I did not like this 'no responsibility' crap. The whole thing smelled of rot. Well, I was out of there in 3 months (I was told I was a great developer, but was incompatible with the team-think.) Well, duh, the project was supposed to be delivered by 2004 August. It is STILL going (I know, since I know a couple of people on the inside.) XP ideology says: whatever is not an immediate problem - we do not address it, otherwise it is not XP. XP is great for the vendor - billing at 2x the rate! Awesome. I would NEVER hire an XP shop to do any serious programming for my firm.

      But I learned a few things from them xPlanner, using Wiki for documentation (not the way they use Wiki - for post documentation but using it as a common point of access to all project documentation,) unit-testing to an almost impossible extent - it all helps a lot. So I apply it where I can (my normal contract is where I am the team lead/architect,) so for example on my last contract it helped a lot. - This was a different spectrum of a place - every piece of information is controled by someone and to them means job security. It was awefull. No useful design documentations since you can't have it, otherwise you are not irreplaceable etc. So I installed Wiki on my machine, installed CVS server on my machine (even access to their source controlling software was impossible to get.) And that's how we worked. The actual developers, QA, BAs and some managers loved it - centralized control for information. But their top level contractors who've been there for ages hated it - it made the process and the means transparent and easily accessible. What a nightmare! I worked hard to gather and maintain correct information in the Wiki docs and people started doing it too and got used to it. People like things that make their lives easier. But those who hate to lose control were furious.

      No, XP is not in itself a golden bullet, no RUP is not the golden bullet, but it is better to have a process than not to have it. It is better to have docs than not. It is better to have unit-testing than not. It is better to have the QA dep't than not. It is better to have people on the project who care about the quality and maintainability of the project than people who only care about job security and information control. Consider yourself lucky if where you work you have all of those things.

    11. Re:Methodologies and the lack of it by pipingguy · · Score: 1


      First of all, the report focuses with Candian firms.

      It's also possible that Candian firms do not have the huge resources that Amerian firms typically have.

      Just to tweak some noses, I suggest that Candian companies *have* to be good at multiple tasks simply because of the relative numeric disadvantage. I.E., Candians can't afford to have specialists for every imaginable task, so they all have to have a better overall understanding of the process and are cross-disciplinary in capabilities.

    12. Re:Methodologies and the lack of it by jasonjacks0n · · Score: 1
      The system gets built, but it suffers from Simplicity

      Yeah, I just *hate* it when systems come out simple. I'd much rather some methodology was consistently applied to complicate them up .. that's generally far better in the long run. ;-)

      Just kidding .. your capitalization of "Simplicity" implies that it's part of some terminology I've not run across. I assume it means/implies "too simple-minded to fully encapsulate the problem set", or something along those lines. I've just never heard anyone criticize simplicity in system design before, and had to comment. =)

      --
      This space intentionally left blank.
    13. Re:Methodologies and the lack of it by cOdEgUru · · Score: 1

      Actually, there is nothing one can do once they hit "Post"! :)

      It should have been "suffers due to the lack of simplicity".

  44. Another study shows... by Moo+Moo+Cow+of+Death · · Score: 1

    Another study shows that 100% of customers that don't know anything about computers think programmers pull code out of their ass on command.

    1. Re:Another study shows... by fnord_uk · · Score: 1

      Some do...

      but, as my friend Bob (a Bob, not the Bob) says:

      "Other peoples code is like a fart. You're own isn't so bad, but other's stinks."

      Now we know why...

      --
      In theory, theory and practice are the same. In practice, they're not.
  45. Far To Many Variables by EXTomar · · Score: 1

    I don't see this as a human failure but more of an unrealistic expectation with limited resources. In short any project will encounter any number of problems along the way most of which were never dreamt of during the meeting room planning phase. The best planners try to learn from past experiences to plan for the semi-cyclic stuff but in the end there are too many variables that will interfere. From the mundane (a server blows up taking out internal development for a couple of days) to the rare (a developer is run over by a bus).

    Who can ever plan for that? The best scheme I've seen is make a solid "best situation" plan, set key miletones to check "sanity" along the way, and then double it.

  46. Mission Impossible by Mumpsman · · Score: 1

    ...or to the full satisfaction of the business executive

    Every "business executive" I've ever worked with is disappointed with the results of their request if, at the end of the day, the IT department is unable to do the impossible. It's all about managing expectations.

    "Hey, helpdesk. Yeah, I just dropped off a spool of yarn over in Finance. I need you to make it into a magic carpet by 5 so I can fly to Europe. What's that? All you can do is fix my e-mail? Ok then, just do that."

    Executives ask for the moon and settle for less, it's in their nature. They are never "fully satisfied".

    --
    No battles to the death are recalled. Mumpsman can hit to attack and cause brainsmashing.
  47. or by FidelCatsro · · Score: 4, Insightful

    Could be seen as 95% of IT projects not given enough time for completion by marketing

    --
    The only things certain in war are Propaganda and Death. You can never be sure which is which though
    1. Re:or by broothal · · Score: 2, Insightful

      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.

    2. Re:or by FidelCatsro · · Score: 1

      I assume this was on the 30th september ;)

      --
      The only things certain in war are Propaganda and Death. You can never be sure which is which though
  48. I'm Shocked! by boyfaceddog · · Score: 1

    Unsatisfied Executives?!! Un-be-LIEVE-able! There are only two facts you need to know about executives to understand this report: 1) an $executive is NEVER satisfied 2) if you have any questions about the eventual success of any given project, see point 1.

    --
    Here will be an old abusing of God's patience and the king's English.
  49. It should read.... by NerdBuster · · Score: 0

    95% of all IT projects are scheduled incorrectly...i.e. by marketing and not engineers.

  50. Re:Correction: 95% of Schedules are Wrong by Cheerio+Boy · · Score: 1

    Correction: 95% of Schedules are Wrong

    I'll agree with this wholeheartedly. Besides the developers you've already mentioned there are plenty of Suits that push for insane deadlines so they can show a good side to the customer then beat their people so to speak when they don't make those insane deadlines.

    This not only happens in the I/T department but in Engineering as well.

    If the Suits made realistic schedules not only would the world move along at a more comfortable pace most likely but people would get the delivery times they were quoted.

    --

    "Bah!" - Dogbert
  51. Optimism by delta_avi_delta · · Score: 4, Interesting

    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.

    1. Re:Optimism by ElderKorean · · Score: 1

      Speaking about classes that we remember.

      I did a Systems Development type class, where the whole class was split into groups but each was working on the same type of project.
      At regular times when we submitted when we had and where we were up to with the lecturer.

      We were then given another group's project to take over from instead of our own.
      That really brought home about how well we should be documntating the work.

      We can be replaced, but we can also be called in to replace someone else too.

  52. The 7 P's by NoHandleBars · · Score: 1

    Proper
    Prior
    Planning
    Prevents
    Piss
    Poor
    Per formance

    --
    +-+-+-+-+-+-+ "I don't know what's wrong with you, but I'm quite sure it's hard to pronounce."
    1. Re:The 7 P's by Anonymous Coward · · Score: 0

      Rogue Warrior?

    2. Re:The 7 P's by Anonymous Coward · · Score: 0

      I prefer:

      Pedantic
      Pricks
      Prove
      Problematic
      Perhaps
      P eople
      Psuck

    3. Re:The 7 P's by richieb · · Score: 1
      This is a myth propageted by project managers who only know how to do things in MS Project. You can't plan for what you don't know.

      Did Columbus discover America on schedule?

      --
      ...richie - It is a good day to code.
  53. story by justforaday · · Score: 4, Funny

    Wasn't this story supposed to be run yesterday?

    --
    I'll turn into a supernova and burn up everything. Well I'll turn into a black little hole and you'll turn into string.
    1. Re:story by one_get_one_free · · Score: 1

      It's OK. They'll make up for it by running it again tomorrow.

    2. Re:story by bujoojoo · · Score: 1
      Wasn't this story supposed to be run yesterday?

      Just wait. The dupe will be late too...

      --
      This space for rent
  54. Most of the times... by dark-br · · Score: 1

    ... they get what *WE* (programmers) want. Thats why they wont be satisfied.

    1. Re:Most of the times... by indifferent+children · · Score: 1
      What *WE* (programmers) want is for the customers to be happy.

      After a few years of frustration, a young programmer learns that to make the customer happy, you must give them what they need, and make them think that you are giving them what they want. Any other combination, real or imagined, will lead to a dissatisfied customer.

      --
      Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
  55. gah? by tomstdenis · · Score: 1

    This is news?

    Yeah and I bet every civil engineering project, every 3 course dinner ordered and every travel plan made went totally as scheduled.

    SHIT HAPPENS.
    Tom

    --
    Someday, I'll have a real sig.
  56. Not Surprising by cowboy76Spain · · Score: 1

    I am in a small (8 programmers company). Even with this little people, management only gets involved once every few months in a review of the project, and this reviews always add new "features" (some of them forcing to rewrite a good part of the project and changing its philosophy).

    The project itself was thought to use a prototype life cycle, adding new features and rewritting and redesigning it when needed. Of course, there has never been time to rewrite it now that we know (or we think we know) what we want, so we have to fight with code that sometimes does just the opposite of what would be logic.

    The project management has tried to manage this adjusting more and more time for "bug tracking" and "alpha testing". Pointless, because more time in these stages gives the company management more time to add features.

    Of course, when something crashes the company management feels that the one to blame are the programmers instead of them.

    And by the way, I'm not Dilbert.

    --
    Why can't /. have a rich-text editor? Editing your own HTML is so XXth century.
  57. Re:This just in. Project Bloat by dfn5 · · Score: 2, Insightful
    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)

    --
    -- Thou hast strayed far from the path of the Avatar.
  58. Utter nonsense - its management by Anonymous Coward · · Score: 0

    The fault isn't just with the Vendors, it's with always management, management, management. Or the lack thereof. The management on the vendors sideb, but also on the customers' side. What ever happened to "the buck stops here?".

    Nowadays, what I'm seeing (at least with VC backed startups) is that there's an utter slapdash approach to things. It's "make the quick hustle so we can sucker someone else into buying the company". Screw real engineering work.

    This leads to the infamous death marches, and late deliverables. Plus completely unsupportable infrastructure, as the goal is to grab the quick cash, and let the next poor sucker deal with the problems.

    So be very wary of new VC startup technology. Don't avoid it; just understand that it's quick-buck snake-oil that's being pushed, for first generation technology these days.

    The other management issue that pisses me off is trying to short schedules. I give an honest estimate, and ones which almost always turn out to be accurate; and what do I get back? It's "can we trim these"? Or "how about we add more people and do it quicker"? Anyone who's read the mythical man-month knows the latter approach has severe constraints, and too often doesn't work.

    But there's no concern about reality. No wonder schedules slip.

    The really good managers are far and few these days. Now, it's mostly quick-buck artists. You'd better believe most IT projects are going to fail, when there's no attention paid to real engineering.

  59. Could that be because... by bob670 · · Score: 1
    95% of my co-workers have been laid off

    I already work late 95% of the year

    95% of the support people I have to call for additional information speak English as a second language

    95% of all projects are scoped by non-technical people who don't really understand what they are asking for

    ...and that is just the stuff off the top of my head, if I really stop to think about it I might weep. And none of you politically correct whiners start up with the whole "xenophobe/global economy/blah blah blah" nonsense, 95% of phone support people suck no matter what language they speak but when I have to call MS at 3a.m. to get an unsupported HotFix it makes it that much harder when I have to repeat myself 3 times.

  60. Not my experience by jimbro2k · · Score: 1

    As a consultant who takes lots of short term contracts over the last 25 years, I've seen a WIDE sampling of the industry.
    This number was high 25 years ago and we were promised then that more processes would reduce the number of faild projects.
    It has not.
    I agree with most posters that management is to blame almost all the time, for a variety of reasons.
    A process-based shop typically adopts processes so they can:
    1. Add lots of billable documentation specialists,
    2. Avoid responsibilty for bad decisions by pointing out: But we're CMM Level 3!

    I've seen the highest success rates at shops that are results-focused rather than process-focused, where CMM & its allies are used as a subset of many tools rather than as sacred cows worshiped in their own right. The very highest successes I've seen had almost none of these processes beyond version control and coding standards, but that may have been because the teams involved where way above average.
    And that is the delemma: Without good decisions & people, these processes won't help, and with the good decisions & the best people, they are not needed as much.

    --
    There is not nearly enough love in the world, but there is far too much trust.
    1. Re:Not my experience by computational+super · · Score: 1

      In addition to which, CMM level x promises not just accuracy and completeness, but it promises accuracy and completeness within a specified time frame. (As I understand the "formal" software engineering practice, the designers/architects get to set the time frame, which is ridiculously unrealistic in and of itself anyway, but set that aside for a moment). I have yet to even hear of a project which went through any formal design process, came up with a timeline, and then was able to implement within that timeline.

      It's possible that this is an achievable goal... when I first heard a description of the problem of securing communications on an unsecured network without prior contact between participants, I concluded that the problem must be unsolvable. However, when I subsequently read a description of public-key cryptography, it was obvious that it would, in fact, solve that problem. However, my experience with "solutions" to the problem of delivering bug-free, complete software, with a schedule in hand before a line of coding starts have been the same as yours. I'll still keep looking, but I'm not holding my breath.

      --
      Proud neuron in the Slashdot hivemind since 2002.
  61. "SOME number" -- Useless statistic by Enthrash · · Score: 3, Insightful

    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...

  62. What gets done on time? by podperson · · Score: 1

    Pretty much the only stuff that happens on time is either totally assembly-lined OR has enormous slack deliberately built into the estimation process OR both.

    E.g. "How long will this Oil Change take?" will either be "about 30 mins" (in which case come back in an hour) or "come back this afternoon" (i.e. it will take half an hour sometime during the day).

  63. Unreasonable expectations by qwijibo · · Score: 1

    The core of the problem is that more and more people have completely unreasonable expectations. I'm surprised how few people I see around me who are cynical enough to say "show me" when someone makes a preposterous claim.

    Companies expect to cut staff year after year without losing productivity. Some organizations are so bloated that this works well the first few passes, but there becomes a point where the results of this approach are harmful. The people looking at the budget figure if they saved 20% on staff expenses over each of the last 2 years, they should do the same thing this year.

    Vendors lie. Salespeople lie. Any organization that is purchasing any product, technology or otherwise based on the statements of salespeople and vendors is failing to perform due diligence. I frequently see complaints about products not working as expected, or products being sold under claims that are revealed by technical support to be completely untrue, but only after the purchase has occurred. When this happens, nobody is willing to lose face and increase their losses by taking the vendor to court for outright fraud.

    Only the cynical pessimists seem to be successful due to setting expectations low enough that they can be pleasantly surprised with the results. Has IT gotten such a bad shakedown that there aren't enough grizzled old veterans on these projects?

  64. In related news... by Cr0w+T.+Trollbot · · Score: 1
    ...fire is hot, spammers don't always tell the truth, and Bill Gates may not actually have your best interests at heart.

    - Crow T. Trollbot

  65. poorly defined project scope by McGiraf · · Score: 0

    Poorly defined project scope and continuously changing project scope are the main reasons for this.

    It's a moving target.

  66. Re:Correction: 95% of Schedules are Wrong by leerpm · · Score: 1

    Yes, there are methodologies and processes available that help with scheduling. A major problem though is that *both* management and line employees often do not buy into these processes, they see them as just getting in the way of the project. And in someways they are right, it does slow you down a bit, but over time you develop the capability to do much more accurate estimates.

    For people who don't want the inefficiencies of a heavy weight process methodology like CMM, it's often better to look at more agile methodologies.

    I think many companies have trouble deciding between what is more important: 1) getting a product out the door as fast as possible , or 2) being able to more accurately predict when a product will be ready.

  67. Not surprising. by Xiver · · Score: 2, Insightful

    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.

    --
    10: PRINT "Everything old is new again."
    20: GOTO 10
  68. What does Info-Tech sell? by xxxJonBoyxxx · · Score: 1
    "Info-Tech Research Group says 95 per cent of information technology groups are not delivering some number of projects on time"

    Hmmmm...I wonder what "Info-Tech Research Group" sells...
    http://www.infotech.com/Products%20and%20Services/ Consulting%20Methodologies.aspx

  69. In my experience ... by johnhennessy · · Score: 2, Informative

    (Stolen shamelessly from someone else...)

    A Product can be:

    1) On time
    2) On budget
    3) Feature complete.

    Pick any two.

    --
    [ Monday is a terrible way to spend one seventh of your life. ]
    1. Re:In my experience ... by xv4n · · Score: 0
      A Product can be:

      1) On time
      2) On budget
      3) Feature complete.

      Pick any two.

      Pick two? You are an optimist. I'm more of the idea you can pick only one of those.

    2. Re:In my experience ... by techno-vampire · · Score: 1
      Polaris was:

      1)Ahead of schedule.
      2)Under budget.
      3)Feature complete.

      Why limit yourself to two when you can have all three?

      --
      Good, inexpensive web hosting
  70. IT is overhead by ewg · · Score: 1

    In many organizations, IT is pure overhead, like building maintainance. Management has a natural bias against things that cost money but don't generate revenue, at least directly.

    Not the entire picture, but a part of it in my experience.

    --
    org.slashdot.post.SignatureNotFoundException: ewg
    1. Re:IT is overhead by krgallagher · · Score: 1
      "Management has a natural bias against things that cost money but don't generate revenue, at least directly."

      I once had a new CEO come in and reqire every department to do an RIO (Return On Investment) report to justify their head count and budgets. In ours we reported that due to process automation, the company had been able to reduce head count in two departments by 80% while increasing efficiency by 25%. It is a cruel way to justify your job, but we kept our full head count and budget.

      --

      Insert Generic Sig Here:

  71. At my company... by Awestruckin · · Score: 0

    I know at my company whenever an I.T. project is not completed on time, it's my fault, and not my direct managers. I think he said it had something to do with me not shaving or my shoes or something...

  72. Oh boy by dopelogik · · Score: 1

    " ...to the full satisfaction of the business executive"

    Man... don't even get me started on this subject.

    How about companies where stake holders and decisions makers and execs knew their ass from their elbow when it comes to a computer? I bet most of those projects are reasonably on time because they understand what planning is - the thing that no client ever wants to pay for becuase it's a "waste of time and money".

    Like I said, don't get me started... I mod this article flamebait.

  73. The wise words of Scotty by scarolan · · Score: 1

    SCOTTY - (conspiratorially) And how long will it really take you?

    GEORDI - (puzzled) An hour.

    SCOTTY - (shocked) Ye didna tell him how long it was really going to take you?

    GEORDI - (irritated) Of course I did.

    SCOTTY - Oh... Laddie. You've got a lot to learn if you want them to think of you as a miracle worker!

  74. News Flash by hey! · · Score: 1

    5% of IT projects are delivered on time.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  75. Curious by lux55 · · Score: 1

    I'm aware of the various obvious reasons (unrealistic deadlines/expectations, poorly defined requirements, scope changes, staff shortages, sabotage and other "real-world" issues, etc.), but I'm curious to know peoples' thoughts on a couple things:

    First, how much of an effect does the fact that many universities/colleges in North America are pumping out rather mediocre, assembly-line Java programmers have on a project's changes of success?

    Second, I've seen a lot of hype over offshore outsourcing, but not much in the way of actual case studies showing its success compared to in-house or traditional regional outsourcing. Anyone have any good anecdotal info here or maybe a few links that cut through the marketing hype (which is why Google wasn't of much help here when last I looked)?

  76. Customers by Anonymous Coward · · Score: 0

    I've had customers complain about a product not meeting their expectations. Of course, the expectations being missed were never promised! The customer just assumed it would be there or "can't remember" when it was promised.

  77. Blame the Vendor? by Anonymous Coward · · Score: 0

    Maybe I'm just crazy, but am I the only the one that thinks it's a bad idea to base a critical part of your project on technology with which you have no experience? It would seem to me that a few dummy projects should be developed using the new technology to give the developers a feel for how it works (if it works) before forking over wads of cash to the vendor.

    1. Re:Blame the Vendor? by Anonymous Coward · · Score: 0

      "It would seem to me that a few dummy projects should be developed using the new technology to give the developers a feel for how it works (if it works) before forking over wads of cash to the vendor."

      And that will mean...
      Losted time the company will not bill to nobody. ...when they know they can get the client and somehow learn about that technologies AND billing them by that since the client will accept the delays and the inacuracies.

      Who in his mind would do under the circumnstances what seems the way to you?

  78. The Three Failures of Engineering by stlhawkeye · · Score: 5, Insightful
    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.
    --
    "I have never won a debate with an ignorant person." -Ali ibn Abi Talib
    1. Re:The Three Failures of Engineering by frank_adrian314159 · · Score: 1
      ...when all your best talent gets fed up with their 2% raises and quits.

      Raises! You got raises?

      In my day we felt lucky if we got to keep our jobs. Back then, if you got the job done on time, you were lucky if they didn't just cut off your coffee breaks and up you to twenty hour days. And if you didn't get the job done on time? Well, fourty-six hour days were comoon, if they didn't just kill you.

      Kids these days have it way too good...

      --
      That is all.
    2. Re:The Three Failures of Engineering by YongLeeSMG · · Score: 1

      LOL... Yes if only we can take those 3 reason for failure and apply them... It's funny how we know of them, but forget them.

    3. Re:The Three Failures of Engineering by Jalthar · · Score: 2, Insightful
      <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.)

      --

      --
      Need a break? Check out CircusIrata

    4. Re:The Three Failures of Engineering by rpillala · · Score: 1
      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.

      If anyone is interested in that discussion, there's a very good rendition of it in The Electronic Sweatshop by Barbara Garson http://www.bookcloseouts.com/default.asp?Nsl=-2375 8&Ix=1&R=0140121455B&Rt=4

      --
      When the axe came to the forest, the trees said, "Look out - the handle was once one of us."
    5. Re:The Three Failures of Engineering by codegen · · Score: 1
      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...

      Mind if I use that example in my Requirements class? I spend several weeks talking about elicitation including implied and tacit information, verb moods and the using problem oriented questions in elicitation. One example is a clerk in a camera store:
      Version 1: do you want shutter priority or aperture priority?
      Version 2: will you be taking action shots or still pictures?

      While you are quite correct that developers need to keep the business need in mind, the role of the requirements team is to communicate the business requirements (among others) to the developers. And that skill, is unfortunately, all too rare. In the requirement above, a better phrasing of the requirement is: The system shall generate a unique ID for each customer in the database.

      This still avoids design, and is unambiguous.

      --
      Atlas stands on the earth and carries the celestial sphere on his shoulders.
  79. Its a management problem... by mtrupe · · Score: 2, Insightful

    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.

  80. Of course this happens: management oversubscribes by LaughingLinuxMan · · Score: 1

    Management usually does not have a good idea what happens on a day to day basis. Now it should be said that both we (IT staff) and management need to work together to solve this, but the end result is that, when asked whether they have the resources to work on a project, our uninformed management answers incorrectly. This results in over-subscribed staff who cannot easily focus on getting a particular project done on time. Instead we have to allocate small chunks of time for each of many projects just make sure we have made some progress when our customer calls. Little progress on lots of projects means none get finished in a reasonable amount of time.

  81. Overpromises by Doc+Ruby · · Score: 1

    AKA "95% of IT Projects Scheduled Impossibly by Managers". "On time" is defined by PHBs. Too many of them respect programmers/admins so little that they think we just push a magic button on the right day, and the computer generates some products. So they think they can do the same, like FedEx and MS Project were compilers.

    Expectations - Deliveries = Disappointments

    --

    --
    make install -not war

    1. Re:Overpromises by Anonymous Coward · · Score: 0

      Here is another equation for you:

      Doc Ruby=blabbering idiot

  82. Two Words by Anonymous Coward · · Score: 0

    Non-performance clause

  83. What a surprise! NOT. by 93+Escort+Wagon · · Score: 1

    I'd say that close to 100% of my projects are not ready "on time".

    Actually I'll amend that. Almost all of them are done according to the original specs on or ahead of time. But then you find out changes need to be made. "Only these two people will ever need access to this" becomes "oh, when I said 'these two people' I wasn't referring to all the other people who'll also need to use it". Or "this is, for sure, the complete feature set we'll need for the forseeable future" becomes "well we need to add A and B and C because I didn't think about them before". Or (my favorite) "we're setting it up this way to force consistency" becomes "well the users don't like it, so can we personalize how it works for each person?".

    --
    #DeleteChrome
  84. www.dilbert.com by rexguo · · Score: 2, Insightful

    ^^^ enuff said.

    --
    www.rexguo.com - Technologist + Designer
  85. But what about non-IT projects? by DoofusOfDeath · · Score: 4, Insightful

    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.

    1. Re:But what about non-IT projects? by RandomBitFlipper · · Score: 2, Insightful

      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.

    2. Re:But what about non-IT projects? by Eternally+optimistic · · Score: 1

      You would think the brick-an-mortar people would have more reliable schedules now, but apparently 10,000 years experience for that industry isn't enough. Could it have anything to do with nature of people? But the business practices people will fix it, real soon now.

      --
      What keeps me going is my inertia.
    3. Re:But what about non-IT projects? by Anonymous Coward · · Score: 0

      And, in the case of the Big Dig, buggy. :)

    4. Re:But what about non-IT projects? by Oloryn · · Score: 2, Interesting
      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.

      For a good look at this, see Tom DeMarco's "Controlling Software Projects". One of Tom's points is that one reason we are so bad at estimation is that we so rarely do it. What we often oall estimation is often actually more like negotiation: "How long will it take you to do X?" "Three months" "No, that's too long" "How about 2 months?" "OK, thanks for the estimate". Instead of actually trying to predict how long it will take, you're negotiating what the schedule will be.

    5. Re:But what about non-IT projects? by strider3700 · · Score: 1

      I think most projects go over their budgets in both time and money. I believe this is because the project wouldn't be feasible if the true costs where announced.

      I've seen arenas being built that where quoted to the tax payer at 10 million when it was well known that it would be at least 14 million. But 10 million was the number presented. When the vote said build it, it took 2 months before the cost was increased and they haven't even broke ground yet.

      I've also been on software projects that involved weeks of work but was radically underestimated to get the job. In the end the customer gets screwed and the programmers get ragged on for taking too long.

      It's all done to get the initial cheque. After your in there you can just ramp up the costs

    6. Re:But what about non-IT projects? by Anonymous Coward · · Score: 0
      1. On an unrelated note: I wonder how project planning estimate accuracy correlates with the experience level of the person making the estimate.

      I can guesstimate now fairly well, though the actual planning takes quite a bit of effort.

      One super manager I worked with (they do exist) wrote up a schedule for a military project and estimated it would take 15 years. His schedule was exceedingly complex and took up most of the space on the walls of a small room.

      The contract was for 4 years...so, he was eventually kicked off the project.

      8 years later, someone tracks him down and calls him. Starts to ask him a few questions. Curious, and not knowing the person he asks how he found him. "We were cleaning out a store room, and found your schedule."

      The super manager's schedule wasn't correct. It was off by 2 weeks.

    7. Re:But what about non-IT projects? by BLuP1 · · Score: 1
      Separately:

      In civil engineering projects, I've noticed a lot of people getting wise to the "finish on time" thing, by imposing rewards for finishing early--$10k for every day the project is finished early--and penalties for finishing late--$10k for every day the project is late. Contractor's estimates tend to get a lot more reasonable when they know that finishing two weeks late is going to cost them $140k.

      Theatrical productions, at least up to the regional level--I don't have experience above that, have the philosophy of hard deadlines (which actually make them hard to model is most project mgmt software-- they don't like deadlines that can't move). This is because at opening night, the audience is going to show up, so you have to be finished. I worked on a production where the preview performance got cancelled because of rain. Another stagehand and I were squeeging 2" of water off the stage when the audience rushed the gates and started to sit down, outside, in pouring rain. When you're faced with an angry mob, you'll finish on time.

    8. Re:But what about non-IT projects? by WhoOnFirst · · Score: 1
      The specify-design-build-test(maybe)-deliver process is deterministic. If it's not, what makes you think you can predict its schedule in the first place? 5% on time may be no more than dumb luck.

      Since you clearly now agree that we are speaking of a determenistic process, you also have to agree that Turings Halting Theorm applies. Thus the results of any decision the process demands may not be predictable other than by running the process. The more decisions the process demands, the less predictable they will be. The less predictable the projects path, the less likely you can meet a pre-ordained schedule of any type.

      Thus, no matter what the deterministic process is and no matter how dedicated and skilled the people executing it, the probability of meeting any particular schedule is inversly proportional (at least!) to the number of decisions the process demands.

      Of course, this assumes that you have customers who:

      1. Know exactly what they want
      2. Are articulate enough say what they want
      3. Won't change their (alleged) mind
      ...and how often does THAT happen?

      No wonder the toy projects in biz school give the pointy-haired types the idea that schedules can be met!

  86. Is this news? by Hognoxious · · Score: 1

    IT projects overrun. Film at 10. On second thoughts, make that a quarter past.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  87. Stupid Project by Monokeros · · Score: 1

    I've got a project due tomorrow. I finished it this morning, but I really really really don't want to get started on the next project. So I'm going to read /. until tomorrow morning.

    --
    The Statue of Liberty is America's lawn jockey.
  88. 95%??? by ChaosCube · · Score: 1

    Where I work, we have no deadlines. It's great. I'm done with a project when I'm done with a project. Anytime the boss comes around to check up, just reply, "It's going great," or "I'm making excellent progress." The guy in the cube across from mine was able to work on a for loop for about a month using this technique. That's right, a for loop. The chance for doing little to nothing is great, which leads to a stress-free work environment.

    --
    BDR Gear
    Outdoor gear, MREs, and more!
  89. This is good by mrbarkeeper · · Score: 0

    This is good. Actually, I will see this as my new definition of sarcasm. To read about this on Slashdot of all places... :-)

  90. Re:Correction: 95% of Schedules are Wrong by Flamesplash · · Score: 1

    Ah that is good to hear, but it sounds like it gets clumped in with things like Software Engineering, Documentation, etc. Things not necessary to ship a product, but things which in the end can screw everyone over if they aren't there.

    I think many companies have trouble deciding between what is more important: 1) getting a product out the door as fast as possible , or 2) being able to more accurately predict when a product will be ready.

    I really believe that the things i mentioned above will assist in #1. Maybe not on the project that the better schedule methodologies are first applied, but down the line on projects dependant on it etc.

    --
    "Not knowing when the dawn will come, I open every door." - Emily Dickinson
  91. Who cares? by Anonymous Coward · · Score: 0

    Ooooooo! We're not satisfying the oil haired, Nazi-shitbox driving MBA douches. Who gives a flying fuck? Gosh, I'm real concerned I'm not enthralling some degenerate jackass who goes to a local four star hotel just to bang underage hookers and do lines of blow. Those people are the scourge of the world. Don't like it, power-tie boy? Do it yourself.

  92. Two Words: by piggy101 · · Score: 0

    Written requirements.

  93. Misleading headline? by niki9 · · Score: 1

    Doesn't the headline of this post conflict with what the article says? It's not 95% of IT projects, it's "some number" of projects by 95% of IT groups.

    Even if these groups deliver only half of their projects on time, and we were to assume that all groups have approximinately the same number of projets, it's not anywhere near "95% of all IT projects."

    The article says that only 5 percent of the groups responded that they were "always on time." A more accurate headline might be, "95% of IT Groups don't purport to be flawless."

    --
    "Someone's gotta have some damn perspective around here!" -- Commander Susan Ivonova, Babylon 5
  94. Algorithm: why projects are not delivered on time. by crazyphilman · · Score: 5, Funny

    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? ;)

    --
    Farewell! It's been a fine buncha years!
  95. Immature Industry by awerg · · Score: 3, Insightful

    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.

    --
    -- Andy
  96. Obviously by bigpat · · Score: 2, Funny

    I blame Slashdot

  97. NO, it is the programmers. by Anonymous Coward · · Score: 0

    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.

    Software is the ONLY industry where people are expecting to get paid for not delivering what they promise. Would you buy a car from a dealer that says "Sorry, it doesn't have wheels yet but in a few weeks we will get them to you" but it is entirely expected that programmers will "include that feature later".

    It is bullshit. We deal with vendors for all of our really big projects. Not one of them has ever delivered on time. They all deliver something when they say they will but it is never what we paid them for.

    No project time line is defined by management regardless of what anybody says. Management may request a date but unless the company agree to it then it is arbitrary.

    It seems most places don't take into account time for testing and bug fixes thinking that it will work the first time. This is almost never the case with big projects. Back to the car analogy, it is like getting your new ride then finding out the brakes don't work then being told "we are working on it but can't be sure when it will be fixed". This gives them plenty of time to do they work they couldn't fit in the first time around because they decided to lie about the time frame to get the contract.

    I have finally moved into a position when I am not only working with but also deciding who the vendors for our big projects will be. The ones that give unrealistic time frame are automatically sent packing regardless of if they are low bid. I would rather pay for quality design up front then pay for it later in a slew of bug fixes and updates.

    1. Re:NO, it is the programmers. by Hognoxious · · Score: 1
      Who gives the final yes or no on a program time frame, the programmers.
      Where can I apply for the visa program? It sounds like a nice planet you live on.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    2. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      BULLSHIT!!!

      Managment says to get it done in X days. Programmers say sorry, it will take 2X days. Managemnt says no, programmers say sorry 2X days. Eventualyl managemtn listens or they are reprimanded becasue their team is always late.

      Happend to me once. My manager gave a overly optomistic time. I told him it would take longer and it did, he got chewed out by the CEO, now he listens when I say how long it will take. When he pushes me I tell him that I already told him how long it will take.

      I think you need to contact INS to get a visa.

    3. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      I think it's a decay of the whole system. Programmers refuse to give estimates. (Try an Ask Slashdot on that, it's true.) Every other industry in existance has figured out how to give estimates, but programmer still refuse, even though they could take a good guess most of the time. So, management has to make their own guesses, which will be farther from the mark.

      Programmers also seem to be losing their craft. As you note, a lot of what is produced just isn't very good. That may be due to being forced to ship prematurely, or it may be poor coding, or it may be lack of focus. (I hear that code monkeys work long hours, which points to the former. Then again, many still get paid well enough to account for the extra work.)

      Turn it around, though, and the non-programmers cause just as many problems. Already mentioned: poor scheduling. Also, they like to change their minds a lot. They do this in most businesses. The trick is to figure out how to charge them for it and adjust the schedule, but not seem like you're gouging them. Building contractors have it down, but it always helps when design is only a small part of the budget (instead of the whole thing, like in programming.)

      There is also the matter of lack of understanding. There is no real difference between ed and MS Word, they are both just bits in the computer. So, why not expect the world. It doesn't cost any more, right? You just tell the computer what you want, and it takes care of the rest.

      One day computers will no longer be a black art. People will understand them as well as they do their cars, and will have some intuition about what can be done and how long it will take. Most of these problems will go away then. Not all of them, since many of these problems are common to many mature industries. Until then, good luck.

    4. Re:NO, it is the programmers. by indifferent+children · · Score: 2, Insightful
      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.

      --
      Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
    5. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0
      Do you actually read a post before replying to it, imbecile?

      Hognoxio was saying that programmers DON'T make the decision. Ever heard the expressions such as "not on this planet" or "what planet are you on/from?". In your case, somewhere in the stupid system seems to be the answer.

    6. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      I know what he was saying and if you could handle simple comprehension you woudl see I was tellignhim he is wrong. Managemtn decides nothign, the people doign the work decide.

      We need X in 2 weeks. Sorry it will take 3. two weeks later X is still in development. Manager gets fired, chewed out, whatever and starts listing to the people doign the actual work.

      I will ammend my post to say managment gets to decide teh tiemline ONCE before they start listinign.

      Then again I have a great manager adn great programmers under me. I listen to them, they keep thier promises and everyone seesm to be happy.

      Now if I coudl only get Friday to be free hooker day again.

    7. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      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.

      This is exactly what I am saying. If the garbage company says the trash will be picked up at noon and the guy doesn't come ever come until 2pm then eventually, after enough complaints the company amends delivery times and just like that all future pickups are on time

      If the pizza guy says 20 minutes then it is expected that the pizza place will tell you twenty minutes. If they say 10 and are always 10 minutes late then again, they finally amend their times to listen to the workers and are not late again.

      The point I am trying to make is that regardless of what management says, the programmers are the people who give out the estimates. The biggest problem with contract programming is that so many programmers LIE to get the contract.

      By the way my manager can code like a MO FO.

    8. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      I know what he was saying and if you could handle simple comprehension..

      3...2...1

      "you woudl see I was tellignhim he is wrong. Managemtn decides nothign, the people doign the work decide."

      O.K. I'll stop now. I know it's not clever to make fun of the special needs kids.

    9. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0
      So you call BULLSHIT, then agree with what the he said?
      reprimanded becasue their team is always late.
      So How does that happen unless management decided, and chose their unrealistically optimistic schedule? If the proggies had decided, it would have been on time, no?
      Manager gets fired, chewed out, whatever and starts listing to the people doign the actual work.
      You really are from a different planet! You're right about one thing, my comprehension is lacking. I have no idea what any of
      • ammend
      • adn
      • managment
      • Managemtn
      • listinign.
      • coudl
      are.
    10. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      90 percent of the population with an IQ over 90 can decipher words with 2 or more letters in the correct place.

      It is obvious you fall far below that threshhold.

      Blame you parents, it is not your fault you are stupid.

    11. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      What a clever response. The guy makes a valid point about programmers giving unrealistic project times in order to win contracts and all you can think to do is insult spelling. Perhaps if you spent less time proof reading and more time in the world of programming you would realize that although off base a tad, the content of the "No, it s the programmers" post is valid.

      3..2..1

      O.K. I'll stop now. I know it's not clever to make fun of the people who contribute nothing to the story.

    12. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      Actually the reason I didn't even bother to respond to his post is because a) Someone had already done so b) His point is utterly stupid. Maybe where he works, Programmers get to decide the timescales, but the rest of us here in the real world get told what the timescales are by the project managers. I have never once witnessed a developer being asked for their input without either the project manager ignoring it, or the requirements being changed half way through the project without the subsequent changes to the project plan.

      In other words, both he and you are talking Grade A Class I Premium Bull Shit. You also have a bad haircut and you smell.

    13. Re:NO, it is the programmers. by Anonymous Coward · · Score: 0

      " b) His point is utterly stupid."

      No. YOU are the stupid. The kind of stupid guy that makes things go the way they go.

      No matter what do you think, or what management says to you, it is YOU the one that effectively write down the fucking code. Till the moment you don't effectively write down the code, the code isn't really there, is it?

      So YOU (the programmer) are in control. It is only you are persuaded to think otherwise.

      Just think about a complete out of sense project: let's say your manager says you need to code a complete functional new OS kernel by tomorrow. OK, that's your manager's schedule. And means exactly what? NOTHING: the fucking kernel WON'T be for tomorrow and it won't be ready till the very moment you say "it's done" not a fucking second earlier.

      So you are in control.

      But you can loose control by not understanding properly the situation; let's imagine now something more realistic: your manager schedules for a project in a way you now its doable, but only if you work 15 hours a day. Still, it is your problem to work 15 hours a day and offer a half-assed product or going 8 hours a day and have it ready at its due time. All that manager can do is fire you, and it doesn't mean the programmer looses control of schedules, since in order for the project to be eventually finished your ex-manager will need to contract a new developer who, again, will be in control about what the finish date will be. So, again, the programmer is in control.

      Another way to misunderstand the situation is the way to say "it is ready". You migth think your only way to say to your manager "it is ready" is by vocally and explicitly say so, but this is utterly wrong: once you show him something he percieves as "ready" you are effectively saying to him "hey, it's ready", even if you haven't explicitly do so. So match your behaviour accordingly. A very simple example, just to help understand what I say: most programmers focus first on usual conditions and then on exceptions and boundaries. This immediatly tends to you showing your manager something that seems to work, but (only) you (because your technical knowledge about the matter) know it really doesn't properly work (no error or boundary checkings, for instance). You KNOW your manager lacks the proper technical background (you are the developer not him, after all) and you KNOW he is in the situation of making the formal decision about when a program is ready, still you mislead him to think (by what he sees) your program is ready when it is not. Now, change your behaviours: for instance, instead of starting by coding each method so it seems to work on the easiest cases so you can push forward, just start by writing down all the comments, classes/methods signatures, etc. but without a single line of effectively working code. If you show this to your manager he will obviously see what you have been working at and he will see the code is not ready (and it will be properly documented); then code the error and boundary checking; againg your boss will see it is not ready. Then go for the backend functionality (...) end the whole process by the polishing of the user interface. NOW, your manager will see the program as finished exactly as the same time as you and you both will be glad.

      And now, won't tell me about this being a different planet. It is perfectly doable in this very planet right now (I do it day in day out). It is only about knowing how the things really ARE instead of what you are PERSUADED TO THINK they are.

  98. Er, uh, impertinent question by Rinzai · · Score: 1, Insightful
    "...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.

  99. Re:Correction: 95% of Schedules are Wrong by qwijibo · · Score: 3, Insightful

    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.

  100. The real reason software projects are late by Anonymous Coward · · Score: 0

    "If you can't deliver this project by the end of Q3, I'll find someone who can." --PHB

    PHBs don't care about reality. They just want a manager who will agree to whatever unrealistic schedule the PHB pulls out of his ass. If the project manager refuses to knuckle under to the PHB and sticks to reasonable schedule estimates, he/she will be fired. Then the PHB will bring in some toady who'll commit to whatever random schedule and of course be late.

  101. The Obvious Answer by halcyon1234 · · Score: 1

    Duh!

  102. The 5% that are delivering everything ontime... by Doverite · · Score: 1

    ...ain't taking enough chances. If you are never failing it means you're not pushing hard enough. Those are the ones that are or at least will be in trouble soon.

    --
    You can legislate morally you can't legislate morality
    1. Re:The 5% that are delivering everything ontime... by Big_Al_B · · Score: 1

      It's disappointing how inept folks are at interpreting statistics.

      The statistic that 5% of all IT projects are on time doesn't imply that 5% of all IT workers complete 100% of their projects on time. Rather, it implies that for the population of all IT projects, 5% of them are completed "successfully" with success being defined as "on time". Note that this could mean that for every 20 projects a "statisically normal" IT organization completes, 1 of them is completed "on time."

      To your point: This means that a normal organization "fails" 95% of the time, so by your measure they must be pushing quite hard. Or they could be seriously lacking focus, resources, time, skills, competent management etc. To-MAY-to, to-MAH-to.

  103. Well, I'm in the 5 percent then. by PotatoHead · · Score: 1

    It all comes down to a couple of things:

    -managing expectations

    -realistic definition of on-time (and use of a good roadmap presentation).

    It doesn't hurt to underpromise and overdeliver either.

    Failure to do these things, which means you had better know your vendor well either from experience or direct communication, will result in off schedule / below expectations delivery.

  104. SCOPE CREEP! by cosinezero · · Score: 2, Funny

    No, see, he had the spec wrong. He asked for COFEE (sic), not coffee.

    1. Re:SCOPE CREEP! by Anonymous Coward · · Score: 0

      Depends on whether it was a verbal spec or not, because verbal specs do not get spell checking.

    2. Re:SCOPE CREEP! by Anonymous Coward · · Score: 0

      you mean oral, everthing written is verbal.

    3. Re:SCOPE CREEP! by notasheep · · Score: 1

      Natch - since the 16th century "verbal" has meant "spoken".

      verbal (vûr'bl) pronunciation
      adj.

      1. Of, relating to, or associated with words: a detailed verbal description.
      2.
      1. Concerned with words only rather than with content or ideas: a merely verbal distinction.
      2. Consisting of words alone without action: a verbal confrontation.
      3. Expressed in spoken rather than written words; oral: a verbal contract.
      4. Corresponding word for word; literal: a verbal translation.
      5. Grammar.
      1. Relating to, having the nature or function of, or derived from a verb.
      2. Used to form verbs: a verbal suffix.
      6. Of or relating to proficiency in the use and understanding of words: a verbal aptitude test.

      n. Grammar.

      A verbal noun or adjective.

      [Middle English, from Old French, from Late Latin verblis, from Latin verbum, word. See verb.]
      ver'bally adv.

      USAGE NOTE Verbal has been used since the 16th century to refer to spoken, as opposed to written, communication, and the usage cannot be considered incorrect. But because verbal may also mean "by linguistic means," it may be ambiguous in some contexts. Thus the phrase modern technologies for verbal communication may refer only to devices such as radio, the telephone, and the loudspeaker, or it may refer to devices such as the telegraph, the teletype, and the fax machine. In such contexts it may be clearer to use the word oral to convey the narrower sense of communication by spoken means.

      --
      Your mind looks a little cramped. Why don't you stretch it a little?
  105. "Business Executives" and their ilk... by IdJit · · Score: 2, Informative

    My experience with the "business executives" (or at least the sales managers who usually are the first ones to complain about late projects) has been that they just loooove to make the client happy and will do ANYTHING to keep them that way.

    This most often includes them telling the client things like, "Absolutely, we can include that feature with the current development. I'm sure it's not a big deal". Then going back and telling the PM or even the programmers themselves that "I've already told them we could slip that feature in there so let's just go ahead and do it. It's not a big deal, right?"

    [Greedy|stupid|sycophantic] sales guys will sink a project faster than you can say "let's do lunch".

  106. Duh by SQLz · · Score: 1

    Thats because all IT projects involve users who are constantly saying "It would be nice if it did...."

  107. Re:Correction: 95% of Schedules are Wrong by serutan · · Score: 2, Insightful

    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.

  108. Oh, yeah by gpmac · · Score: 1

    Even internal projects are this way. I got one from accounting for some tracking software with requirements in December. I wrote the code and tested it and then showed it to accounting.

    At the end of January, it was still not implimented. Accounting came back with a fistful of more things it "should do". I added them and by mid-Feb it was being "beta tested" by the departments.

    Of course, this added another fist full of requirements, reports and other assorted stuff they wanted added.

    Bottom line was that for something that was a "small two week" project in December, I'm still adding code to at the end of March.

    In this case, it was a failure to plan, and a distinct failure to include all personnel who would be involved in it. I tried to coordinate this from the start, but A doesn't want to talk to B, who doesn't want to talk to C. A's philosophy is "they'll use what we give them." And of course, this whole "it's not done" delay is my fault. Then, and I loved this, my department lead's thought was - Well, you're handling this, I'll just not get involved at all and help with anything.

    Realistic expectations and documentation would seem like such a common sense approach - but it never happens.

    GP

  109. Vendor Documentation by Anonymous Coward · · Score: 0
    When was the last time you saw vendor documentation that actually described how their product worked and what it does? Trick question. There was no last time since no vendor actually does, and I'm talking about the so called big reputable vendors like IBM, et al.

    The consequence is that most IT groups go into a project with little or no idea what the vendor software does. What actually happens is that they have to play around with the software for 2 or 3 months to get an idea of what it does. Then, if they're lucky and the software actually meets some business need, they can then say what the schedule actually will be. Most often the vendor software has no business use and the IT staff is in the position of implmenting a doomed project, one that fails management expectations, management being the idiots that made the purchase decision.

  110. get a govt job by brontus3927 · · Score: 1

    I was given three months to work on a project. At the end of the three months I announced that the project was completed. I've spent three months since then "following up" and getting it finished. But on paper, it was done at the end of last year.

  111. Bad Summary, Bad Article, Interesting Topic by CrankinOut · · Score: 2, Interesting
    A summary should give enough information to portray accurately the article's content. This title misrepresents the facts. The article states that most IT projects end successfully and on time. That's a better than 500 batting average.

    Second, the article shows some flaws as well. Because 5% reported that they are always on time and budget, the researchers concluded that 95% were not. That's bad science, letting the observed lead to conclusions about the unobserved.

    Finally, the larger the project, the harder it is to define an end point. Tweaking a screen to change a color is certainly doable, but may take weeks to get to in the project list. Implementing a major project that requires lots of unknown elements, such as a system conversion, cannot be considered a plan, but an estimate. And when it comes to estimates, it's very hard to get *anyone* to be less than optimistic.

    For an interesting read on project planning and estimating, check out Elihu Goldratt's book, Critical Chain, which shows the application of his Theory of Constraints to project management.

  112. Further study needed by Dachannien · · Score: 1

    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

    Considering that "on time" and "satisfactorily", when the deadlines and satisfaction criteria are devised by business executives, are mutually exclusive, I'd expect the number to be even higher.

  113. The other 5% by DaveJay · · Score: 1

    That's why the company I work for does fixed-time, fixed-price projects with measurable business results. We get projects done on time, and we solve actual, quantifiable problems. Our overall record is far above the industry average.

    Normally, I'm not one to shill for "the man", but how often do you get the chance to work for a company that actually does things right? I won't say the name, though.

    I will say that the vendor situation is a bad one; often (not always) vendors are dictated by the clients, and those vendors want the business we have in addition to their own, so things can get quite sticky.

    Conversely, a qualified vendor that works with you instead of against you is worth their weight in gold, and we'll send those folks other business.

  114. 7) by elgatozorbas · · Score: 2, Insightful
    ...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.

  115. Why projects fail by kilodelta · · Score: 2, Interesting

    It's because there isn't project management in place, or the project management is weak.

    I work in a place that just recently started implementing Project Management. The biggest problem I see is that if you don't have buy-in by upper management you'll be fighting a battle of critical change requests on a constant basis.

    We just had one project take place that was mandated but never went through PM at all. Not even a requirements document was produced. It was a nightmare that touched 75% of the I.T. staff.

    Had PM actually been followed the process would have started back in November of 2004 and then the blame would have been off the plate of I.T. But for fear of stepping on toes I.T. management decided not to follow its own procedures.

  116. Laziness by Anonymous Coward · · Score: 0

    How come nobody every picks laziness as a reason for delayed and unfinished projects? I believe that if there are enough committed and hard-working people around, any feasable project can be implemented satisfactorily and on time. Of course, this is far from being a perfect world. People do need to recognize that they are overwhelmingly lazy and find ways to combat it rather than delude themselves more.

  117. No coincidence by elgatozorbas · · Score: 2, Funny
    Thanks /. a copy of this story now sits on my boss' desk.

    Probably also thanks to /. your project is late in the first place...

    1. Re:No coincidence by Skraut · · Score: 1

      That's true too

      --
      Introducing Microsoft Vacuum 1.0 The first Microsoft product that doesn't suck.
  118. 95% of Statistics are Lies by knight37 · · Score: 1

    So what does this prove? ;)

    --
    Knight37 - Once a Gamer, Always a Gamer
  119. Management setting up for failure by Anonymous Coward · · Score: 0

    Of course 95% of IT projects are not completed on time. Unfortunately, the only way to get management to agree to do a project is to underestimate the costs and the time it will take. Same thing is true for an outside project. Everyone else is lying to the potential customer about how long it will take and how much it will cost. In order to compete, you have to lie, too. Once management/customer signs up, they're on the hook, and you can start making excuses as to why it is late and costing more money.
    Another problem is that once a project is started, the promised full time resources are only given to you part time, and they tell you that you can't have any full time programmers until your project is bringing in revenue. This way your project doesn't actually cost anything. The programmers are working 8 hours a day on other projects, and since management has decided to call programmers exempt, any time they work over 8 hours doesn't cost the company anything. Of course, when the programmers start quitting because of all the overtime, management won't hire more programmers, but will just consider the programmer leaving an added bonus, as the existing programmers can now just work X% more for the same salary in order to get the work done, and the payroll has actually gone down!
    Ultimately, when the project fails, as it clearly must do, all of the people who were peripherally involved with the project or who were just working on it during overtime will be reassigned to other projects, while the people who were full time dedicated to the project and poured 16 hours or more a day into it in a desperate attempt to make it fly despite all of the roadblocks erected by management ... will be fired.

  120. Re: Here's a relevant old joke by nganju · · Score: 5, Funny

    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."

    --
    There are 2 kinds of people in this world. Those that can keep their train of thought,
  121. Service Level Agreements by cprincipe · · Score: 1

    A big bear in any IT department is panic projects interrupting planned projects. Managers who do not plan effectively need their projects done yesterday and whine up the chain of command to get a planned project delayed for the panic project.

    One way to provide an incentive for planning would be an internal SLA. If you plan ahead and give us x weeks to complete your project, your cost center gets billed y. If you didn't plan and we have 36 hours to complete your project, you get billed 2y or 3y. If you can justify it to your bottom line, we'll do it for you.

    --

    bun-fhuinneog agam!

  122. Not delivered on time = bad time estimate by 192939495969798999 · · Score: 1

    It's not that they're not delivered on time, it's that their time estimates are underestimated. Badly.

    --
    stuff |
  123. walk sharp balance by elgatozorbas · · Score: 1
    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.

    My schedules usually walk on the very thin edge of what I think is possible, what the other party wants, and what I can get away with. Make a deal. You can always try to bend it afterwards...

  124. Now only if.. by E+IS+mC(Square) · · Score: 1

    I stop reading Slashdot and get back to my work, I can deliver that portal code next week...

  125. more than 6 years late by LanMan04 · · Score: 1
    --
    With the first link, the chain is forged.
  126. Re:This just in. Project Bloat by Anonymous Coward · · Score: 1

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

    But still, there's a proper answer to your question: by adjusting the deadline whenever the project plan changes, of course.

    Typical trend (simplified):

    Client: those are the specs. When will it be done?
    Vendor: By july the first
    Client: OK
    (one month later)
    Client: Do you know what? We thougth it would be rrrreally interesting to add functionallity X to your product. Can it be done?
    Vendor: of course yes.
    Client: OK. And will it be in time?
    Now it is the vendor choice to say either...
    A: Well, it will need two weeks to develop, so deadline needs to be moved to july the 15, and project cost need to by rised by X$. Do you agree?
    or...
    B: Of course, same cost, same date (and then, to the develop team: "hey boys, forget about the two weeks we planned for testing, we'll develop function X instead").

  127. Read it again by bananahead · · Score: 1

    Actually this seems to say that 95% of IT shops deliver some of their projects late. Huh? This is a very unclear statement and an example of what you can do with statistics. So, do 5% of IT shops ALWAYS deliver on time? I doubt it. What number of IT shops are ALWAYS late? Can't really say. To get into the 95%, it sounds like an IT shop can have a perfect record and be a day late on one project to qualify. I hate statistics.

    --
    A most overlooked advantage to owning a computer is if they foul up there's no law against wacking them around a bit.
  128. Tricky Wording by clickster · · Score: 1

    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.

    Am I the only person reading this as "95% of IT groups don't deliver projects on time EVERY SINGLE time or to the full satisfaction of the business executive. (who is usually clueless about IT, doesn't want to hear about licenses, scalability, etc. and just wants it to do everything they can imagine at very low costs...oh, and never break down)?

    --
    If you mod me down, I shall become less powerful than you could possibly imagine.
  129. Unrealistic management pressure by SlashDread · · Score: 2, Insightful

    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.

    1. Re:Unrealistic management pressure by Run4yourlives · · Score: 3, Insightful

      "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?

    2. Re:Unrealistic management pressure by SlashDread · · Score: 1

      Well someone has to do the job... Seriously, the problem is managment pressure, and a failure to foresee that by techs. I did learn, eventually.

    3. Re:Unrealistic management pressure by hanshotfirst · · Score: 1
      Loosely quoted from sketchy memory of the scene...


      Scotty: How long did'ya tell them it would take?
      LaForge: Two hours.
      Scotty: Aye, and how long would it really take?
      LaForge: Two hours.
      Scotty: Never tell them what it will really take! How do ya expect to be a Miracle Worker if you tell 'em that?!

      --
      Why, oh why, didn't I take the Blue Pill?
  130. Reasons for project delays by Anonymous Coward · · Score: 0

    There is one major reason for the failure of organizations (IT or not) to deliver projects on time, and all other reasons are secondary to this one: Organizations typically have to be competitive in a bidding market in order to have customers choose them over other organizations. This inherently leads managers to grossly underestimate the time necessary for a complete project cycle, and testing is usually thrown out the window. By the time the deadline rolls around, there is no longer any time for testing. The customer needs/wants their new product that they just spent X thousands of dollars on in whatever semi-working condition they can get it.

    It is the economic drive to be competitive that is the root cause for the delay for projects in all fields.

  131. Sympathy for marketing by criscooil · · Score: 1
    Could it be that marketing is always overselling the product?

    I don't know, but what you fail to realize is that sometimes marketing must 'oversell' the product. Not all software development is done in monopoly or near-monopoly markets. I know this from first-hand experience. I used to work for a small shop which developed custom and semi-custom embedded systems, and the competition was fierce. When I first started there I used to wonder why the company promised costs and delivery dates which always turned out to be unrealistic. Finally it was explained to me that if we didn't do it, then our competitors would get the contracts. The funny part is that those competitors were all playing the same game. The situation punishes honesty, so I'm glad I got out.

    Now I have some sympathy for those 'idiots in marketing'; after all, they're the ones who are pulling in the contracts.

    --

    My life is an open book ... up to a point.

    1. Re:Sympathy for marketing by jbolden · · Score: 1

      30 years ago deliberately intentionally lying to someone for the purposes of getting money would be called what it is, fraud, and the people doing it would go to jail. You are right the system today encourages it, I'm sick of living in a 3rd world corruptocracy.

  132. Need Project Manager by spectro · · Score: 1
    Almost all comments I've readed so far are missing the point that this is all to blame to the Project Manager or lack of thereof.

    From the article: Info-Tech asserts that the top three "perceived" reasons for project failures include unrealistic time frames, staff shortages and poorly defined project scopes

    A good project manager will convince the customer about the unrealistic time frames, he will estimate cost and timeframe based on resources available, he will allocate reserves based on the risks taken with the project so it is always finished in time and on budget

    --
    HTML is obsolete. It's time for a new, simpler and richer markup language.
    1. Re:Need Project Manager by computational+super · · Score: 1
      A good project manager will convince the customer about the unrealistic time frames, he will estimate cost and timeframe based on resources available, he will allocate reserves based on the risks taken with the project so it is always finished in time and on budget

      ... after which he will get replaced by somebody who will tell them what they want to hear.

      --
      Proud neuron in the Slashdot hivemind since 2002.
  133. Bad by Anonymous Coward · · Score: 0

    *I meta mod all flamebait mods 'unfair'

    Your breaking the system. You should not be allowed to meta mod.

    1. Re:Bad by Anonymous Coward · · Score: 0

      So be it... I do.

      And your response is off topic, so there.

  134. i'd blame by Anonymous Coward · · Score: 0

    Poor judment of human resources department and management.
    Resume padding.
    Influence traffic AKA it doesn't matter what you know but who you know.

  135. Two Words, Scope Creep by Proudrooster · · Score: 1

    AS long as scope creep exists, IT projects will never come in on time. Scope creep comes in many forms. Developers like to try new coding toys and features which can cause delays. Customers change their mind about scope and implementation which causes delays, bugs, and total rewrites.

    The only way to bring a project in on time and under budget is to say, "NO" to scope creep. If a customer wants a major change, explain that they can have it in the next version. If developers start dragging in new coding toys, stop them immediately. I know I know, easier said than done.

  136. Let me guess... by Anonymous Coward · · Score: 1, Interesting

    you're some sort of Agile Process Improvement Consultant, right?

  137. In other news... by WhiskerTheMad · · Score: 1

    ...researchers have discovered that today ios Thursday.

    --
    Love your country always, but respect your government only when it deserves it. -- Mark Twain
  138. REALITY: 95 percent of Projects planned with MSFT by WillAffleckUW · · Score: 1

    There's a 98 percent coorelation with people using Microsoft Project to plan their projects too.

    I think that means anyone who uses software to plan a project is entering the assumptions incorrectly, such as:

    1. Assuming everyone has 100 percent of their time to devote to your projects, even though 10 percent is admin and 40 percent will be firefighting.

    2. Assuming all the pieces will be there on time.

    3. Assuming all code will work correctly with no real testing and no real Q&A and no real customer feedback or alpha or beta testing and no bugfixes later.

    4. Assuming training will magically occur.

    Basically, what I learned in the Army as a Sergeant is still true today - ASSUME makes an AZZ out of U and ME.

    --
    -- Tigger warning: This post may contain tiggers! --
  139. Unrealistic Timelines by Ranger · · Score: 1

    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.' I would imagine most of the projects are given or required to have a deadline that is not possible to meet. End users have unrealistic expectations as well. And those providing the service may not be able to even accurately estimate the time for delivery. Finally, unless the specifications are frozen, feature creep becomes a problem. Because the client will want to add more stuff to the project without extending the deadline.

    Without a good project methodology, I would recommend giving a flexible deadline, so that after a period of time a newer estimate could be given.

    --
    "You'll get nothing, and you'll like it!"
  140. The article says that 51%+ ARE on time (approx). by khasim · · Score: 3, Insightful
    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?"
  141. 43.7872% of statistics by Anonymous Coward · · Score: 0

    are made up on the spot. The other 58.222% are inaccurate.

  142. C.S.I.: Cybercrime Scene Investigation. by Anonymous Coward · · Score: 0
    Did you have subcontracted them as morons?

    open4free ©

  143. My Exp by Rac3r5 · · Score: 1

    I work in a small company where my bosses are geeks too..

    My CEO is a mechanical engineer and a bio physicst
    My other boss has a Bachelors Physics Engineer with a Masters in Business Admin
    My other boss has a Bachelors in Comp Sci

    So for now I don't have to deal with any PHB or Jocks telling me what to do.

    Some of the projects that I've worked on were late cause:
    The specs we given to me all broken down into a requirements doc. I implemented the proj according to the specs and finished it b4 the deadline. But guess what happened, the specs were not quite what they wanted and it got changed a couple of times.

    Even after my many suggestions to implement some sort of CMS for project tracking/communications it always gets thrown into the "later" category. If things are organized and communications is good in my exp a project gets finished so much faster. Sending multiple e-mails per project a day doesn't really help out..

    Or very little time is spent on process planning.

  144. Could it be... by WARM3CH · · Score: 1
    95% of IT Projects Not Delivered On Time

    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.
    Although you're point is valid, but could it be that 95% of IT projects have some changes in the specs AFTER the schedule has been made? Is it just me or do you also see a correlation here?
  145. To the full satisfaction of the business execs? by silversurf · · Score: 1

    "... or to the full satisfaction of the business executive."

    I've been working in IT for quite a while and of course projects run late (they do in every area of business), many posters have noted it's because of change, unreal expectations to begin with or sales/marketing folks who are afraid to tell the truth to the customer.

    Regardless, I think the quote that strikes me the hardest is the one above regading "to the satisfaction of business execs". One area that I think *everyone* in IT and on the business management side of any organization need to work on is sitting down and creating real expectations that will lead to satisfaction. All too often I hear execs complaining about why we can't get ALL of the projects done NOW! or I hear "this isn't what I wanted!" or they come down hard on managers for delivering something late when in fact it's the execs inability to properly set his expectations clearly.

    I also lots of issues with a fundamental understanding of the business goals and requirments by the IT side and vice versa where the business folks have no idea what they really want from the IT side. In "theory" business analysts are supposed to fill that gap but in reality it's all too often that some exec says "we need e-commerce! now!" and expects that in a month they'll have a fully functional catalog and website w/ b2b portals and automated billing, etc. Even more realistic they don't even know what that means but they read it in the airplane magazine and so they feel they need it. Even if it was built fast and exactly how they wanted (assuming they could describe it), I also see that they (the business side) rarely are prepared to alter their operating or business process to meet the new technology. Thus I think many feel "unsatisfied" with the technology projects they commissioned.

    It's a mentality that IT (or better said "technology") will solve all the business problems and instantly make the company or department more streamlined and thus more effecient. While this isn't a myth and is achievable, I think the expectations of the business side rarely match the ability of technology and the people delivering it.

    As an IT manager I expect the dead on truth in terms of schedule, timing, effort, etc. no matter how bad it is or how much I won't like it. If I ever step in to the executive role, my philosophy will not change. I will expect perfection but demand reality. My technical prowess easily exceeds the executives I work with now, but coming soon are younger and more adept executives who I think begin to change the tone. However, that doesn't mean the demands will be less, in fact it could be greater upon the IT staff, because the IT managers of today who move to exec roles will know what an IT shop is capable of.

    I think the art of meeting the business goal is just that, an art. One hand it's hard science of scheduling and measuring, but it's also managing the people involved. If your IT project is late, it's maybe because you, your group or your boss isn't very good at what you do (unlikely) but more than likely it's because no one was able to set the expectations up front or as things changed and thus the projects slide in to a murky hole of blame shifting and cover-up all to appease some exec who didn't really have a clear idea of what they wanted in the first place and who isn't really ready to cope with the new IT beast they're about to unleash anyway.

    -s

  146. Re:This is why (back when I was a contractor) by Maxo-Texas · · Score: 2, Informative

    The important thing was to GET the contract and then work out the details.

    When I first started, I lost a lot of opportunities to others who quoted 1 week for a 4 week project and then took 4 weeks to do it.

    And management bit EVERY TIME. It's like they have that short term memory problem from "50 First Dates" and "Memento."

    --
    She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
  147. I need more time... by IdJit · · Score: 1

    ...still working on my answer...

  148. Re:REALITY: 95 percent of Projects planned with MS by Anonymous Coward · · Score: 0

    blah blah blah Microsoft sucks blah blah blah

    Anyone else really getting sick of this?

  149. come on now... by Run4yourlives · · Score: 3, Informative

    MS Project dosen't plan projects, PM's do.

    Garbage In, Garbage Out.

    1. Re:come on now... by WillAffleckUW · · Score: 1

      MS Project dosen't plan projects, PM's do.

      Well, it encourages you to think (or not think) in certain ways, and it's assumptions are part of the problem, not of the solution.

      --
      -- Tigger warning: This post may contain tiggers! --
  150. No! It's 95% of IT time estimates to low. by Sindri · · Score: 1

    Or maybe 90% of IT time estimates are to low.

  151. Yep. by JustNiz · · Score: 4, Interesting

    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.

  152. its not 95% of the projects by Anonymous Coward · · Score: 0

    its 95% of IT companies haven't met a deadline at some time. its says it right in the submission.

  153. The other 5% were done in Visual Basic! by LibertineR · · Score: 1

    Just getting ahead of those who would try to make this point without the obvious (I hope) humor.

  154. It's Because... by Rob+Riggs · · Score: 1

    The project is late because I spend half of my day filling out TPS reports, and making sure they have the right cover sheet on them.

    --
    the growth in cynicism and rebellion has not been without cause
  155. The Mythical Man Month by manWorkSucks · · Score: 1

    wow, this article's been posted since 9:45 and a quick CTRL-F on the page isn't finding any references to The Mythical Man Month. I figured somebody would've recommend it.

    --
    NERDS!!!!
  156. Project Management Failures by lhbtubajon · · Score: 1

    These problems are not at all limited to IT projects. I would wager that 95% of ALL projects of ALL kinds are delivered late, or not at all.

    And when I say late, I mean the originally conceived due date, not the constantly-amended, only-finalized-when-the-project-is-about-to-ship "ontime" delivery date.

    There are four main reasons why projects slip:
    1) Feature creep (Bloat)
    2) Project procrastination (Parkinson's Law)
    3) Overestimation of task-times
    4) Multitasking

    #1 is obvious. EVERYONE says "why don't we just add this one extra thing...it'll be snap..." Right.

    #2 is less obvious. I don't refer to laziness. People are just busy with a million things (read: stupid, pointless meetings that sap productivity) and so they delay working on something until it's more urgent, because someone is screaming for something else right NOW.

    #3 is devastating. Everyone involved in a project adds their own little padding to their estimation of the time it will take to do something. They think, "I can probably do it in X hours, but I don't want to be late, so I'll estimate 2X hours."

    Since EVERY single person in the project is doing this all along the way (including the project manager), it's impossible for the project not to be delivered late, especially since even these doubled time estimates can't be met because of #2 above ("Oh, I have twice as much time as I need, so I'll do this part later.")

    #4, multitasking, is the reason for #3. Since we all have to put up with constant interruptions, like pointless meetings, chatty co-workers, bosses' (yes, plural) questions, and other projects, we are never able to focus and get the really important parts done QUICKLY. The human mind can be a truly immense intelligence, but with so many tasks fragmenting our focus, few people reach their daily potential.

    The point? A lot can be done by simply sticking to a plan, scheduling aggressively, and then arranging for everyone to leave your people the f&*# alone, and they'll amaze you with what they're capable of.

    However, the typical uppity-up's response is to blame the employees who do the work. It would be much closer to the truth for them to blame themselves, as they dictate the environment that keeps people "multitasking" to death and never achieving their best.

  157. Salespeople are a significant source of problems by BAM0027 · · Score: 1

    I haven't read the article, so this may be redundant, but so far, the comments haven't focused on this aspect of projects going awry.

    Caveat: the point I'm making shouldn't be taken out of context. There are a number of issues that are causing delay, but the one below hasn't gotten it's "fair share" of exposure.

    In the current implementation that I'm involved in, there are a number of issues that we've had issues with simply due to the vendor over selling the product. Whether we are caught not getting what we were told was available, or we are having to spend resources to get what wasn't actually in place (vaporware), both situations result in delay and were the direct effect of Sales selling something that Engineering didn't have.

    Marketing often gets blamed and, in this case, IT is being scrutinized, but I believe it's often the reality that the Sales people, and/or the Sales Cycle, is faulty. I want to distinguish between Marketing and Sales here. Sales did a "bang up" (yes, I'm being sarcastic) job selling to our Executives and the Executives should bear responsibility for mandating a poor choice. The reality of the situation, though, is that the implementation team (both Vendor and Client), of which IT is only a part of, is burdened with "making it happen within budget and deadline".

    Hopefully food for thought...

  158. Headline is incorrect by kungfoolouie · · Score: 1

    The article does not say 95% of IT projects are not delivered in time. It says only 5% of the IT groups surveyed (in Canada) SAY they always deliver on time.

    So, 95% of those IT groups admit to [at some point in time] not delivering a product in time.

  159. Re:Contracts by Bastian · · Score: 1

    Put the requirements in a contract, have everyone sign it. Explain to the customer that if they wish to change these requirements, they are welcome to renegotiate the contract.

    (If you do this, do your damnedest to not agree to a due date, of course. =D )

  160. I think by kc0re · · Score: 1

    I think it's because the people that set the deadlines make unreasonable demands and don't understand the requirements they are making upon the programmers.

    Three programmers without a CEO can create a video game that generates millions of dollars of income. What can three CEOs create without a programmer?

  161. So 5% don't deliver at all ? by Open+Council · · Score: 1

    That must be it ....

    Of course some companies (think MS) even have worldwide "launch" events yet never deliver their "secure OS". Even more amazingly, they get customers to pay big bucks to "upgrade" (re-grade? regress?) from one non-delivered product to another non-delivered product.

    --
    Paul
    www.opencouncil.org
    Open
  162. Wireframing and prototyping is everything. by Mustang+Matt · · Score: 1

    It's a pain in the butt but customers will get exactly what they want and they'll know exactly when they're getting it.

    --
    The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
    1. Re:Wireframing and prototyping is everything. by xiaomonkey · · Score: 1

      Yeah, in theory this should work great,

      However....

      One problem with that is that often the customer will confuse the prototype with the final product. That is, from the customer's perspective (or the perspective of a clueless manager running the project), once they have a prototype that seems to roughtly do what they want, they think "Why would I pay much more to develop a final version of the product? Just polish, package, and deliver the prototype."

      This isn't so much of a problem unless you're the one stuck maintaining/bug-fixing such code in the future. This kind of scenario has actually happened to me three times to me, twice my own prototype was used as the final deliverable and a once I inherited code that seemed like really prototype-ish (e.g. alot of functionality wasn't really implemented so I kept on getting bug reports that were caused by various semi-critical section parts of the code just being implemented by stubs). Anyhow, all three times it maintainace was just nightmare.

      This is not to critize prototypes. Rather it's just to say that if you use them, be sure to practice good "management" of your client/manager, try to always frame things in a way so that they won't be tempted to confuse the prototype with the finished product. One way to do this involves simply being careful about your word choice when describing things. For example, try to use the word "demo" rather than "prototype".

  163. Can't say "no" by chill · · Score: 1

    We had this issue at a manufacturer I worked for. Management went to engineering and wanted time estimates for each category of product. This way, if a new customer wanted something similar to what was in our catalog, they'd know how long it would take. They swore up one side and down the other that they would not oversell the estimates.

    Three weeks later Management announced a new contract for a product that was listed as "8 weeks start to finish" by Engineering. They told the customer 8 weeks, but the customer said they needed it in 4 or no deal. Management caved and agreed to 4.

    The customer was shipped beta crap at 4, just to meet the terms of the contract. In reality, this is what the customer EXPECTED to happen.

    Engineering had a fit. We asked management flat out "why didn't you just tell them 'no'. If you want it done right, it'll take 8 weeks.' We got a lot of standard bullshit and tap dancing about wanting to please the customer.

    The sad part was this was a one-time, really small contract and it wouldn't have mattered one whit to say no -- other than PR value. Hell, the contract was done a break-even and didn't make a profit! (It was an auto-manufacturing company and the client was Rolls Royce).

    It all stemmed from Management's inability to communicate to the client that "this was a real, not bullshit, time frame. Anyone who claims to do it significantly faster is lying to you."

    -Charles

    --
    Learning HOW to think is more important than learning WHAT to think.
  164. But at least they are failing! by KlomDark · · Score: 1

    Maybe it's a shift in how things are being labelled.

    This month's Software Development magazine has an article (P22 - No More Chaos. Checked their site and the article itself is not online, but it is listed on the main page.) that says that they were unable to find any actual failed projects in 2004, even after surveying 10,000 US companies!

    So maybe instead of projects failing, they are just taking the extra needed time to get them done right, but then getting thumped for being late.

    "Well Mr PHB, either that project is late, or we write it off as a failure. What's going to look better?"

  165. CMM: Kill or Cure? by Deinhard · · Score: 1

    Since my Ask Slashdot was rejected (and this is an appropriate place), I'll ask it here...

    My company is starting an aggressive CMM project to reach Level 3 (we're at Level 0.5 now). Will this stifle innovation or really help us in our projects?

    --
    Successfully condensing fact from the vapor of nuance since 1998.
    1. Re:CMM: Kill or Cure? by Anonymous Coward · · Score: 0

      It's quite clear from your use of "kill" and "stifle innovation" that you've already made up your mind.

  166. There is No Solution: Godel Incompleteness by SparafucileMan · · Score: 2, Insightful

    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.

    1. Re:There is No Solution: Godel Incompleteness by Anonymous Coward · · Score: 0

      Paul Graham? Is that you?

    2. Re:There is No Solution: Godel Incompleteness by SparafucileMan · · Score: 1

      hahahahahaha. that's fucking hilarious.

    3. Re:There is No Solution: Godel Incompleteness by dcam · · Score: 1

      Why is programming maths?

      I hear this a lot, but I think more people write code that does text processing than write code that does number crunching. The most maths I do is calculating totals at the bottom of a page of numbers. Sure I do a little (if I take the front 3 characters off a string, what is left etc), but not much. The actual maths in any programming I do could be done by a high school student.

      --
      meh
    4. Re:There is No Solution: Godel Incompleteness by SparafucileMan · · Score: 1

      Math is not numbers. You're thinking of numerals, which are just character strings that happen to be composed of numerals. You can just as easily rewrite addition and such to use alphabetic characters... look up the definition of a "Turing Machine" which is one description of the foundation of all math. All it is is character manipulation with "If ... then ..." statements. When you write an algorithm, you are coding. When you write an algorithm to check an algorithm, you are writing a proof, whether you're using numbers or not.

    5. Re:There is No Solution: Godel Incompleteness by dcam · · Score: 1

      This is just another way of saying maths is everything. Everything in life is about Mathematics and can be explained, organised, ordered and controlled through the use of Maths.

      I could equally argue that everything is a system that needs to be controlled. From my training as a robotics engineer this makes sense to me. Everything has inputs, and outputs that react according to the inputs. My fiance takes an input of flowers and outputs a smile. Just wait til I apply a Kalman filter to her! Equally all programming could be considered a system that needs to be controlled.

      Or all programming could be considered a process. A chemical engineer might see things more this way. Variable a goes through processes B, C and F and the result us X.

      If all you have is a hammer, everything looks like a nail.

      All these are occasionally useful ways of describing things, but they are not the only lens through which one should view everything. Programming is not Mathematics

      --
      meh
  167. i agree by nepalguy · · Score: 1

    I agree that not only 95% but atmost 100% IT companies deliver the product out of time. They show some problem, or even do not show the progress on the schedule. I have even collected the statistical data here. I have found the same case here.

  168. Re:Algorithm: why projects are not delivered on ti by Anonymous Coward · · Score: 0

    Yes, you missed something. Can you add a print function?

  169. I love stats like this..... by Jaime2 · · Score: 1

    It's not like there is some universally defined deadline calculation system for IT projects. Now, if this were an airline, it'd be obvious if it's late or early. A given plane can only fly so fast and the time to board and prep a plane are fairly well known. Late is late.

    With IT projects, every one is new. They include elements from previous projects, but each are fairly unique. So, if most of the projects are late, it is as just as likely to be from a too-short estimate as from a too-long completion time. I see these stats about IT projects all the time and it always says the same things to me....

    One or more of the below must be true:

    1. IT workers are generally slackers. Somehow it is known exactly how long their jobs should take, but they almost always take longer

    2. Project managers are idiots. They keep underestimating IT projects and have never learned from their mistakes.

    (Why does the world always assume #1? If you purchased a new moped that you estimated would go 195mph, and it didn't meet your expectations, whose fault is it?)

    3. Since it is hard to estimate an IT project, supervisors give a little slack. Project managers take advantage of this by under-estimating in order to get the job approved and they simply beg for forgiveness at the end of the project. It seems to be working. Most of the projects are not completed to spec, yet there haven't been a million PM firings.

    You can probably tell which I think is true. As long as late IT projects are tolerated, they will exist. As soon as it is demanded that projects come in under estimate OR ELSE, estimates will start to get padded and projects will mysteriously be under budget and on time. Without changing the staff, training anyone, writing better specs, anyone getting "a clue", suddenly the industry will be in tip-top shape. So stop complaining about why projects are late -- you're missing the point. Deadlines are set by managers, not by the laws of physics. If there was any attemp to actually figure out how long a project was REALLY going to take, then exactly 50% of the projects would beat that estimate.

    Another example -- if your pet turtle couldn't run the 10 foot dash in your expected 30 seconds, maybe you'd get angry. Maybe you'd get another turtle. But by the 1000th turtle running right around the 45 second mark, you simply have to stop blaming the turtle and start adjusting your expectations!!!

    1. Re:I love stats like this..... by wintermind · · Score: 1

      IIRC (too...lazy...too...Google...) an airline arrival is only late if it is more than 30 minutes off of its schedule. You can make your stats look really good by redefining commonly-used terms without telling anyone.

  170. Perhaps they should consider... by StuartFreeman · · Score: 1

    Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's Law".

    --
    This is my sig, there are many like it, but this one is mine...
  171. I encourage... by Anonymous Coward · · Score: 0

    group hugs.

    Really, why can't we all just get along?

    Seriously though, I am both a manager and a developer. I actually think I care more about my customers when doing coding then managing. When I am managing projects I tend to feel the need to strangle people far more often then when I have the chance to actually write code...

  172. And another reaction.. by SEWilco · · Score: 1
  173. New SSL Cert?? by KlomDark · · Score: 1

    Why do you need a new cert? Are you changing the public domain name of the web site? If the domain name stays the same, it should be simple to move the cert.

    Oh, you're one of those IIS guys who use the horribly abstracted tools provided to deal with the certs.

    Learn to use OpenSSL from the command line, or at least learn to use the raw Certificates snap-in for MMC (Open MMC, select Add Snap-in, pick Certificate and Local Machine (Not current user) and then the rest I'm not explaining now. There might be something on my web site, I think, that goes into more details.) rather that the training-wheels version you get from inside the IIS Manager. The raw Certificates snap-in allows you to change the machine name, but it's tricky and obscure.

    I've moved the same cert from IIS, to Apache, and back again. It's a pain in the ass with the Microsoft tools that try to treat the whole thing like it's a single key, when in fact it's two keys (Public/Private). Absolutely obvious with OpenSSL, but hidden from you for some strange reason with IIS.

    1. Re:New SSL Cert?? by Sgt+O · · Score: 1

      I'm not "one of those IIS guys" and in your haste to try to show everyone how smart you are you missed the whole point.

      Doing the move the right way was not just a matter of copying the data and plugging in the new hardware.

      By the way, because we have 're-issuance insurance' from the nice guys at RapidSSL.com (for the low, low price of just$19.99), it seemed easier to me to just get a new cert than to try to migrate the existing one.

    2. Re:New SSL Cert?? by Anonymous Coward · · Score: 0

      "By the way, because we have 're-issuance insurance' from the nice guys at RapidSSL.com (for the low, low price of just$19.99), it seemed easier to me to just get a new cert than to try to migrate the existing one."

      That only means you really really have no clue about your job.

  174. You have to lie to get the project by calstraycat · · Score: 4, Funny

    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.

    1. Re:You have to lie to get the project by boyfaceddog · · Score: 1

      Perfect! Except you forgot the part where Honest Joe is hired back to maintain the code - at half the former salary.

      --
      Here will be an old abusing of God's patience and the king's English.
  175. Misleading title by generationxyu · · Score: 1
    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.

    This doesn't say 95% of projects are late. It says 95% of groups are delivering some projects late -- or the business executive isn't completely happy with the product after it's completed.

    --
    I mod down pyramid schemes in sigs.
  176. Large Limits to Software Estimation by MidKnight · · Score: 1

    This reminds me of a paper I read several years ago that gave a mathematical proof showing that objective estimation of software complexity is impossible. The same author has since provided some supplementary notes as well that are a good read, and even a PDF of some slides from a talk he gave.

    Being a math weenie myself, I gave a short presentation of the results to my development. Afterwards, my manager pulled me aside & told me to stop wasting valuable development time since we were already behind our schedule.

    Sigh.

  177. The wisdom of Scottie by aztektum · · Score: 2, Insightful
    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.

    --
    :: aztek ::
    No sig for you!!
    1. Re:The wisdom of Scottie by DJCF · · Score: 1

      I'm just a student but I've often wondered - really really wondered - why that doesn't happen. Especially with us geeks. I do know that when I am a team leader, this is the way I'll be working. (At least to start with, to see if it works.)

      As for your counterpoint, there is a sound piece of advice my dad always used to say - "Always say 'yes' to your boss. As in, 'Sure, I'll do that project in 9 months' as opposed to 'Sorry, I really can't do it in 3.'" (Assuming said project would be 6 months under normal circumstances.

    2. Re:The wisdom of Scottie by Razor+Blades+are+Not · · Score: 1

      It does happen - but not reliably. There's this thing called "competition", and it's the King.
      Occaisionally you'll be in competition with someone else who will overpromise (and underdeliver). Often that person won't even be an engineer (marketing and sales people love to promise things to customers).

      Suddenly you're looking to meet a deadline you had no part in determining, for features that aren't even computable.

      Time for Monster.com...

  178. Re:Algorithm: why projects are not delivered on ti by blowg0ats · · Score: 0

    Did I miss anything? ;)

    Aside from the memo about readable code, no.

  179. What about 95% of non it projects? by systems · · Score: 1

    Are they delivered on it, and how much of the delay is in IT projects is IT related.
    For example a project may be delayed because, the programs are busy working on multiple project, this is not directly related to IT, but could mean, that finding more programmers is an issue
    And most importantly, is this problem IT specific, and the emphasis here is ont the I, how much of the delay can be blamed on the T
    How many of high tech project is delayed? Maybe managers just can't forcast how much time and effort high-tech jobs take, this is not exaclty the fault of engineer, but actually a failure in the management domain! If the job is simple they succeed to predict how long it will take to finish, if not, they fail, kinda sounds obvious.
    When I here statics like this, I remember statics like, 60% of people in jail are black, is it really because they are black, or more because they are poor, and it just happens that more black people are poor, know what I mean! We can reduce poverty, but we can't (at least not desirable) to change peoples color, and even if we can, that won't guaranty reduce the jail population.

  180. Trifecta by Anonymous Coward · · Score: 0
    unrealistic time frames, staff shortages, and poorly defined project scope

    My last company hit the trifecta of all three.
    • They've just restarted a project that was planned for release last December with an entirely new design
    • Laid off several experienced people
    • Aren't sure what features they want to deliver to the customer.
  181. Re: Here's a relevant old joke by CrazyWingman · · Score: 4, Funny

    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 :(

  182. Of Course they are late (an over budget) by b3x · · Score: 1, Funny

    If we told them the truth about how long it will take, and how much it will cost, they would never let us do it.

  183. Re:Algorithm: why projects are not delivered on ti by Anonymous Coward · · Score: 0

    Did I miss anything? ;)

    Proper indentation ? :P

  184. Re: Here's a relevant old joke by Anonymous Coward · · Score: 0

    Eventually, both men concluded they must be near (insert fuckedcompany here).

  185. It's been said before... by tadd · · Score: 1

    ... but i'll say it again:

    You can have it:

    Cheaper
    Faster
    Better

    Pick two

    Whereas the managers (not all, but too many of them, are unrealistic)want:

    Free
    Now
    Perfect

    --
    [what?]
  186. The Bleeding Edge by blooba · · Score: 1
    It sure took me an extra 10 days beyond the estimate I gave to my CTO, to build that 64-bit 10g Oracle RAC on brand new Dell 2850's running SLES-9. And I tried to blame the delay on Oracle and Dell and Suse not playing nice together in the 64-bit sandbox, and it's true. But my CTO didn't buy it, and blamed the delay on me instead.

    My only solace is that, like most CTO's, he's largely clueless about IT.

  187. If it were like building a house... by jnaujok · · Score: 1

    ...then this morning my manager decided to replace the foundation when I was finishing putting on the shingles.

    --
    Life, the Universe, and Everything... in my image.
  188. ...and this surprises whom? by ConceptJunkie · · Score: 1

    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.

    While the "late" part of the 95% of projects is a sizable portion, I bet the "full satisfacion" part is as bad or worse.

    What executive even really knows what he wants well enough to recognize it when he sees it. Sometimes, the hardest part of a job is getting the boss at the top to understand the requirements well enough to understand what should be delivered. As a one time consultant, I know that many clients really don't know what they want, but they certainly do know what they don't want. Often, half the battle is convincing them your solution is what they want (assuming it is a good solution) and maintaining their expectations within the realm of the reasonably possible. ("What do you mean you can't port this VB enterprise system to Linux over the weekend?")

    Meeting the specs (including the schedule) is hard enough, but the satisfaction of the higher ups is often completely unrelated this.

    --
    You are in a maze of twisty little passages, all alike.
  189. What ranks should management come from? by forgetmenot · · Score: 1

    I have two thoughts concerning this statement:

    1. In probably most cases management DID come through the ranks - just not the "IT" ranks, and why would they? IT departments "serve" the business, they are rarely "THE" business itself. I would be quite concerned if the managers of the Lab where I work came from IT - what the hell would they know about running a lab?

    2. As far as expectations go, many of these are driven by "demand" - often economic but in many cases they are often legislated. For example, some "shit" happens, peaople die, public is outraged and so Government X passes regulation Y dictating such and such must now be done. Business Z now has to implement Y by deadline T REGARDLESS as to how long the IT dept. says it will take. If IT says it will take a year and it takes a year, then they think they are on time. But the Business may have been dealing the repercussions of the "late" implementation for several months.

  190. Re:Correction: 95% of Schedules are Wrong by Darren+Winsper · · Score: 1

    "asking developers how long they think XYZ will take doesn't really work well."
    Really? They're the people who actually have to do the work, surely they're the *only* ones who know how long something will actually take. If you don't believe their answers, you have bigger issues than your project's schedule.

  191. Looooong! by Anonymous Coward · · Score: 0

    You mean... Windows Longhorn will not meet its deadline?

  192. Re:Correction: 95% of Schedules are Wrong by Flamesplash · · Score: 1

    I honestly can't tell if you're being snide or funny :)

    That said, I think developers themselves often underestimate the time they need to do something, they themselves don't factor in all the actual things requires, like documentation and simply bug tracking/fixing.

    Though I think Scotty had a decent rule, just multiply all your estimates by 4, then you'll seem like a miracle worker when you get it done much quicker.

    --
    "Not knowing when the dawn will come, I open every door." - Emily Dickinson
  193. Re:Nah ARRRG! by SwimsWithTheFishes · · Score: 1

    Please stop using the building something as an analog to software "construction".

    There are hugh differences between building something and building software;
    1. The bridge goes from point A to B and is x units long and y units wide and carries z amount of weight etc etc

    2. The bridge is made of steel and concrete and other physical substances with known properties. Steel of composition blah, will hold up a known amount of weight, bending a known amount per unit of length, etc.

    Software has to do what? I don't know we'll tell you as you go, and change it if we do tell you.

    Software is made up of what, other software. What does IE do when run on this M$ OS running that plug-in - who knows?

    You might as well compare fire to THE SUN, they after all are both "hot".

    Software projects are late because of bad management. PERIOD.

    Unless and until the PHB recgonize themselves as the problem, there will be no fix, just more blame cast at those weird IT folk.

    --
    *click**beep**beep* Scotty, One to Mod up!
  194. Re:Correction: 95% of Schedules are Wrong by Darren+Winsper · · Score: 1

    I've done my fair share of under-estimating, but my manager (heh) often estimates up to four times less time than my most optimistic estimates. We did a time-cost exercise for a new feature a few weeks back where I said "that doesn't sound right, there's no way two guys can get this done in two days" and everybody just assumed it was me being my "pessimistic" self. Well, let's just say it's not ready two weeks later.

  195. Re:Nah-What's eating the Executives by Fox_1 · · Score: 1
    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?

    Efffing Marketing/Technology Groups who tell us that most projects aren't delivered on time or on budget or meet expectations. 95% of the time reports from organizations like Info-tech are not statistically sound nor based on a representative sample of the real world.

    --
    The rock, the vulture, and the chain
  196. Perhaps that's because... by TheLinuxWarrior · · Score: 1

    95% of the time, the ones promising delivery dates aren't even TALKING to the IT staff to find out if it's even possible before making promises.

    Errr....Not that it happens where I work or anything...wait, today is my last day, what the hell do I care....that's ALWAYS how it happens around here.

    Some PHB who doesn't even understand the technology promises it can be delivered in 30 days. Nevermind that we can't even get the equipment in 30 days. Then IT is made to look like "the bad guys" [tm] because we didn't deliver on time.

  197. Re:This is why (back when I was a contractor) by ect5150 · · Score: 1

    If this is the case, then use it to your advantage. And I'm not speaking direct directly to the parent, but rather to all. There is a good chance a lot of /.ers out there are smarter than the average joe. If this is the case (which I hope it is), make it work for yourself, not against yourself.

    --
    I have never let my schooling interfere with my education.
  198. Re:Houses and software by symbolic · · Score: 1


    Houses and software are very similar. There are local housing codes which require builders to adhere to certain standards, but these serve as a bare minimum- they don't guarantee that you have a quality product. Ask anyone who a) watches the development process as their home is built, and b) knows enough to know what isn't being done correctly. A completed house can also be riddled with bugs and deficiencies.

  199. Re:This just in. Project Bloat by Nasarius · · Score: 1
    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".

    This is why I like XP (Extreme Programming, the good development process with the dumb name). One of its rules is to involve the customer every step of the way. If the customer can see how the project is developing, they are less likely to expect an unreasonable deadline. If they can give you constant input, you're less likely to waste time coding stuff they don't want.

    I'm ambivalent about the pair programming aspect, but the rest of XP tends to work really well.

    --
    LOAD "SIG",8,1
  200. Re:I'd add to this.. by symbolic · · Score: 1


    If an accurate comparison is drawn to other areas of engineering, look at how much it costs to research, test, and build new technology in general. How many BILLIONS of dollars were poured into designing and building and testing the varous components for the space shuttle? Even then, we had the O-ring disaster. There were also problems with tiles that would fall off (loosen?) during re-entry, and probably countless others that we've never heard of.

  201. Techniques to Avoid Missing a Deadline by QTeela · · Score: 1

    1. When asked how long you think a project should take, estimate the actual time and double it.
    2. When asked when you will be finished, break the project up into phases. Instead of saying it is not finished, tell them you have completed phase 1, and are working on phase 2.
    3. Stand your ground. Do not let the manager coerce you into shortening your projections. You may risk losing the project to another programmer who claims to be able to do it in half the time. They will look bad when they fail. You may be given the mess to clean up, and you can point out the outrageous flaws in the code and design.
    4. I have been a programmer for over a decade, and experience has taught me that in the long run, shortcuts are not any faster and ultimately make you and your company look bad. A good design is worth the planning time. When working on code written by other programmers, it is best to come to an understanding of it and then go with the flow instead of hacking away at it.
    5. Working long hours to meet a deadline is also counterproductive. More mistakes are made, and programmers tend to leave for down time or for greener pastures. Then you have to find and train new programmers, or pay contractors top rates.
    I agree with the article that in most cases, the blame lies with the sales reps, who often sell vaporware to get those commissions.
    But sometimes, especially with small companies, promises are made because the contract is needed to keep the company afloat. If a company is in this desparate position, it often starts laying off staff, which makes the remaining programmers very nervous, and they need some additional motivation to prevent them from jumping ship.
    If they are performing duties that a higher-level programmer used to do, promote them to that position, with appropriate title and salary. If you start calling them up on weekends, nights, vacation days, and holidays, do not complain if they need to take the afternoon off for a hair appointment that was originally scheduled for Saturday....I digress. In tough times, if you want your employees to make sacrifices for you, you need to give them a good reason why.

    1. Re:Techniques to Avoid Missing a Deadline by richieb · · Score: 1
      1. When asked how long you think a project should take, estimate the actual time and double it.

      If it's an "estimate" why does everyone expects it to be the exact date. Have we forgotten the meaning of "estimate"?

      --
      ...richie - It is a good day to code.
  202. Re:Correction: 95% of Schedules are Wrong by Anonymous Coward · · Score: 0

    If you want good estimates for the length of time to accomplish a particular task you use a combination of the following two techniques.

    1) instead of asking how long it will take them to accomplish the task, you ask them how long it will take one of their coworkers to accomplish the task (more realistic answers always result).
    2) keep records on their estimates and actuals, you will soo have a good multiplier for whatever answer they give you: actual_time = estimated_time_from_developer_x * multiplier_for_developer_x

    This works great, hope it helps!

  203. Our biggest delay... by atomic_toaster · · Score: 1

    ... is getting projects approved by the Powers That Be (i.e. the clients). I work for a small company, and in order to stay in business, our production schedules have to be followed to the letter. Things must be done to schedule even if the computers crashed and there was no contingency time budgeted and we have to work unpaid overtime to get the project finished by the due date. Then we send it off to the clients and wait... and wait... and wait... and wait for approval or changes, often past the final deadline of the entire project. At this point, of course the deliverables are late -- and it always seems to be "our fault".

    And of course, a lot of the time there are changes to be made to the final product even if we have been sending daily/weekly rough versions for evaluation as the project develops. Somehow, it's always a case of "This is exactly what I asked for.. But not what I wanted!" -- and the clients don't figure that out until they look at the final, polished, ready-for-the-public version. It drives me absolutely frikkin' nuts. What is the point of demanding progress reports if you don't look at them?

  204. Re:Algorithm: why projects are not delivered on ti by Stealth+Potato · · Score: 1
    Did I miss anything? ;)

    Well, since you asked for it... :-)

    For one, your code could benefit from a little bit more consistentcy. 'manager' and 'manager.schedule' are both objects, as indicated by the member access operations; but in the 'manager' context, you access member data directly (the presumably boolean 'clueless'), while in 'manager.schedule', you use a method of 'manager', 'isRidiculous()'. Another naming inconsistency is the adjectival boolean 'manager.clueless' vs. another boolean member of 'manager', 'isEvil', with a verbal name. Direct member data access seems to be the norm in this fragment, although good OOP practices should dictate the use of data-hiding and accessor methods.

    By your capitalization scheme, I'll make the assumption that the the platform for this code fragment is Java, so I won't be so bold as to suggest Hungarian notation.

    Other than that, no, looks good. :-)

  205. Re:This is why (back when I was a contractor) by Anonymous Coward · · Score: 1, Insightful

    Quit beating around the bush - you're saying we should lie.

  206. Scope creep by Anonymous Coward · · Score: 0

    You were just being difficult. If you want to upgrade the app, make the business case for that--separately from the migration. Yes, in the long run it may be easier *from your perspective* to do it all at once. But ultimately it's even easier to just do the migration. And sticking to the task at hand reduces the variables and therefore the troubleshooting.

    Yes it may cost more to do them separately. But no offense--that's not your problem or your decision. Sometimes splitting projects up over time makes more financial sense to a company than doing them all at once, even though the aggregrate price may be higher.

    1. Re:Scope creep by Anonymous Coward · · Score: 0

      Are you sure it's not his problem or decision? How do you know he's not the person who gets the chop if the system fails? You don't? Well, that suggests to me that you've spoken out of turn, and should shut the hell up, like the good little shaved ape you are.

  207. Re:Algorithm: why projects are not delivered on ti by roman_mir · · Score: 1

    CONTRACTORS! HERE BE DRAGONS! - well, I contract for living for already 4 years. Maybe something is wrong with me, but my projects are either on time or on their natural time or on supernatural time (that's when you work for over 12 hours a day to deliver.)

    But on 2 projects I worked I saw exactly what you mean by DRAGONS, they do exist unfortunately.

  208. On Time, pfftt by korbin_dallas · · Score: 1

    Duh!

    Most projects are delivered on CD-ROMs.

    Chris: "Well, why do you go into the closet?"
    Mitch: "To get my clothes, but thats NOT why HE goes in there."
    Chris: "Of course not, he'd never fit in your clothes. Think about these things Mitch. 20 points higher than me huh, thinks a big guy like that can wear his clothes?"

    --
    They Live, We Sleep
  209. Obvious problem by richieb · · Score: 1

    People who come up with the schedules have no clue what it takes to build software.

    --
    ...richie - It is a good day to code.
  210. If you had a nickel... by don.g · · Score: 3, Funny

    ...for each time you saw this scenario:

    Let's be generous, and assume you've seen this scenario four times per day: that's USD0.20/day.

    Assuming you don't work on weekends, that's USD1.00/week.

    If you don't take holidays, that's USD52/year.

    I'd always assumed the cost of living in the US was a bit higher than that.

    --
    Pretend that something especially witty is here. Thanks.
    1. Re:If you had a nickel... by calstraycat · · Score: 1

      You are correct. A bit of an exaggeration on my part and kind of a lame punch line.

      A better closing line would have been "if I had Sleazy Bob's ethics and morals, I'd be CEO by now".

  211. canada by alexq · · Score: 3, Informative
    has anyone clicked on the article? it seems to just be about canada (read the first paragraph)

    Canadian information technology groups can't seem to get IT right.

    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."

    and why is the heading in slashdot "95% of IT projects" while the actual statistic is "95% of IT groups have SOME late projects"?

    This seems pretty misleading to me!

  212. On Time or Off Base? by mr.+mulder · · Score: 1
    Long term IT projects are doomed from the start unless those administrating the project and those performing the project can keep on task. I have found the main suspects of a failed IT project to be the following:
    1. Lack of customer understanding (both of technology and what their end=product should be)
    2. Over-designing a project
    3. Poor forward-planning and design specs
    4. Scope creep
    5. The "moving target" problem

    (1) Technology inherently advances, but many of your end users don't. For example, a database driven feature-rich web application may be just the thing your client needs; however, end-users think of and use solutions they are already comfortable with - they would rather pass around a spreadsheet via email rather than utilize the web app. Often times, the inability for end-users to think of new technology that could benefit them creates a brickwall between them and the develper. The developer has his blinders on because he's getting off about designing a sophistocated system, and the end-user has his blinders on because he can't possibly think why anyone would need anything but Excel (because it already does everything). These problems lead right into my second and third points:

    (2)The invariable amount of disconnect between the end-user and the developer causes problems in the initial design specifications of the project - the developer over-analyzes the situation and tries to leverage new technologies (which I call over-technification), often times over-designing something incredibly simple. Due to this over-designing (and other factors), many IT projects suffer from point (3): poor design specs. For whatever reason it may be (complexity, lack of client understanding, over-technification, etc.) the developer can be left to create the design specs by himself without the assistance and review of the client. The greater problem will come down the line because the expert on the end-product functionality shoudl really be the client - they know the nuances and exceptions encountered in their data and tasks. The developer doesn't understand these subtle things that the client knows about. As the client's role in design specification lessens, we see more and more of my fourth point appearing.

    (4) As the client begins to see an emerging product based on the initial specification, they realize they forgot something (or the developer forgot something). This leads to scope creep - a customer now wants to add more features. Some times, this will lead to a complete redesign in the project, other times not; however, it always results in an increasing timeline.

    (5) My last point is in regards to the "moving target". Due to scope creep, redesign, and changing needs from the customer, developers are preasured into adding features instead of completeing the agreed upon specification and then beginning a new project lifecycle to incorporate the new features. These circumstances create the moving target - a project that never seems to have an ending-point. This is both a developer's and a customer's nightmare.

  213. Either way... by http101 · · Score: 1

    ...the fault rests on whoever is associated with the project and this is how: A) The manager, for not having the required experience in this field to correctly or approximately estimate the length of time required for a project. This falls on the old addage, "an emergency on your part, does not constitute an emergency on mine." Tip: Don't wait til the last f*cking minute to tell me about something critical. B) The person assuming responsiblity for the project. Since it's your ass on the line, cover it, speak up, and let your voice be heard. Don't let the project close badly while your nuts are in the door - get my drift? If you think it'll take you 3 days longer to get something done and DONE RIGHT, then tell the boss ahead of time, don't wait til the day the project is due. C) Vendors. Yeah, we all know how to love, hate, talk badly about, and even promote their businesses, but the one thing the vendors have to do is put your crap in the mail. All YOU have to do is stay on top of them and make sure you get the goods. Don't stand around waiting for something to arrive when you can surely work on something else to help pass time. I can actually relate to these problems with vendors though. We ordered NetScreen boxes from Juniper Networks. The only catch is, they took over 4 weeks to get here. Why, you ask? Because they sat on someone's desk at the U.S. Customs office near the border of Canada for nearly 3 weeks. So, despite vendors not putting things in the mail on time, we also have to take into consideration the other factors in the delays such as weather, terrorism, U.S. Customs, the Emperor of China having a parade, stuff like that...

    --
    -- Game Developers: Stop porting badly-textured games from crappy console systems!
  214. ... and another reason ... by jc42 · · Score: 1

    ... bridge-building as a discipline is thousands of years old; software engineering is a few decades old. And that bridges typically serve a single, simple purpose, whereas software depends on the complex interaction of thousands of elements that are not well-understood.

    All true. And there's another important reason that bridges and buildings don't need as much testing as software: With bridges and buildings, you can order all the components to spec and (aside from the occasional corruption), you can rely on the components matching the specs. You order steel beams of a given size, alloy and strength, that's what you get. Bolts have the composition and shear strength that you ordered. You can use the numbers in your models to calculate the strength of the resulting structures.

    With software, for everyone (except Open Source programmers), you are required to use components (OS, compilers, runtime libraries) that are proprietary, can't be inspected, and very often fail to correctly implement what's in the sketchy documentation that's available. You must test everything, so you can discover the underlying failures of the mandated components. If you find that something fails in a critical function, you can beg and plead to have it replaced with something that works, but the vendor can take their good time, or deny your request entirely. Sometimes you can spend extra time rewriting the component, but if it's sufficiently low-level (i.e., inside the OS), this isn't even possible.

    So, if you're a programmer, most of your structures are build on unstable, shifting sand. Your tools are inadequate for the job, break at inopportune times. The pieces of your structure fail in unpredictable ways. You are forced to do extensive testing, because engineering calculations just aren't possible when all your materials have unknown defects.

    And the jobs are usually so complex that exhaustive testing would take centuries on the fastest machines. So you deliver something that you know will fail. But you shrug, because you understand that it's what the customer wanted. Otherwise, they wouldn't be buying computers that were built to hide the details from the programmers. Everyone understands that if a foundation is unstable, the whole structure is unstable. So if they are buying unstable computers, they must want the software that runs on it to be unstable, too. Right?

    I've done a few jobs where I could do a proper engineering job, because I had precise specs (i.e., access to the code) at all levels below my code. This is possible on a few real-time systems. But I don't even dream about it with most jobs, because I know up front that I'm not permitted to see the inner details of some of the things that I'm required to use. I know very well what the end result will be. But it's what the client wants.

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    1. Re:... and another reason ... by GileadGreene · · Score: 1
      With software, for everyone (except Open Source programmers), you are required to use components (OS, compilers, runtime libraries) that are proprietary, can't be inspected, and very often fail to correctly implement what's in the sketchy documentation that's available. You must test everything, so you can discover the underlying failures of the mandated components. If you find that something fails in a critical function, you can beg and plead to have it replaced with something that works, but the vendor can take their good time, or deny your request entirely. Sometimes you can spend extra time rewriting the component, but if it's sufficiently low-level (i.e., inside the OS), this isn't even possible.

      So, if you're a programmer, most of your structures are build on unstable, shifting sand. Your tools are inadequate for the job, break at inopportune times. The pieces of your structure fail in unpredictable ways. You are forced to do extensive testing, because engineering calculations just aren't possible when all your materials have unknown defects.


      Isn't this really just an argument for greater use of formal methods throughout the software world? The "shifting sand" you mention wouldn't exist if the components you were building on had also been constructed in a mathematically rigorous way.

    2. Re:... and another reason ... by jc42 · · Score: 1

      Isn't this really just an argument for greater use of formal methods throughout the software world?

      You're right, of course. But try persuading Bill Gates and Steve Ballmer that everyone should have access to not only their code, but also a formal analysis of all of it. A major portion of software development is on their system, and any discussion of formal methods there is pretty much irrelevant, even if software managers would permit it. There's little point of formal methods when all the low-level stuff is firmly and intentionally hidden from developers.

      OTOH, in the real-time arena, formal methods are fairly standard already. This is especially important now that we're seeing things like microprocessors controlling major parts of autos and airplanes. And then there's the horror expressed by people faced with the prospect of developing software on the MS Windows that their management has mandated for future models ...

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    3. Re:... and another reason ... by GileadGreene · · Score: 1
      But try persuading Bill Gates and Steve Ballmer that everyone should have access to not only their code, but also a formal analysis of all of it.

      Well, the OSS world certainly doesn't face those restrictions, does it ;)

      And, interestingly enough, MS Research now employs a lot of the formal methods gurus, inclusing Tony Hoare and Leslie Lamport.

  215. nice try by Anonymous Coward · · Score: 0

    The statement is "are not delivering some number of projects on time or to the full satisfaction of the business executive."

    Not delivering the project at all would count as not delivering it on time.

    For example: If it was supposed to be here yesterday and it never got here, then it wasn't delivered yesterday.

  216. Software/IT is not like building anything else by plopez · · Score: 1

    Most people, even those who know better, assume that
    software is like building a house. It isn't. It isn't like building anything in most cases. It is more like research and development.

    If a software solution already is built, it should be bought. There is no building involved just some configuration (see office suites, database engines, music players as examples).

    If there does not exist an application which meets your specifications and you decide to create one, by definition this is research and development. Since it has never actually been done, no one knows how difficult it will be. So all estimates are bogus.

    Same for large scale IT projects (e.g. merging the networks of you companies after company A buys company B out). Since it has never been done (this is the first time the companies have merged) all estimates are usually bogus.

    --
    putting the 'B' in LGBTQ+
  217. i like my headline better by tralfamador · · Score: 1

    95% of IT Projects Have Ridiculous Schedules

  218. How to estimate by lildogie · · Score: 1

    1. Take the amount of time you think you will need to do the job.
    2. Multiply by two.
    3. Change to the next higher unit.

    Thus we allocate 2 days to do a 1-hour task.

  219. Re:Houses and software by jc42 · · Score: 1

    Recently I ran across a cute bit of history to illustrate how shoddy builders can be. It seems that Boston was the first known city to pass a building ordinance. Some time in the mid 1600's, they passed a law that made wooden chimneys illegal.

    Think about this. They found a need to pass that law. This means that builders were building houses with wooden chimneys. Those builders knew exactly what they were doing. They did it anyway, and managed to sell the houses to gullible buyers.

    Few pieces of software get as bad as this.

    Actually, these days Boston is facing a similar situation. The "Big Dig" project to put the main north-south expressway underground is nearly complete. But it's springing lots of leaks. It's mostly below the water table, and the walls in a lot of places have very sub-standard construction. In some cases, they apparently filled what should have been concrete-filled spaces with construction rubble, and poured concrete around it. Joints and seams weren't properly sealed. And so on. Warnings from people involved in the construction were casually buried and never read by the right people. The managers responsible have long since moved on to new jobs, and the new managers are seeing a lot of finger pointing their way while they try to recover from the mess left by their predecessors. Sound familiar, anyone?

    And there was a nice new bridge, which did have several design flaws. They were all minor, and could be fixed, for a small extra charge. But, strictly speaking, the bridge wasn't built correctly the first time. The engineering was good enough that the problems could be fixed before they became serious.

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
  220. Kinda brings new meaning to.... by p.rican · · Score: 1
    --

    /. --"Demented and sad....but social" -Judd Nelson

  221. statistics by jimboisbored · · Score: 1

    75% of statistics are made up on the spot

  222. Being competive. by jellomizer · · Score: 1

    It is all about being competive. When someone asks you for a time frame and you give them a good estimate you will not get the job because they find that your competitor says they can get it done in half the time. So when selling your services you need to give them the best estimate (assuming that everything works right). I like the Rule of 6 where the time it takes you to do the project multiply it by 6 then you get the best estimate. But if you tell them that it will take you 1 week to do a small program and your competitor says it will take 1 day. They will go with the 1 day. Then they produce a junk program in a day and spend the rest of the week modifying it to do what the customer wants.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  223. Left Brained Cripples... by Anonymous Coward · · Score: 0

    ...who get absorbed and obsessed by the minutiae of things and lose (or never possess) the "big picture", which is always the domain of the right-brained visionaries who can see, but can't do, as opposed to the left-brainers who can do, but can't see.

    Communicating through written or spoken words will always fuck things up between both camps.

  224. One of the problems by sjames · · Score: 1

    It's really no surprise that software deliverables are so frequently late. The most important information for predicting the timeline doesn't become available until the project is already underway.

    In a well executed project, the majority of the effort should go into the design phase with QA and actual coding dividing the remaining time more or less equally.

    Unfortunatly, management demands timelines up front for various reasons. At that point, all anyone can really do is pull a number out of the air and pad it.

    To make matters worse, in a bid situation, there's always someone out there who is more than willing to under-estimate the timeline in order to secure the contract. They know that by the time it becomes clear they won't make the deadline they can weasel out of any penelties due to change requests and then string the client along just 2 more weeks at a time. The big companies are especially likely to do that since they can easily drag out any threatened legal action long enough to not be worthwhile for the customer.

    Going back to the popular building analogy, imagine how things would be if the client expected the architect to prognosticate when the building will be occupied in the first week while the requirements (including the building's location and size) are still under discussion! I imagine we'd be reading about how most buildings open late and over budget.

  225. Re: Here's a relevant old joke by PalmMP3 · · Score: 0
    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."

    You forgot one of the best parts: "You are in an elevated position. You did not work to ascend to that position; you are merely that high due to being full of a large quantity of hot air."

    --
    Laughter is the best medicine, but in certain situations the Heimlich maneuver may be more appropriate.
  226. Comparing apples and oranges ... by Rudisaurus · · Score: 1

    A survey / study like this one is completely meaningless unless some effort is also expended on assessing the quality of the milestones and deadlines which are used to gauge whether the project was delivered "on time". Otherwise a project which isn't completed by some date which was simply plucked out of the air looks exactly the same as one for which significant effort was expended to determine a realistic and economic completion date.

    If a project fails for reasons of an "unrealistic time frame", then the real question is why the schedule was unrealistic, not how the development team screwed up. IT project management should probably spend some time gazing into a mirror and re-examining its own processes.

    --
    licet differant, aequabitur
  227. 5% Successfully Sandbag on Release Dates by billstewart · · Score: 1
    There are multiple ways to never deliver any projects late:
    • Always negotiate aggressively for long delivery dates
    • Convince your Pointy-Haired Boss that your job is Really Complicated
    • Do a small number of projects and get lucky (Zero doesn't count - but 1-5 does.)
    • Aggressively resist scope creep and also resist doing your own creeping featurism
    • Accept scope creep but always renegotiate delivery dates. This can be a win-win.
    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  228. What exactly on time? by syousef · · Score: 1

    In my experience it goes something like this.

    1. A high level description of the system is put together with a high level estimate of man power and resources needed. Commitments are made and deadlines specified based on these.

    2. As detailed planning and then development proceeds - either formally or informally through the developers - additional requirements and requirements changes are identified. This is a good and necessary thing, but is often not controlled properly.

    3. Original estimates are never adjusted, or insufficiently adjusted under pressure to deliver in the timeframe originally specified.

    4. Repeat 2 and 3 until a working system is put together late and with a budget blowout, or worse make changes so difficult to implement that the project fails, or worse yet the stake holders never come to agreement on what the system should have been like and allow the project to fail without any part being implemented.

    5. Bitch about project being late, over budget and not delivering what was required.

    A good manager, given the right authority will insist on clear detailed designs and adjust at point 3 correctly. This only happens 5% of the time.

    --
    These posts express my own personal views, not those of my employer
  229. Submitter your headline is wrong by SilverJets · · Score: 1

    The article does not say that "95% of IT Projects are not delivered on time." It is saying that 95% of IT Groups are not delivering some projects on time. Those are two completely different stats.

  230. Re:Algorithm: why projects are not delivered on ti by crazyphilman · · Score: 1

    Heh! You got me there... It was a one-off joke, so I didn't really do a proper object design. I don't code like that for real, of course (digs toe in floor and blushes).

    Anyway, That was really supposed to be more like java-ish pseudocode. If it was Java, I'd have included classes for everything, including a superclass "Employee" which could be subclassed to "Manager", "Developer", "Consultant" and "EvilVendorRep" (although I don't know if you can classify those as "employees" because you generally have to invoke them with animal sacrifice so they might not actually be human).

    Although... That gives me an idea: if we did it that way, we could make sure that the Consultant classes had trouble with infinite looping in a few of their methods (maximization of billable hours, eh?). And the Vendor classes would have to have a dozen different almost identical forms, all of which are nearly impossible to tell apart, take almost the same parameters, are described identically in the documentation... But then, behave in completely different, randomized ways!

    The manager class wouldn't do much, but it would pop up endless annoying nag windows. Heh... :)

    --
    Farewell! It's been a fine buncha years!
  231. 95% of projects, or groups? by ralphdaugherty · · Score: 1

    The article said 95% of groups have delivered something late, but the /. header makes it 95% of IT projects are late.

    I've seen a few other such corrections to /. headers lately. Maybe RTFA isn't enough?

    rd

  232. Re:Algorithm: why projects are not delivered on ti by crazyphilman · · Score: 1

    To be fair, there are good contractors and bad ones (although the good ones seem to be in the minority).

    If you're a good one, good for you! ;)

    No hard feelings I hope.

    --
    Farewell! It's been a fine buncha years!
  233. sigh...the math challenged are sad by Anonymous Coward · · Score: 0

    95% of groups delivering "some percentage" of projects late does not equal 95% of project delivered late. Granted I wouldn't be shocked at that either.

  234. Re:Algorithm: why projects are not delivered on ti by Tomster · · Score: 1

    I wish Firefox had "highlight matching brace". *sigh*.

  235. Re: Here's a relevant old joke by Anonymous Coward · · Score: 0

    might be Baxter Black

  236. 90/90 rule applies by Howl · · Score: 1

    The first 90% of the works take the first 90% of the time and the last 10% takes the other 90% of the time. This rule applies even when you try to take it into accountat the planning stage.

    [taken from a very old "Mrphy's laws of computing" poster"]

    --
    Never underestimate the bandwidth of a truck load of tapes
  237. Selling something you do not have. by RedLaggedTeut · · Score: 1

    Well it can be worse ..

    A small company I worked in hired a new sales guy who was desperate because we had nothing he could sell - the company only had finished products which either were written for a special customer and could not be sold, and unfinished products which he couldn't sell either.

    The managements solution was to fire everyone involved, including the guys who could have worked on producing something in the first place. Not the worst solution cost-wise, but not going anywhere either.

    Morale: It's ok if everyone involved gets fired, but of course management won't fire themselves.

    --
    I'm still trying to figure out what people mean by 'social skills' here.
  238. WAIT a minute, RTFA! by thehunger · · Score: 1

    It's not 95% of IT projects that are not on time, its 95% of IT groups deliver some projects not on time. Sheez!

  239. Re:Algorithm: why projects are not delivered on ti by KZigurs · · Score: 1

    Yes, defensive coding practices. Not to even mention accessing fields directly. And even more fun, if using them directly as condition variables.

    Of course deep adressing is pretty evil thing too, but you don't seem to care about encapsulation at all. And I would guess that you haven't encountered any design patterns in your life. (just like I still haven't found my grammar skills)

    Just a short clue to the right path (I'm lazy):

    if (null != project
    && null != project.getProjectType()
    && Project.getProjectType().equals(ProjectTypes.getPr ojectType(ProjectTypes.INTERNAL))) {
    ProjectImplementer i = project.getImplementer();
    if (null != i) {
    if (i.getType() == ProjectImplementer.TYPE_EMPLOYEES) {
    //...
    } else if (i.getType() == ProjectImplementer.TYPE_CONTRACTOR) (
    //...
    }
    } else {
    throw new UnexpectedStateException("Guilty party not found. Therefore start packing");
    }
    //...
    }

  240. Yes, and of course by KZigurs · · Score: 1

    In our fast pacing business domain please remember to use thread synchronisation properly, to ensure that projects state doesn't change while your code executes.

  241. mod up! by Billly+Gates · · Score: 1

    Most intelligent comment I have read here so far.

    If a project fails due to lack of specing, planing, and selling the stages of the solution then its the managers fault and not the programers. Too many incompentant managers are still employed and meanwhile everything is not planned but rather outsourced as a result.

    MRP, ERP, and business process engineering should be taught at computer science and MIS students. Instead only MBA's know about them.

  242. Re:Nah ARRRG! by Oligonicella · · Score: 1

    "Software projects are late because of bad management. PERIOD."

    Horseshit. Software projects are late or nonfunction just as often because of inept, pompous or arragant programmers.

  243. Bridge not comparable to most business software by GunFodder · · Score: 4, Insightful

    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.

    1. Re:Bridge not comparable to most business software by GileadGreene · · Score: 1

      How many houses spontaneously fall down?

  244. MOD PARENT INSIGHTFUL by DM9290 · · Score: 1

    I was going to make the same observations.

    I really think most people dont bother even reading the article around here.

    The astounding thing is that 5% of IT departments have PERFECT TRACK RECORDS!!

    If I had mod points I would give them to you.

    --
    No one has a right to their *own* opinion. They have a right to the TRUTH.
  245. Ha Ha Ha Spoken like a true PMI convert by Anonymous Coward · · Score: 0

    Sorry, in our company we all are certified or will be. But none of our management is. Management almost always wins.

  246. No by Anonymous Coward · · Score: 0

    Anyone else really getting sick of this?

    No.

  247. Re:Algorithm: why projects are not delivered on ti by crazyphilman · · Score: 1

    Another guy who doesn't get that A) IT WAS A JOKE, and B) IT WAS SILLY PSEUDOCODE.

    What is this, an asperger's convention? Lay off the coffee, man, you're gonna give yourself a heart attack.

    BREATHE.

    --
    Farewell! It's been a fine buncha years!
  248. Re:Algorithm: why projects are not delivered on ti by crazyphilman · · Score: 1

    Umm... Sorry about that. The indenting looked great when I was typing it, but then, in the page, well...

    --
    Farewell! It's been a fine buncha years!
  249. Yeah, right :) by KZigurs · · Score: 1

    Another guy who doesn't get that A) IT WAS A JOKE, and B) IT WAS LOUSY JAVA CODE.

    What is this, an asperger's convention? Lay off the coffee, man, you're gonna give yourself a heart attack.

    BREATHE.

    1. Re:Yeah, right :) by crazyphilman · · Score: 1

      Which? Yours or mine?

      After all, mine wasn't even Java. It was merely a java-like pseudocode. But I repeat myself.

      Weirdo.

      --
      Farewell! It's been a fine buncha years!
  250. Lies, damned lies and statistics by Anonymous Coward · · Score: 0

    Take any non-IT department and ask them if they've ever delivered any project late. Would you expect the number who said "no" to this question to be more than 95%?

  251. Who sets the due date? by softcoder · · Score: 1

    In my experience there are two guilty parties to this. First are the Programmers who optimistically (or dishonestly) underestimate.
    Then there are the Managers who will not accept an honest estimate, or worse will not accept that an honest estimate is not possible. They insist on a 'date', then insist on a date that is sooner than that, then complain when 'their' date is not met, and blame the IT dept.

  252. Always Remember! by Anonymous Coward · · Score: 0

    In Soviet Russia, the coffee brews YOU!

    (so sorry!)

  253. Re:Nah ARRRG! by Anonymous Coward · · Score: 0

    1. The bridge goes from point A to B and is x units long and y units wide and carries z amount of weight etc etc

    Software has to do what? I don't know we'll tell you as you go, and change it if we do tell you.


    Well, that's the difference between a good specification and a bad specification. Every designer will see the latter, we only hope that we see some of the former. We all get our specifications changed in the middle of the project, but some companies know how to put out a change order and some don't. Software is exactly like any other area of design in this respect. Okay, people generally have a better idea of what they want with a physical thing (not always), but you generally get a lot more leeway with how and what you create in software.

    2. The bridge is made of steel and concrete and other physical substances with known properties. Steel of composition blah, will hold up a known amount of weight, bending a known amount per unit of length, etc.

    Software is made up of what, other software. What does IE do when run on this M$ OS running that plug-in - who knows?


    Well, that is one sign of a more mature field. Thousands of people over thousands of years have figured out how to make decent steel reliably. I can get certs on every piece of steel I buy to prove what it is and where it came from. People's lives are at stake. Software companies don't hold themselves to those kind of standards. Not because they can't.

    But, engineers run into similar problems. Before you build a building or a dam, you have to send a geologist out to check the site. If the base you're building on isn't good enough, you cut it out and pour a new one. Sometimes the material you need doesn't exist. The batteries are too heavy, or the steel can't handle the heat. Life sucks. You keep cutting until you get to something you can work with and build up from there. If you can't, you have to inform the customer that you can't deliver the product they want.

    Software is made of other software? That means all your problems can be blamed on bad programming. Not something warping or annealing when you welded it. Not dissimilar materials welding together during transport. Not rubber that was stiff when it got cold. Not a bad batch of steel from the mill. Not corrosion or weathering. Not two parts on the opposite ends of their tolerances. Computers are digital logic systems. Things are usually either right or wrong. The real world is completely analog, and everything is a compromise between what you really want, what you can afford, and what is physically possible.

    Software projects are late because of bad management. PERIOD.

    Bad management by the managers, as well as bad management by the programmers. Blaming others won't make you a professional. Try holding yourself to a higher standard.

  254. Eh?!? by rice_burners_suck · · Score: 1
    What do you mean that 95% of IT projects are not delivered on time?!??! Can't you see that IT projects are ALWAYS delivered early and under budget? Just look at Debian for cryin' out loud. Debian is ALWAYS released on time. Nobody ever complains that it takes too long for a Debian release.

    Oh, wait...

  255. Where is the OSDN report? by 1davo · · Score: 1

    Did y'all contribute to our OSDN survey? I would like to see those results...

  256. No surprise here... by Anonymous Coward · · Score: 0

    and it isn't unique to IT.

    I design hardware and firmware for embedded systems. Routinely I am asked for estimates of how long a project will take. Without exception, every project has had the time frame chopped in half. Why? Because of some insight into the required goals or a marketing target that simply had to be met? No, just because "that's ridiculous!"

    Then starts the endless recriminations for missing the project's deadline. One asshole that I worked for even resorted to creating a "wall of shame" that showed the shortened timelines and how "late" the project was currently. That shit stopped when I posted my original timeline underneath it and how each goal had been met. All of it disapeared from the wall one weekend and I was criticised in my next review for "not being a team player".

    Fuck 'em, just fuck 'em! As long as we have technically inept people making these kind of idiotic arbitrary decisions, of course every project will be late!

  257. Of course they conclude that... by Adammil2000 · · Score: 1

    the blame rests elsewhere, considering they get hired by people who want to pay someone for a detailed study that says someone ELSE screwed up. Remember the SNL skit about the delivery company that stamps your packages "received" three days earlier when you need off the hook for the package being late? Same idea here. Another way to say this is, "95% of our client-sponsored reports conclude that it was not our client's fault."

  258. All projects by GoClick · · Score: 1

    I'd guess it's more like 99% of companies are not delivering *some number of projects* on time or to the full satisfaction of the business executive.

    It's not just IT, when do projects ever come in on time and on budget and to spec? Never. Well not never but outside of a 7th grade history class, almost never.

    On paper you have "On Time", "On Budget", "To Spec" for everything, that's why you set them, however in reality 99.9% of the time you can only actually have 2 of them and most companies care about it being on budget, and as a result of scope creap it's usually way over due or crappy.

    Happens all the time, my advice to consultants, always do one of the following

    double the price (so you can add help)
    double the timeline (so you can do it with what you have)

    Avoid halving the specs becausse they will assume it's a result of inability. Plus for most companies they like to cry poverty but in the end they can afford a lot more than you think and still feel they got a bargain.

    You'll actually end up with happier clients, most of the time.

  259. Re:Algorithm: why projects are not delivered on ti by Anonymous Coward · · Score: 0

    What gorgeous code, even though its an example. Enlighten me, oh great one.

  260. But building software is NOT engineering! by patrixx · · Score: 1

    When will you engineers that code get this? Probably never because engineers only listen to themselves and occasionally other engineers.

    Imagine you have two bridge building teams. Both the teams have this magic machine - If you enter the exact specifications of a bridge into the machine it will be built instantly! You can use the machine as many times as you like.

    Now, imagine the first team worked like you traditionally do when you design and build a bridge, and only used the magic machine one time at the end of the project, when they where absolutley positively sure their bridge design was correct.

    The other team uses the machine all the time. In the beginnig they have lots of errors in their bridge design, but as they build and test several new bridges their design improves.

    Now, which team would you guess builds the best and cheapest bridge in the shortest timeframe?

    This is where the analogy between bridge/house building and software design utterly fails. There is NO COST OR INCONVENIENCE in building software. Just click compile.

    1. Re:But building software is NOT engineering! by GileadGreene · · Score: 1
      Which bridge would you prefer to walk across? The one developed by throwing things together until the 'design' passed all of the tests the designers could think of and had time to run? Or the one developed by designers who understood what they were doing, and developed a design that they are confident will work under a wide range of conditions? I know which one I'd pick.

      BTW, it is a myth that the application of formal methods to software design takes longer than build-and-test. In fact, there's good empirical evidence that it takes the same (or less) time and money, and results in significant reductions in defect rates. I've mentioned some examples elsewhere in this thread.

  261. It's the market, not management by mutterc · · Score: 1
    Clueful management won't save you. They're constrained by the market into setting up projects that are just possible if nothing goes wrong and everyone puts in heroic effort.

    Even if your management knows how to make realistic deadlines and budgets (and, of course, not all do), they won't be able to use them, because all of your company's business would then be lost to a competitor who is over-promising.

    For some reason, the managers at my company look at this as an interesting challenge (really! even when not trying to motivate "resources"), whereas I look at it and see endless hopelessness. My guess is that the truth is somewhere in the middle.

    This is what "race to the bottom" is all about; all semblance of quality is squeezed out until you are cranking out the cheapest product possible, at razor-thin margins.

  262. Get a contract. by Mustang+Matt · · Score: 1

    We don't polish our prototypes up at all.

    However, if we were billing hourly and the customer wanted to stop at the prototype big deal. We're still billing for all the work we've done and we'll move on to the next project.

    Normally though, wireframing and prototyping are in or near the discovery phase of a contract so we're guaranteed the entire amount to finish it.

    With a clause that says if we go over 20% of the estimated time we'll bill for everything beyond that 20%.

    But like you said, you have to educate the customer what the difference is between a prototype and a finished product.

    --
    The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
  263. Two more things... by Mustang+Matt · · Score: 1

    1. Always get 50% of the money up front.
    2. Require a personal guarantee in addition to the companies guarantee that the contract will be paid upon completion.

    --
    The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
  264. Re:This just in. Project Bloat by linuxrunner · · Score: 1

    This is a public service announcement

    The above poster is a posting WHORE, is just plain ugly, and read it. He's a moron! Likes XP? I bet he liked all of those services that are automatically on when you boot up that allow people to send you messages.

    LOOOOOOOOOSER.

    --
    www.slightlycrewed.com - Because aren't we all?
  265. Maybe it's pressure? by freaker_TuC · · Score: 1
    1. --experience--
      • based on 5 years experience in my own company, all projects I need to deliver, mostly based on webprogramming (perl, c, python, php) just take (lots of) time to finish...

      • There are 2 different zones, a zone technical and a zone marketing/customer relations. These zones seem to be having a left and a right wing.

    2. --learning curve--
      It's a know-your-newest specifications; to stay in trend with the latest technology...

      It's a learning curve, you need to learn the language while working in it, examples do it, tryouts do it, learning the basics of script programming and security (which they do not teach at schools?!?). I am referring to buggy perl scripts that are on the net...

    3. --visual-editing-trend--
      I see the trend "in Dreamweaver you can make a site in a week" thing, so the layout gets made, it gets imported, converted to sleazy html, which could be optimized to html4 in no time.

      This makes the people that try to follow the standards look awfull, because the "visuals(1)" are the same but the underlying code is crappy. Dreamweaver outputs code that's sometimes completely off the standards; contains buggy java script code crashing out Firefox -> and it gets mostly delivered like that to the customer.

      (1) The visual thing is there - "marketing" would be happy, the customer paid and there-u-go!

    4. --standards--
      Standards are nice to get to, because you are sure it works when it needs to work with full coverage...

    5. --html editors--

      1. The problem is the good use of html editors that don't f*ck up the code, that leave it as it so a user, who doesn't know html can edits their sites.. Editplus we recommend for it (by personal experience) but it's still not visual enough for most people ... Maybe they exist? where are thou?

      2. Don't shoot marketing, but marketing, listen to the engineer!



        Don't shoot the pianist, but pianist, listen to the sheet-of-music u got!

      3. The time such engineer, programmer and network (the systems are the network) administrator spends daily is never valued. System administration day my ass... I didn't went to holidays in 5 years long...

      4. 3 months mean 3 months and not 1 month...

      5. 1 year means 1 year and not 2 months ...

      6. It's definitely the bad karma U get from someone who wants to see a flow, and the programmer that needs to break (own) standards because of that flow that needs going on ...

      7. It's the pressure you get, the daily job, it's nice to do but let us to it on a normal way and not in a rush?
      8. It's not only the pressure, but the overpressure, once you get the pressure to change your habits to a fast economic standard, you will deliver more quanity and less quality.

        Coding by hand is less fast than using Dreamweaver, but, there are middle-ways like using Dreamweaver as basic and optimizing/tainting/cleaning out the code by hand afterwards ...

        Those things take time, if you would need three months for a project it means setup time, work time and ending time; the ending time are te finishing touches a painter does to his painting, the ending of a book and the ending of a movie; just the same with such projects...




    A system administrator who wants more system-administration-days :)
    --
    --- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..