Enterprise Decision Management and the future of application development
(Posed by guest blogger, James Taylor)
I read an interesting paper by Joseph Feiman of Gartner today - Prepare for a Paradigm Shift to Automated Application Development. This is described as "maverick" research but I thought it was pretty compelling. Here's the (free) summary:
Gartner's forward-thinking "maverick" analysis strongly suggests that the long-awaited convergence of economic, technological and cultural factors promises to make automated application development a reality at last. Enterprises, application developers and IT professionals in many areas should use this assessment of the developments to come in order to fundamentally reassess their approach to this critical task.
Joseph talks about the challenges of poor productivity in application development combined with both skills shortages and evolving technology driving us towards automated application development. He sees this causing a move away from purely technology-driven developers to those able to use technology to solve business needs and a general trend that application development is not just for developers any more - something we already see with mashups and knowledge workers building their own reports.
Clearly the combination of Business Process Management (BPM) on a Service-Oriented Architecture (SOA) is important to this idea. Equally the processes that are more repeatable and formalized are more likely to be automated in this way - especially those with what Joseph calls "algorithmic" decisions - decisions that can be described in terms of rules and formulae. Enterprise Decision Management, with its fit with both BPM and SOA and its ability to put non-technical developers in the driving seat when it comes to the "algorithms" being used is part and parcel of this trend with the added advantage that you can use it now, without having to automate the whole application development process.
Indeed, EDM addresses (or helps address) some of the problems of human interactions caused by the differences between business people and technical people. By providing a way for business and IT folks to collaborate on applications, especially on the core decisions within them, EDM paves the way for business-driven ownership of application development and evolution.
Joseph sees that application composition and built-in agility are key and he identifies rule engines as part of the technology stack for this. He goes on to talk about "rule-driven composition" which is a great phrase, although I would talk about decision-driven composition as decisions can be based on rules, analytics or a combination of the two and that makes more sense in a modern, data-rich enterprise. Like Joseph, I see roles such as business modeler and business rule manager surviving even as more narrowly focused technical roles become automated.
I also though his point about extending to third parties - supporting an extended enterprise - was worth nothing. In fact it prompted me to blog my list of criteria for a smart enough system.
Even if you think the automation outcome he discusses is unlikely any time soon, he makes some great points and the report is definitely worth a read. Regardless of how right he is about the automation of application development, EDM should be part of your planning as it addresses some of the critical issues he (and others) see in application development and does it now with technology and approaches that are proven already.
Some other posts that seem relevant include:
- The problem with programmers
- Does everyone event WANT to write software
- The secret of business user rule maintenance