Wednesday, April 19, 2006

Outcome Orientated Solutions

The Problem

When developers are faced with a problem, it is natural for them to immediately go into 'Solutions Mode' and try to work out how they would implement a system to provide a full solution to the problem. They quickly get into the technical detail, and tend to forget to look at the wider picture.

The Solution

It is important to be Outcome Orientated at this stage in the game and look at the simplest way to provide the outcomes required by the business, and not to assume that a full system implementation is the only way to go.

Cost Benefit

This is all about business value. If we can get a solution out there quickly and cheaply, doing the job and delivering value for the business, then the cost-benefit is far greater than if the full technical solution spends an extended time in development. We will have spent less money on development, and we will be deriving more business value by having the solution out there earlier. Once the initial solution is in place, the business can make the call whether to iteratively progress it towards a more complete technical product, based on cost, risk, performance etc.

Maintaining Quality

Getting a product out there quickly doesn't mean that we hack together some code as fast as we can. All code should be Test Driven, and of the highest quality, and we should never cut corners here to get to market more quickly. We should just look at different ways to deliver each outcome other than developing a full technical solution. For example, instead of a web application form integrating with all the back-end systems from day one, it could write out each application to a file, and a process could be defined where the entries in this file are processed manually. This could later be improved if the business considers that this is a good use for their budget.

No comments: