The one thing approach is designed to overcome the classical communication hurdles between application experts and the various levels of IT experts. Technically, it is realized in terms of eXtreme Model Driven Design, a technique that puts the user-level process in the center of the development. It enables customers/users to design, animate, validate, and control their processes throughout the whole life cycle, starting with the first requirement analysis, and ending with the demand driven process evolution over its entire life span. This strict way of top-down thinking emphasizes the primary goal of every development: customer satisfaction.
Why “One Thing”: The Cultural Gap
Globalization is a general and inevitable trend. It started with enterprises and politics and is now increasingly characterizing the process landscape: global operations require a global process modelling, global coordination, and, at least since Sarbanes-Oxley Act and Basel II, global transparency. This trend puts enormous pressure on the process management, its efficiency, its compliance, its reliability, and its agility. Especially in large organizations it requires a large amount of automation and standardization, and often radical re-organization, in order to minimize the total cost of ownership, to control risks, and to protect the corresponding investment. These are necessary preconditions for enterprises to be able to consolidate their business leadership by using innovative processes as their distinguishing intellectual property. At the same time, they need to obey new regulations, like the Sarbanes-Oxley Act and Basel II, which ask for just-in-time audits and retraceability of any business-relevant decision and operation.
This need to be flexible yet comply to changing regulations contrasts with the current state of the art in business process development, where essentially:
Each business process, even if modelled by business developers, requires the manual support of IT experts for their realization,
The (IT-supported) realization is a totally separate `thing´ from the original model, even though perhaps partially and semi-automatically generated from it, and where
Changes in one thing (the model or the implementation) typically do not show up at the respective other level, let alone they are automatically taken care of.
We follow instead a holistic approach to close the classical gap between business-driven requirements on one side and IT-based realization on the other. We provide for this a seamless method called the one thing approach, described below, and a matching toolset that supports this method along the entire life span. The toolset is based on the jABC Framework (Jörges et al., 2006) to cover the business development phase and the business-to-IT transition, and on Integrated Development Environments (IDEs), like e.g. the popular Eclipse or NetBeans (http://www.netbeans.org), to support the IT development and deployment.
The name ‘One-Thing Approach’ (OTA) (Steffen & Narayan, 2007) reflects the fact that there is only one artefact during the whole systems’ life cycle. This artefact is successively refined in various dimensions in order to add details concerning roles, rights, permissions, performance constraints, simulation code (to animate the models), productive code, pre/post conditions, etc.. The central effect is that all stakeholders, including the application expert, can follow the progress from their own perspective (view): initially, application experts may for instance. only browse the documentation and annotate the models, but as soon as some simulation code is available, they may start playing with the system in order to check and enforce an adequate user experience. The user experience gets the more realistic the further the development progresses. This continuous involvement of the application expert allows one to control the harm of the classical business/IT gap, because misconceptions and misunderstandings become immediately apparent.
Key to our solution for reducing this classical cultural gap is the tight combination of two central principles of software and system design: service orientation and model driven design.
Key Terms in this Chapter
Seamless Acceptance: Is a direct consequence of the One Thing Approach: The fact that all stakeholders work on and modify one and the same thing allows every stakeholder to observe the progress of the development at their level of expertise.
Immediate User Experience: is a result of the eXtreme Model driven Design approach, where already the first graphical models are executable, be it as the basis for interactive `what/if games´, documentation browsing or animation. This allows one to early detect conceptual errors in the requirement models.
Hierarchical Service Logic Graphs: Form the modelling backbone of the One Thing Approach. All the information concerning documentation, role, rights, consistency conditions, animation code, execution code,....., come here together.
eXtreme Model Driven Design: Combines ideas from service orientation, model driven design und extreme programming to enable application experts to control the design and evolution of processes during the whole life cycle on the basis of Lightweight Process Coordination (LPC)[Margaria and Steffen,2004].
jABC: An extensible framework designed to support the one thing approach and eXtreme Model Driven Design. It provides tools for documentation, graphical modelling, verification, code generation, validation, and adaptation. In particular it supports the idea of immediate user interaction and seamless acceptance [Haifa]
One Thing Approach: It provides the conceptual modelling infrastructure (one thing for all) that enables all the stakeholders (application experts, designer, component experts, implementer, quality insurers,..) to closely cooperate following the eXtreme Model Driven Design Paradigm. In particular it enables immediate user experience and seamless acceptance.