
First, let me say that I'm speaking anecdotally here. I'm not a doctor, nor do I have any medical training. But recent experience has shown me that most medical practices and procedures are by and large an agile process.
Right now, both of my children are sick with some sort of virus. At least now they are calling it viral, even though they started them both on Anti-Biotics this past weekend for other reasons (possible strep and swollen glands). But that's probably for the best, since my daughter has now developed bronchitis on top of that, and so the AB's should help. Personally, I can't imagine how'd I'd be faring after days of 102+ fevers. While my daughter is showing signs of improvement, my son is on the downward slope, trailing his sister--- so the "prediction" at this point is "he has whatever she had, so we can probably expect about the same course". It certainly seems like there's a lot of guessing going on here.
My point in all this is not to complain about the level of medical services being provided, but rather to illustrate that in most cases, the medical methodology is simply to look at the symptoms, make an initial diagnosis based on available information (which is never complete), TRY/DO SOMETHING, then collect feedback in the changing environment, revise your plan, and repeat.
Does that sound familiar? Kind of sounds like agile development to me. Or let's put it another way. Can you imagine demanding a fixed-bid quote from your doctor before treatment? Maybe you could give them a written down RFP of what you think your symptoms are-- or if they are lucky you might even let them do a quick examination (but only if they insist, and only if they will do it for free).
Would you really want to farm out your health to the lowest bidder?
Think of the change-order bueracracy that would have to ensue, as you lay dying on an OR table (no wait a minute, anethesia is not in this contract- and it's not actually required)... you can survive fine without you pinky finger, so don't try to tell me that's a critical defect!
No, all of that is silly. I'm not saying there isn't real negligence that happens in the medical profession as evidenced by malpractice lawsuits- but implicit with any procedure is a "barring any complications, this will cost about $xxxx" type of "contract". And remember.. medicine is probably more of a science than writing software! How or why do we put up with this? Because the one absolute is we TRUST our doctors.
We trust them to have our best interests at heart. We trust them to take whatever action will get us a little closer to better ("done") given the current circumstances. We trust them not to take risks with our health without first talking it over with us, making sure we understand, and ultimately in the end letting US choose what procedures will be implemented.
Why can't software development be more like this? That is, built on trust, working in partnership, having comon goals, and always dealing with current realities to do what's best NOW. We can. Mostly, what gets in the way are contracts that are written to either allow the customer to take advantage (fixed bid) or the vendor to take advantage (time and materials). I'll write more about the alternative contract types later this week, but right now I want to focus on the vision.
We can make things better. All we need are a few brave people- vendors, customers, and leaders to insist that we do.
First, let me say that I'm speaking anecdotally here. I'm not a doctor, nor do I have any medical training. But recent experience has s...