Breaking Up (Applications) Is Hard To Do
by
Charlie Bess
In a blog entry earlier on the book Smart (Enough) Systems, it mentioned:
Remove decisions from applications – I think I’ll write a whole separate blog entry on what this means to me.
For a long time developers have been talking about separating out the business logic from the user interface. With SOA that has become even more prevalent. As we begin to deploy industry based frameworks and have rules engines and other tools that separate out the decisions from the process flow, we could easily get to a state where there are whole teams of experts leveraged within the enterprise. The skill sets would be made up of the user interface (the domain of the designer), the process (the domain of the developer and process modeler) and the business rules (the domain of business/industry experts) and possibly many more. With Labor Day on the horizon, I thought I’d revisit this implication.
The kind of people that will be required to support this separation will have a different background and perspective than those most organizations have today. Software companies are developing special tools for the designer vs. the developer. I’ve written before about the separation of module coding from assembly and the differences between the tools and expertise needed. If we separate out the business decision logic from the process we’ll see another stratification of specialization and leverage (having its own language and tools). I can see this happening what Microsoft is doing with WF as well as many other vendors.
It will be interesting to see if small businesses will take advantage of this first (via SaaS) or if it will take larger organizations to be able to optimize the workforce in this fashion.