Content Copyright © 2017 Bloor. All Rights Reserved.
This blog was originally posted under: The Norfolk Punt
In the course of a long life in IT, I’ve seen the view that “IT people must understand the business” increasingly complemented with an enthusiasm for end-user computing, often based on model-driven development using visual models and their associated metadata repositories, largely directed by business users and business analysts. This is healthy; we don’t want a binary choice, either “IT Gods” or “business end-user cavaliers”; we want a collaboration between business-focused technologists and technology-aware business users, leading to more effective business automation, delivered faster and more reliably.
However, there is an implication to this approach that is often overlooked: not only must the IT people understand the business but the business users have to understand logical concepts such as consistency, disambiguation and completeness. Business users do not always fully understand their own processes, let alone related processes elsewhere in the organisation. If the business tries to build (or specify) something that is logically ambiguous or doesn’t cover all the options, someone (usually a technologist) will have to fill in the missing bits or resolve the ambiguity issues and will probably choose what is simplest to build or easiest to understand; not necessarily what is right for the business. True, this might be corrected in testing, but since testing removes, in practice, only a percentage of defects, it is more effective (and a lot cheaper) not to build in defects in the first place.
A good business-automation development environment should encourage business users to produce higher quality business requirements, initial models, specifications or whatever – it should encourage them to think in terms of completeness (or, at least, in terms of well-defined omissions), consistency and removal of ambiguity. This, in turn, implies mentoring and machine assistance – the use of automatically-validated decision tables, for example, encourages clear and logical thought.
Getting specific, Kramer Reeves (CMO & VP Product Marketing, Sapiens DECISION) puts it like this, while telling me about the new features of Sapiens DECISION Suite v6.2: “The way Sapiens DECISION removes ambiguity is powerful and helps train business analysts (and by proxy, their business leaders) to think and communicate with IT in a way where both Business and IT are able to agree. The ability of DECISION to incorporate principles (15 of them from The Decision Model, a Business Logic Framework by Barbara von Halle and Larry Goldberg) ensures that the business is really giving IT the business logic and requirements in a form that is ready to implement, maintains operational integrity and empowers the business to embrace change frequency rather than avoid it”.
Something similar could apply to any development environment based on a machine-validated, standards-based repository-driven model, of course, depending on how well it is implemented (and the implementation shouldn’t be taken for granted). I do think that Sapiens DECISION does it well, although it is not a complete application development environment (it handles decision logic specifically and complements the broader development of business automation generally). What I am really saying, however, is that your selection criteria for a model-driven development environment should include its ability to help improve the quality of logical thinking in the business as well as its ability to make IT technicians more productive.
The key new capability delivered by this latest version of DECISION, is support for “proxy” versions of policy documents, etc., so that not every document supporting a decision model has to be held in DECISION, you can hold a pointer, with associated information, back to, for example, a paper document, if you want to. This supports the maintenance of clear linkages between a changing decision model and the source of the original change request. In other words, near-real-time traceability between business logic and policies, regulations and requirements. This latest release also improves usability, as you’d expect, and provides improved impact analysis and better change management.
I like the way DECISION is going. It already has natural-language capabilities; in future releases, I’d like to see these improved still further, perhaps with an API that allows advanced cognitive-computing services (such as IBM Watson) to integrate with a decision model. After all, as Ginni Rometty of IBM says, “in the future every decision that mankind makes is going to be informed by a cognitive system like Watson [other “augmented inteligence” – AI – systems are doubtless available] and our lives will be better for it” I hope that last bit is true; perhaps one could imagine a cognitive computing link between the POTUS’s Twitter sphere and a decision-management product producing a complete, consistent, non-ambiguous and truthful Decision Model that can drive policy implementation. One can dream…