Key risk indicators in large-scale software projects (a brief discussion)

A number of times over the past 13 years I have been asked to review an existing (and usually large-scale) IT project, figure out where it stands, and make recommendations as to how to get it back on track. I have found that a small number of questions will usually get me to the heart of the problem quickly. These questions include:

Who is the chief architect? Fred Brooks famously raised the issue and role of the chief (software) architect over 30 years ago in The Mythical Man-Month, and yet many IT organizations still fail to see the critical need for conceptual unity in a given software project. On one project I reviewed, I asked this question of the 40 or so people involved and got several different answers, the most common of which was “no-one”.

Who is the project manager? This is usually more easy to answer — but if it’s the same person as the chief architect, watch out. I know from personal experience that it is nearly impossible to do a good job both as a project manager and a chief architect for at least two reasons. First, for a software project of any significant size, each job is a full-time job, and someone who tries to do both will do neither well. Second, there are inherent conflicts between the two roles — the architect wants to do things perfectly, and the project manager wants to do things quickly. One person carrying out both roles will inevitably (and privately) lean one way or the other.

Who is the chief quality engineer? Remarkably, many IT organizations will not appoint a quality assurance lead for a given project. I was stunned when I reviewed a multi-hundred-million-dollar project and found that there was no separate, formal QA department and no head of QA. It also explained why this project was more than 100% over schedule and over budget. The chief quality engineer is the gatekeeper — s/he stands between the development group and production/shipping. Without that key role, a large IT project can go into a unstable state that never goes into production.

How do you define “quality assurance”? If the answer is simply or mostly “testing”, then you have big, big problems. Testing, while critical, is only a small part of the full cycle of QA activities, including: defining (and enforcing) standards and guidelines; finding project personnel with appropriate expertise; reusing relevant and tested deliverables; setting up and enforcing appropriate configuration management; setting up and using a defect management system, along with an appropriate change control process; gathering useful metrics; conducting appropriate reviews, inspections, and walkthroughs; and having a formal software release process.

Where is your current baseline specification for the project? Years ago, I was brought in a (consulting) chief architect for a subcontractor in a global project coordinated by Motorola. The same day I showed up at the subcontractor’s offices, Bob Millar also showed up as the new program director from Motorola for the scheduled weekly meeting with the subcontractor. Almost the first question Millar asked was: “Where’s your current baseline specification?” The people around the conference table looked a bit confused, so Millar repeated: “Where is the current baseline specification for your subsystem in this global project?” No one could answer him, so Millar continued: “If you don’t have a current change-controlled baseline specification for your subsystem, then how do you know when you’re done?” Millar than made it clear that he was going to raise this issue each and every week until that baseline specification was sitting in the middle of that conference table. Within about four weeks, the baseline was there, in binders, on the table.

What metrics are you tracking, and how are you tracking them? Accurately predicting the progress of a large-scale IT project is almost as difficult and error-prone as estimating it in the first place. There’s an old saw in IT project management that “the first 90% of a project takes 90% of the time, and the remaining 10% of the project takes the other 90% of the time.” The most common metric — # of lines of source code — is only vaguely informative at best and wildly misleading at worst (particularly in object-oriented projects, where rearchitecting and refactoring is the norm). But most other metrics used tend to be subjective metrics — “I [the developer] think we’re about 70% done with this module” — and so largely useless. To be useful, a metric has to be: objective (anyone collecting it would arrive at the same value); automated (to help with “objective” and to allow it to be collected at any time); relevant (actually related to the completion of the project); and predictive (able to predict with some degree of accuracy when the project will be completed).

What is driving the planned completion date, and how is it being managed? A completion date given by fiat from above will almost certainly not be met unless there is a corresponding ruthlessness in cutting features and reducing scope. On the other hand, the lack of any planned completion date almost always result in an open-ended project that never comes to completion. Tying into the QA question above, you need to see if there is a regular, effective, and (when necessary) ruthless change-control process in place, both for prioritizing bug fixes and for controlling or even reducing scope (in the way of implemented or abandoned features).

What is the history of the schedule and budget? Some large-scale software projects get into a pattern that I’ve previously described as “the never-ending story” — a series of schedule slips and budget overruns, typically occurring as the project nears its latest deadline, with the project never really getting any closer to going into production. It may seem impossible to you that a firm could spend years and millions (or even hundreds of millions) of dollars and yet never produce something that can actually be used, but it happens all the time.

