Setting up a Triage
Written by James on Wednesday, 21 of November , 2007 at 7:49 am
Today I was reading about the medical practice of triaging and thinking about how it relates to software development. A software development triage is a common practice for projects in trouble. So how does one set-up a successful triage for their project?
What is a triage?
A triage is a way of rationing limited medical resources, typically in the event of a disaster. The purpose of a triage is not “normal” medical treatment, which seeks to help and heal everyone receiving treatment. A triage is setup to let people die by intentionally denying them treatment so that others more likely to survive can receive treatment. The result is a net gain in the number of lives saved.
What does this have to do with software development?
For a failing project, a triage is setup to let features, requirements, and bug fixes “die” so that others may be implemented. The importance of the task-at-hand is secondary to the probability of success.
This can sound counter-intuitive: Why would you complete less important tasks and let more important tasks die? Two reasons:
- You will have tangible results, and more of them.
- It will force stake-holders to increase the probability of success for the tasks most important to them, which means that more tasks can be completed.
How does a software development triage work?
Just like with a medical triage, tasks are “tagged” to indicate their priority, based on their likelihood to succeed.
- Tasks that cannot realistically be completed within project constraints (time, quality, budget), get marked and left to “die.”
- Task that can be completed within project constraints, but are at high risk failing get immediate attention.
- Tasks that can be completed within project constraints, and are at moderate to low risk of failing get prioritized accordingly and receive attention after the high-risk (but possible) tasks.
Once a triage is setup, it is important to constantly monitor it. Tasks “left to die” may receive the resources needed, and tasks that were once low risk may suddenly become high risk (if this happens often, consider a reverse triage).
Just as a medical triage consists of controversial and difficult ethical decisions, a software development triage will consist of similar business decisions. It is therefore a politically difficult thing to do, so be sure your project is truly in need.
Once the project is back on track, the triage should be ended and regular development should resume. Just be sure that “regular development” is not what created the need for a triage in the first place!
Category: Best practices
- Add this post to Del.icio.us - Digg - reddit
No comments yet.