If the CFO rules, as appears to be the driving force in most organizations, then the cost of business software development (BSD) has to be offset by a Return On Investment (ROI) generated by the end product.
I have seen BSD projects fail for the following reasons (not inclusive or in any particular order, by any means):
1) loss of key team member
2) adding team members to accelerate production ("throwing more bodies at it")
3) unexpected problems with technology choices
4) undocumented "critical" requirements after development starts
5) a shift in target user group
6) failing to address more difficult issues early enough (doing "the easy stuff first")
7) trying to address code defects (bugs) as "next release" issues
8) pushing "lessons (not) learned (from every other project failure)" to a proposed next release which requires a cost-expenditure (time and money) exceeding any anticipated return
9) a prototype actually becoming the product (too much time and money spent developing it to throw it away)
10) some RAD development process locking the BSD into an I/O of data which prevents flexibility (change, as described below)
11) development without commenting or documentation making maintenance and implementation of new features cost prohibitive
12) adoption of policies and procedures which lock developers into a specific technology (which may or may not survive the next X years)
13) attempting to re-engineer outdated code which can take as long or longer to produce the same features (a zero-sum gain)
How many BSD projects have their ROI calculated over a fixed period of time? It may take six months to develop a product that ends up having a life expectancy of five years. Where is that in the typical "12-month return" equation? Some applications are band-aided to reach a 10-year life. How does that figure in?
Added features drive up the cost, sometimes to the point of creating a negative ROI. But often those marginal gains prove to be breakout points for organizations in an industry - the "AH-HA!" moments that thrust an organization to that "next-level" of success.
Business is fluid. Providing a level of (not data-centric, but business question-specific) information only serves to raise a whole new set of questions. Change is not only a constant in business, it is (and should be) a requirement for the data (information) providers. And yet, any change in a BSD project increases costs which, in turn, jeopardizes the support for the effort.
If the result of BSD is viewed as a corporate asset, the value of which is dictated by a positive ROI, then do any really succeed?
If so, how?
< M!ke >
I am not a hamster and life is not a wheel.
I have seen BSD projects fail for the following reasons (not inclusive or in any particular order, by any means):
1) loss of key team member
2) adding team members to accelerate production ("throwing more bodies at it")
3) unexpected problems with technology choices
4) undocumented "critical" requirements after development starts
5) a shift in target user group
6) failing to address more difficult issues early enough (doing "the easy stuff first")
7) trying to address code defects (bugs) as "next release" issues
8) pushing "lessons (not) learned (from every other project failure)" to a proposed next release which requires a cost-expenditure (time and money) exceeding any anticipated return
9) a prototype actually becoming the product (too much time and money spent developing it to throw it away)
10) some RAD development process locking the BSD into an I/O of data which prevents flexibility (change, as described below)
11) development without commenting or documentation making maintenance and implementation of new features cost prohibitive
12) adoption of policies and procedures which lock developers into a specific technology (which may or may not survive the next X years)
13) attempting to re-engineer outdated code which can take as long or longer to produce the same features (a zero-sum gain)
How many BSD projects have their ROI calculated over a fixed period of time? It may take six months to develop a product that ends up having a life expectancy of five years. Where is that in the typical "12-month return" equation? Some applications are band-aided to reach a 10-year life. How does that figure in?
Added features drive up the cost, sometimes to the point of creating a negative ROI. But often those marginal gains prove to be breakout points for organizations in an industry - the "AH-HA!" moments that thrust an organization to that "next-level" of success.
Business is fluid. Providing a level of (not data-centric, but business question-specific) information only serves to raise a whole new set of questions. Change is not only a constant in business, it is (and should be) a requirement for the data (information) providers. And yet, any change in a BSD project increases costs which, in turn, jeopardizes the support for the effort.
If the result of BSD is viewed as a corporate asset, the value of which is dictated by a positive ROI, then do any really succeed?
If so, how?
< M!ke >
I am not a hamster and life is not a wheel.