What do the engineers in the trenches say? My project reviews almost always include a series of confidential, not-for-attribution interviews with the engineers down in the trenches — and while they may or may not have a global picture of the project, they usually have a pretty good idea of how things are going in their specific area, and they’re usually honest about it when asked. Bad news tends to get filtered as it moves up the food chain. Often the result is that at the highest levels the project appears to be doing just fine — until three weeks before completion, it suddenly slips another 3-6 months.

No big secrets or fancy analysis. These few questions, honestly answered, will quickly flush out most of the trouble areas (if any exist) in a large-scale IT project.

Bookmark this story: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Google
  • Slashdot
  • StumbleUpon

2 Comment(s)

  1. I could not agree more, especially on the need for a chief architect. I am not a professional software developer, and I don’t work for IT, but I am a fairly experienced programmer and I do have some intuitive understanding of how software architecture is done. So when I was allocated on the project team for a sizeable IT project, I foolishly looked forward to having stimulating and interesting discussions with the professionals. It took me about a year (!) to figure out that where I had presumed the existence of at least moderate architectural skills, in fact a gaping void was present. Actually nobody on the project team dared to claim any architectural skills, or had ever designed a system of that scale. We had wasted an impossible amount of time on pointless discussions before we finally hired a consultant to help us. He now has to design an architecture in two months; it will probably be OK as a technological platform but there will be a gaping void where the conceptual structure ought to be.

    But I would like to add one more serious issue which tends to arise, perhaps because of the very nature of the IT business. That is the tendency of software teams to live in “data world” where everything is in computer memory, and real things have lost their existence. That is perhaps understandable enough for a web application, and in our modern times even for financial systems which in the end most often do deal with numbers in computer memory. It gets rather more troublesome when applications do have to interact with objects in the real world. Symptomatic for this is that the software developers have only ever seen their own office, the IT manager’s office, and of course all the meeting rooms; but never the work floor, production plant or laboratories. They have identifiers for things and devices in their systems, but they can’t image what the actual objects look like. As if one would try to write the system software for a car assembly plant, without knowing what a car is. It does happen. And it makes it almost impossible to arrive at a “baseline specification”.

    Mutatis Mutandis | Jan 22, 2008 | Reply

  2. Excellent observations.

    I hadn’t thought that much about the ‘controlling the real world’ issue because so many of my projects during the first four years after I graduated from college were just that: software that controlled real-world objects. These included: an oscillation-dampening system using a hybrid analog/digital computer (proof of concept for large-space structures); the Space Shuttle Flight Simulators at NASA/JSC; an HP graphics terminal emulator to drive a large-bed (6′) Houston Instruments plotter; and embedded software for various data acquisition devices. So I just take such things for granted. ..bruce..

    bfwebster | Jan 22, 2008 | Reply

Post a Comment

