I made a list various factors I have considered, more or less formally as the case may be, when estimating the value of undertaking a development project.
When I thought about how I measure these factors I found that I generally think of them as each having a probability-distribution.
Instead of "This feature will cut response time in half", something like "This has a 90% chance of getting of cutting response time by 10%, and maybe a 30% chance of cutting it by 60%."
What factors do you find are most worth spending time to consider?
How might you express those factors in making a go/no-go decision on a project?
Examples, in no particular order:
Value Factors: What will we get from this software?
- capabilities - but then I ask, what is the value of each capability?
- What is the "total market available" for this software/feature?
- How much of that market can we expect to get?
- What new markets will this get us into?
- What cost(s) will this feature help us avoid or reduce?
- What value does this bring to our team - new skills, experience, etc.
- How much fund will this be?
- Synergy with other projects?
- What is the time-to-market value? (what is the value of releasing early vs. later?) Taken to the extreme, that question turns into a cost question: "What is the cost of not releasing at all?"
- Reputation value: What value does this bring to our brand?
- Labor costs
- Hardware costs
- Licensing costs
- Costs associated with various risk factors:
- Reputation cost for overreaching.
- Human cost (burn-out, staff turnover) of doing too much.
- New or increased legal or financial liabilities.
- Delay to other projects.
Technorati Tags: estimating, software development