Slashdot Mirror


Is Your Development Project a Sinking Ship?

gManZboy writes "Everyone knows that some software development projects succeed and other fail -- the question has always been 'why'? I'm sure we all have our favorite (likely anecdotal) explanations. Well, these guys decided to actually go out there and do a formal survey, and they've got some real data on why projects actually fail (as reported by development project managers -- care to guess where 'changing requirements' ranks?). They've developed a diagnostic formula people can use to gauge the likeliness that the project they're working on right now is (or isn't) going to fail."

20 of 494 comments (clear)

  1. Project Management Authority by fembots · · Score: 5, Insightful

    I used to blame "constant client requirement changes" for failed projects as suggested by my project manager.

    Later I realized, as suggested by the senior management, that a good project manager should not let that happen had he properly designed and managed the project.

    Recently I started to think that maybe all failed projects are due to the delays inevitably imposed by the senior management who requires many policies/protocols/documents/approvals/discussions before signing off the budget.

    These delays introduce deadline pressure to project manager, and allow too much time for client to ponder about other features, and most importantly, give breathing space for competitors to come up with similar products BEFORE we do.

    1. Re:Project Management Authority by Linker3000 · · Score: 3, Insightful

      I used to blame "constant client requirement changes" for failed projects as suggested by my project manager.

      My experience shows this to be quite valid sometimes regardless of how much project control you attempt - a classic scenario goes like this:

      1) The customer is invited to a 'proof of concept' or 'milestone' demo of the proposed system

      2) The customer requests new features or amendments to original spec

      3) The new features are subjected to a cost/benefit analysis by both parties

      4) Customer wants the changes and so the contract clause relating to 'additional or amended requirements' kicks in and a new pricing structure is drawn up.

      5) Customer complains that they are being 'forced into a corner' with the new charges - they want everything completed but aren't willing to pay the extra but feel that if they don't agree you'll walk away from the project

      6) Developers have to decide whether to make the amendments within existing budget, even though it's additional workload, or insist that the customer covers some or (hopefully) all of the charges.

      7) Customer complains and says they won't pay - OR they agree, but you just know that at the end of the contract you'll get a serious amount of grief trying to extract the full and fair cost of the work from the customer.

      8) Customer pulls plug and takes your proposal elsewhere for someone else to work on, or you decide to cut your losses and jump ship anyway.

      --
      AT&ROFLMAO
    2. Re:Project Management Authority by jeillah · · Score: 5, Insightful

      Most products specs I've seen lately are what I call CYA specs. They ask for things that are comprehensive enough to keep the blame away from the analyst even if the requirement is for things that are difficult to implement and probably never used by the end user. A prime example of this is requirements for searching and reporting. The spec will call for the ability to search or report on any field or groups of fields, as determined by the user, with multiple search criteria for any field with the data sorted on any field. And it has to be simple enough for a non-technical user to use (no fair making them enter SQL). Chances are it will only make sense for the user to view data in a few ways so why not define these ways and put that in the spec? Nope, cause they might miss something and they'd be shamed for life. Better to just put "I want everything I can think of and might think of in the future" in the spec and complain that the project is behind schedule and is too big and runs too damn slow when (if) it is finally delivered.

      In case you can't tell, I'm in the process of reviewing just such a spec from our legal department right now. Specs written by lawyers are pretty but wordy without really saying what exactly they want...

    3. Re:Project Management Authority by persaud · · Score: 3, Insightful

      Fork the spec for query building into two sections.

      One where real requirements analysis yields the top ten most valuable and requested queries + report templates. This can be handed off to a designer who creates an efficient and highly usable interface.

      The second spec is for a generic ad-hoc query and reporting mechanism. Since the need is so very generic and so very unpredictable, prudent analysis concludes that a buy solution would be more practical than a build solution. Therefore, buy a generic reporting solution like Crystal Reports to meet the generic needs of the generic spec.

      Finally, create separate cost, development and user feedback tracking for the two reporting subsystems. Review at 3-month intervals.

      The winner will be clear sooner rather than later.

    4. Re:Project Management Authority by Mr_Huber · · Score: 5, Insightful

      The difficulty here is making absolutely sure the client and the mangement know the difference between a working prototype with canned data and a fully functional application capable of handling real world situations. All to often, I've seen really good prototypes either turn into the actual product, or be the source of unrealistic estimates of project status. (After all, if the demo works, how hard can the rest be?)

      I remember reading an article by Joel Spolsky where he advised to deliberately make the UI for demos less than polished. Make it look like something that was knocked together. Make it too pretty and the client will think you're almost done. After all, to the client, the UI is the app. If that looks done, the guts of the thing must be near done as well.

  2. "changing requiresments" less bad than no change by Anonymous Coward · · Score: 4, Insightful

    Changing requirements is far less bad than a frozen spec based on overanalysis by MBAs who never spoke to customers.

  3. I blame perfection by Anonymous+Crowhead · · Score: 5, Insightful

    People who sit around for months or years trying to design the perfect system. It doesn't exist. Compromise gets projects done.

  4. the real question is, using their formula... by testednegative · · Score: 3, Insightful

    ... did they fail or succeed?

  5. Projects fails because no one ever learns by Ckwop · · Score: 5, Insightful

    It's as simple as that unfortuantely - we *never* learn from our mistakes. Over the last thirty years every system we can dream of has been built from nuclear power plant control system to stock market analysis systems.

    Yet we keep playing the buzzword bingo with our new systems, e.g. "Extreme programming", we still keep promise a schedule we can't keep to, we still allow the customer to shift requirement much later in the project than should be allowed, management still don't have enough dialog with the programmers on the ground floor, the list goes on..

    Wake up! We're not special.. the construction industry has been doing huge projects of equal complexity for centuries. Get past your intellectual snobbery and start working together..

    Simon.

    1. Re:Projects fails because no one ever learns by VeriTea · · Score: 4, Insightful
      I would repeat after you, but what would I gain by repeating something that isn't true?

      Ok, there is a lot of truth there, but to dismiss the analogy out of hand is to miss some very important lessons. My dad manages large-scale construction projects so I know a little bit about the industry.

      Some lessons that may relate
      1. The team that designs a project is always different from the team that constructs the project. They are seldom even from the same company. The client gets to arbitrate between the two when conflicts come up.

      2. Many projects are extensively estimated after design, but before construction by the constructor (who has much more experience and motivation to accurately assess project costs then the designing company).

      3. Design firms, and construction firms often specialize in very specific types of buildings (i.e. one company may construct only clean-room facilities, another company designs only bridges, etc.). When companies take on specialized projects that they have no institutional experience with, they often fail spectacularly.

      4. The designing company divides the project design documents into known specialties. Metalwork, brickwork, glasswork, electrical work, etc. There are hundreds of catagories, and the design documents break out the project into those standard catagories. When the construction company builds the project, they hire subcontractors to perform work in each specialty. The company that does the glasswork has lots of experience with glasswork. The company doing roofing has lots of experience with roofing, etc.

      5. Changing the design in mid-construction (which always happens) cost big bucks. No exceptions.

      There are more, but I'm bored with this post so I'll stop now.

      --
      --- There are two kinds of people, those who accept dogmas and know it, and those who accept dogmas and don't know it
  6. Ratio of Intelligence to Project Complexity by severoon · · Score: 4, Insightful

    I've done a lot of thinking about this...I've come to the conclusion that too often, management tries to replace good ol' fashioned thinking with process. It doesn't work. People tend to get focused in on what they're doing to the exclusion of all else, and that means the smart people are cubbyholed and only have half the story and can't see where other parts of the project are failing, and dumb people have free reign over their little part.

    If the ratio of intelligence to complexity is too low, then the project will fail no matter what process is in place or who is managing it. That's all there is to it. There's a lot of cool stuff out there to be done in development...sadly, most of the good ideas will never make it because the people working on them don't use common sense and best practices...they're just not smart enough to see what's important and what isn't.

    This isn't one of those self-important diatribes from a holier-than-thou developer, either...true I'm a developer, but I admit when I'm too dumb to handle the particulars of a project; usually, that means the project is too complex for most people, but they press on anyway. Those projects always go down in flames eventually.

    You have to know what the strenghs and weaknesses of your team and its members are, and exploit those to the fullest. Maybe, then, you can barely accomplish a project if the goal of that project is simple enough.

    --
    but have you considered the following argument: shut up.
  7. Blame the P.M. - usually by jacobcaz · · Score: 4, Insightful
    Every project, whether it's a development project, implementation or business process engineering, that has failed for us has been because of poor project management. Period.

    We've had people who didn't know how to accurately scope business requirements, get buy in from other departments and generally "play nice" enough to keep everything running smoothly. Your P.M. needs to be able to be a hard ass, but also to be a buddy.

    It boils down to excellent management skills and excellent people skills and without both you're setting a project up for disaster. A good P.M. needs to know when to tell senior management it's asking for the impossible too, and a good P.M. needs to know he has kung-fu so he can get away will telling senior management their idea won't be implemented.

  8. Skill sets for Project Management by ag4vr · · Score: 5, Insightful
    One key element that appears to be missing is the qualifications of the manager or management team. Project management is a different skill set from design or development.

    It's not to say that a good designer or developer cannot be a good project manager; it's just a different job, like asking a plumber to rewire your house.

  9. Correct, but there is more by Interfacer · · Score: 4, Insightful

    Not only do client requirements change, but management is also responsible for fubaring things.

    i have been part of a project (past tense) where:
    - management delivered a much too low cost estimate in order to get win the bid.
    - management then expected the project manager and team to meet the deadlines that were doomed in advance.
    - the software design lead designed a behemoth of a framework full of performance and design issues.
    - management did not understand that if you have unexplained system behavior, you cannot say when you will have solved the problem.
    - hardware design was not reviewed, just like software design. this lead to huge problems just before and during acceptance.
    -near the end of the project, more and more people were reassigned to a new project that has the ability to make the department manager look good to the head office. he wants to move up. In effect, succes of the former project became a more and more distant possibility until failure was assured.

    and there are probably some other things that i either forgot or purposly left out (trying to repress memories maybe ;)).

  10. It always comes down to people by Anonymous Coward · · Score: 4, Insightful

    It ALWAYS comes down to people. This article looks to be a discussion relevant more to a commercial environment than an open source one, but I guess the same fundamental principle is true - without the right people you will not succeed. This means competent and motivated technical people, clueful and skilled management, and customers willing to be reasonable and pay for what they are getting. Take away any one of these elements, and there is no technique in the world which will result in something everybody can define as a success.

    These guys break down the problems into useful categories, which will be helpful for good teams who want to know how to be more efficient. But for my money a group of serious, decidated people who honestly want to get the job done and do it well will usually get there, barring external factors beyond their control messing it up. It might take a while, cost $$, etc. but they'll make it, because they WANT to.

    Many (I would even say most) successful open source projects succeed because they have one or several individuals willing to put the work in to make something happen. The tools they use or the way they work are less important than determination to get it done and do it well. Those without that wither on the vine.

    In theory, commercial companies and development teams should be motivated by the $$ they are paid, but that doesn't always translate into doing the job well. There are PHBs, lazy workers, unreasonable customers, and all the other joys of life out there. There is no magical "business formula" which can transmute this combination into a good product.

    Don't get me wrong, project management and efficiency techniques are a very good thing, but only when you've got the people to make good use of them.

  11. Do you have evidence of this? by expro · · Score: 3, Insightful

    I have lots of evidence of failed projects due to failure to plan.

    It can take months or years of thought and discussion to reasonably avoid extreme catastrophies.

    While it is silly to try to plan every detail and anyone who claims to do so is lying, a simple elegant, successful general approach is seldom the first one to pop into the head. It takes a lot of thought. Of course, for those incapable of such forethought, why not fail earlier rather than later.

  12. Construction Analogy Fundamentally Incorrect by irritating+environme · · Score: 3, Insightful

    In 90% of the subprojects of construction, a manager can walk by in a few seconds gauge: - progress - quality of work - time to completion - implications to dependent subprojects Can't do that with software.

    --


    Hey, I'm just your average shit and piss factory.
  13. Re:A classic one for me by SoTuA · · Score: 5, Insightful
    When your project manager hands you a project started by a rookie and tells you, "It's 95% done. All you have to do is the final touches."

    Aaaah, that one is subject to the 95% rule:

    The first 95% of the project takes 95% of the time, and the remaining 5% takes the other 95% of the time"

    (loosely quoted from some fortune)

  14. Lot's and lot's of project failures by archilocus · · Score: 4, Insightful

    I'm working for a large Telco doing roughly 80-120 IT projects every calendar year worth about $200M. Most of them get through in one way or another, but some fail spetacularly and all of them have ridiculous overheads, delays and frustrations.

    Best example of a crash-and-burn is a transaction engine designed to process a simple text file from another company. Should have been 6 months/$500K, project actually folded at 2 years / $3M and now we're going round for a second bite at the cherry (but with a new project name!!!).

    Why do they fail ? Lot's of reasons.

    Sometimes the user's requirements are unclear. Sometimes we're using the wrong spanner for the job. Sometimes the team loses the plot and we get a jumbo jet when we wanted a paper air plane. And we're always under pressure on time, but that's business - if we don't get there first someone else will.

    What's the root cause?

    Complexity. We let our systems get too complex and now a two line code change can cost >$500K because the down stream effects will hit ten other systems that generate $1M/day of revenue.

    The moral - KISS. Use the simplest solution for the job. Don't let the sales guy run away with it, don't let your geek-ego run away with it, don't let the user's get over excited and your project might just come in on time on budget. As someone else said... it isn't rocket science... or shouldn't be...

    --

    Don't look back the lemmings are gaining on you

  15. After I RTFAed... by Eneff · · Score: 5, Insightful

    Thanks mirrordot!

    Tiwana and Keil were asking MIS directors what *they* thought, not project managers or developers, leading me to believe that this is more based on client perception than someone with experience working on said projects.

    That said, they ranked changing requirements last when talking about risk of failure, and actually said that inappropriate methodology was the top reason of project failure.

    Now, while a lack of any sort of methodology is a disaster waiting to happen, I have a difficult time believing that a bad fit for a project creates more risk than project complexity and shifting requirements combined, as they suggest.

    *sigh*

    Do you really believe that a client is going to place shifting requirements as a risk? After all, they're the ones asking for the changes!