Dick Lee had an interesting post titled We Know Where We’re Going, But IT Can’t Get Us There. He made a number of points of which three stood out:
- Business often fails to communicate effectively to IT
- Poor process definition is often at fault
- The business side needs to step up to the plate
The first, of course, is indisputable – communications between IT and people on the business side of the house is notoriously ineffective. While I would agree that process has a part to play in this, I think that the need to specify decision making or business logic has a bigger role to play. Decision making rules change all the time (because markets do, competitors do, regulations do) and they are intensely domain-specific – lots of business know-how is required to understand them. Attempting to turn these into requirements or specifications for code is doomed.
So the business side must step up to the plate, as he says, and start to manage this decision making logic. This requires that everyone agrees what decisions are being made (the basic premise of decision management) and that those decisions are implemented in a way that empowers the business to own the implementation directly. Only then can they change it easily and often enough to make a difference. This means using business rules or some declarative and user-friendly approach to specifying business logic and it means putting some effort in to how the business sees the rules in their decisions.
IT may not be able to get you where you want to go but empowering the business to be part of how systems are built by managing decisions can.