You must be logged in to post a comment.

  • viagra discounts
  • cheap drug drug levitra propecia
  • california acne treatment
  • online pharmacies for propecia finasteride
  • buy propecia online from dreampharmaceuticals
  • lowest cost for cialis 20mm tablets
  • cialis the sex pill
  • generic viagra overnight
  • tretinoin cream 0.025
  • penis vacuum pump
  • buy tramadol online
  • order viagra cialis levitra pharmacy
  • new drug cialis us licensed pharmacies
  • levitra and more cialus
  • buy zyban online
  • target pharmacy prices
  • tadalafil in us
  • buy canada in propecia
  • online pharmacy levitra
  • buy viagra cheap
  • buy cheap viagra in uk
  • viagra online stores
  • finestride instead of propecia
  • pill cutter propecia dosage
  • drug for impotence levitra
  • generic viagra overnight delivery
  • buy cheap levitra online
  • chronic renal failure and flomax
  • cialis in the uk
  • viagra generico impotencia
  • xeloda
  • generic cialis vs brand name cialis
  • overnight viagra
  • ordering generic cialis from india
  • tramadol online
  • 1 mg order propecia
  • buy levitra on sale online
  • german viagra substitutes
  • get propecia prescription
  • wal mart pharmacy
  • smoking with zyban
  • impotence medicines levitra dosage
  • best best price on generic propecia
  • tramadol medication
  • cost levitra
  • tramadol propecia
  • best price propecia
  • cheap cialis generic
  • lilly cialis
  • puchase propecia online
  • no prescription sleeping pills
  • buy generic norvasc
  • zoloft prescription online
  • cialis generic online
  • sildenafil citrate purchase
  • drug online pharmacy
  • no prescription us pharmacy
  • cialis canada online pharmacy viagra
  • cipro 500mg
  • cheap 60mg prozac
  • amoxicillin dosage 500 mg
  • buy discount viagra online
  • canada online pharmacy
  • is citalopram used for aniexty
  • generic tramadol 25mg
  • online drugs without a prescription
  • wellbutrin xl $102.76 300mg
  • order watson soma
  • generic amoxicillin cheapest no prescription
  • buy accutane online
  • where to buy generic drug prescriptions
  • drugs online no prescription
  • celexa clinical uses
  • what are somas used for
  • dosage amoxicillin 500mg capsule
  • non us pharmacies
  • buy discount cialis
  • online drug store
  • canadian over the counter drugs
  • celexa causing nystagmus
  • canadian rx drug medical association
  • synthroid versus levoxyl
  • internet viagra pharmacy
  • cheap propecia online
  • discount canadian online pharmacies
  • levitra versus viagra
  • non prescription drug addiction
  • the use of prozac for adhd
  • foreign pharmacy online
  • lipitor and lichen planus
  • pharmacy online antibiotic
  • what is amoxicillin used for
  • buy soma cheap
  • nolvadex tablets
  • accutane and muscle pain
  • buy viagra online australia
  • buy soma online without a prescription
  • what is doxycycline used for
  • canadian mail order pharmacies
  • cialis soft gel india
  • discount drug store online
  • buy 60 mg prozac fluoxetine
  • accutane cause hair loss
  • viagra with money order
  • prostate cancer and propecia use
  • india online pharmacies
  • xenical order without prescription
  • zyrtec 10 mg
  • herbal uk viagra
  • online pharmacy store
  • tramadol 180 count for sale
  • speciality drug store
  • cheapest cialis on the net
  • amoxicillin capsules no prescription
  • cialis discount generic
  • zoloft canada
  • rx online store
  • internet discount pharmacies
  • purchase cialis online
  • indian pharmacies no prescription
  • where can i buy hoodia capsules
  • norvasc can cause tachycardia
  • approved canadian pharmacy
  • cheapest internet pharmacy
  • muscle pain from lipitor or zetia
  • price of accutane
  • buy 100 mg viagra
  • canada drugs store no prescription
  • prescription drugs no prescription needed
  • generic viagra 100mg soft pills
  • cost of clomid
  • cymbalta versus wellbutrin
  • tramadol stay in system
  • amoxicillin use
  • england drug stores
  • discount generic drugs no prescription
  • buy viagra in uk
  • buy viagra online australia
  • buy fosamax 70mg
  • 80 mg lipitor
  • soma san diego music
  • england drug stores
  • amoxicillin online india
  • buy viagra online gay sex movies
  • ordering online drugs
  • celexa versus lexapro
  • discount drugs mail order
  • tramadol online no prior next day
  • usual dosage of lexapro
  • accutane 20mg
  • canadian drugs no prescription
  • fluoxetine versus prozac
  • sweden online pharmacies
  • using carafate and nexium together
  • doxycycline hyclate 50mg capsules
  • zoloft cause weight gain
  • mail order viagra
  • long term use of lexapro
  • cheap drugs online no prescription
  • buyimg viagra in australia
  • lipitor online no prescription
  • viagra without prescription
  • xenical cheapest
  • is clomid bad for perimenopausal women
  • on-line canadian pharmacy
  • canada online pharmacy
  • drug store on line
  • an online pharmacy
  • viagra 50mg sverige
  • use wellbutrin with tenex
  • tablets brand fioricet generic soma
  • using viagra
  • pharmacy checker online pharmacies
  • order propecia online
  • top online pharmacy
  • viagra online consultation
  • what is zyrtec used for
  • my online pharmacy
  • approved canadian pharmacy
  • online drugs without a prescription
  • generic for nexium 40 mg
  • pharmacy's online
  • no prescriptions drugs
  • long term synthroid use
  • online pharmacy no prescription needed
  • antidepressant lexapro tablets
  • tramadol cheapest us price buy online
  • cialis canada rx
  • medlineplus drug information sildenafil
  • diflucan and thrush
  • viagra 50mg online
  • use wellbutrin with tenex
  • celexa tablet
  • cialis rx online
  • cheap cialis pillstore
  • buy carisoprodol online no prescription
  • cialis online buy cialis without prescription
  • generic propecia online pharmacy
  • london drugs online
  • cheap discount online tramadol