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

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

    2. 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. So... by Blue-Footed+Boobie · · Score: 5, Funny
    "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"

    So, if I know it is going to fail, do I still have to try?

    --
    DAMN YOU OCTODOG! DAMN YOU TO HELL!
    1. Re:So... by 2A · · Score: 5, Funny

      but what will really bake your noodle later, is would the project still have failed, if I hadn't told you it would?

    2. Re:So... by Neil+Blender · · Score: 5, Funny

      but what will really bake your noodle later, is would the project still have failed, if I hadn't told you it would?

      Dude, Oracle jokes are so next week.

  3. The formula by superpulpsicle · · Score: 5, Funny

    Fair management expectations
    + Well allocated budget
    - Patch fixing firedrills
    - unnecessary marketing spinoffs
    + free donuts
    = success

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

  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.

  6. Cosmo Quiz by brw215 · · Score: 5, Funny

    Is this simply the nerd version of the ages-old cosmo quiz? I fail to see how "The one-minute risk assessment" is any more comprehensive or meaningful than the "Does he think you are fat"-type quizes that make their way through women's magazines.

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

  8. This has already been done by Neurowiz · · Score: 5, Interesting

    ... since 1994, the Standish Group has been publishing the results and reasons of IT projects. Go here for the original report.

    We've gone from about 25% of projects being "successful" (on time, on budget, meeting stated needs) to about 31%. So translated, that means 2/3ds of the time you get into your car or get on an elevator, it'll work as you want.

    Consistently, the top reasons for projects failing, for the past 10 years?
    1. Unclear, poor requirements
    2. Lack of user involvement
    3. Lack of buy-in and support by upper management

    I have to agree with other comments made, this isn't rocket science. We just need some time and maturity as an industry. Civil and mechanical engineering have had thousands of years to work out their kinks. The software engineering science has had to deal with technology and implementation far outpacing our understanding of the basics and principles involved.

    But we're getting better.

    Honestly, if the world at large knew how brittle, fragile and reliant on heroism most of the critical financial and industrial software was, there would be a huge outcry. It's one of the shameful aspects of our industry.

    --
    Neurowiz
  9. It's not magical by beldraen · · Score: 5, Interesting

    Having many years of successful software project management under my belt, I can tell you it boils down to two concepts: professional training and discipline.

    There are a million and one books and surveys and they all say the same thing. First, there is a formal process for the development of anything (not just software). This starts with the formal documentation process and meetings to discover functional and non-functional issues. Second, there is a very strong sense by everyone to want to adjust it a little more. From senior managers who allow scope creap to managers who want steps to be cut to make up time to programmers constantly who rewrite the code because they think they can squeeze 5% more time out of a loop that runs for less than a second in a process.

    Most people do not realize that in a successful formal process that the actual time in a software project that is used to build the software should amount to only about 30% of the project's development time. The other 70% is time spent on documentation, meetings, and testing to ensure that the 30% of time used on software delevopement is actually what the company is needing. And, it is discipline that keeps people on the project process in the face of the fear of not getting the project done right. The process has to be allowed to work, both to reach a project end point and to have unobstructed process from which to learn.

    The part I get a kick out of is that just because people write software or run a company that they somehow think they just ought to know why projects work. If complex systems were just so easy, why would we need formal training? After all, anyone can build a bridge successfully without training, right? I am not being hard on people, though. I had this exact same though years ago and what I figured out is that the vast majority of the software industry is so poorly trained that it doesn't even realize that it poorly trained.

    Successful software development books have been around for more than 30 years. Go read! Better than that, get a university degree. The more liberal the better. Honestly, it is worth it. Here is a good place to start: Systems Analysis and Design by Kendall and Kendall (ISBN 0-13-041571-5)

    --
    Bel, the mostly sane.. "Of course I can't see anything! I'm standing on the shoulders of idiots." -- Me
  10. 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)

  11. Traceability by persaud · · Score: 5, Interesting

    One result of ad-hoc software design and implementation has been government regulation of software in the financial, security and pharmaceutical sectors.

    One result of government regulation has been the emergence of requirements management tools like Borland's CaliberRM and Telelogic's DOORS.

    These tools trace every functional requirement back to a business requirement. They also track the risk (schedule, safety, robustness, performance) of every functional requirement to the rest of the system.

    Vague specification, like vague design is an indicator of not understanding the problem. The first step towards understanding the problem is categorization of ignorance, such as unexpected consequences already experienced by the project.

    Good requirements management tools incorporate practices that have been proven to flush out vague specifications. Good traceability educates upstream participants so they can produce better specs in the future. Better specs yield better products, including better spec management tools

  12. Answer by bonch · · Score: 5, Funny

    "Is Your Development Project a Sinking Ship?"

    Why yes, we make submarines. Hoo-hah!

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