To build software systems that meet business objectives, IT and business professionals must work together closely to define specifications and build models that accurately describe those objectives. This book gives them the shared language they need to accomplish this. Haim Kilov illuminates every key concept underlying today's most important approaches to specifications and modeling, giving business professionals practical insight for decision-making, and giving IT specialists the tools they need to evaluate IT artifacts in the context of business goals. Drawing on his extraordinarily rich real-world experience in modeling systems for finance, telecommunications, document management, and other industries, Haim Kilov describes every factor that impacts business models, systems and specifications. He presents today's most effective modeling techniques in the context of international standards that are independent of any technology, methodology or tool, and will work in any enterprise environment. Along the way, he presents many examples, and shows how key modeling concepts can be used within the framework of today's most popular tools, notably UML.
1. The Purpose of Modeling.
Success and Failure of Projects and Strategies. Core Competencies. Education. The Need for Understanding: Abstraction, Precision, Explicitness. Abstraction: The Way to Put Management in Control. Basic Structuring Constructs. Business Rules: Precision vs Handwaving. Tacit Assumptions and “Evident Truths”. Specifying Problems and Solutions. Where to Start and Why: Business Domains.
A Few Concepts and Structuring Rules. The Basic Stuff: Things, Relationships, and Actions. How Not to Get Lost: Abstraction Viewpoints and Levels. The Structure of a Composition. The Structure of Subtyping: How to Recognize, Treat and Structure Similarities. Templates. How to Treat Stable Properties: Invariants. How to Treat Changes: Epochs. How to Treat Environments. Contracts and Their Contexts. Trading. How to Treat Names. How to Treat “Exceptional” Situations. Various Viewpoints and the Five Basic Viewpoints. Synergy between Business and IT Specifications. The Business of the Business, the Business of the IT System, and the Business of the Traceability. How to Test Systems.
Business Patterns: From Basic to Specific. Reuse: Pattern Matching in Context. Metaphors and Notations. Experience. Conclusion: Debuzzwordification. On Thinking.
On Tools and Specifications. What to Include in UML Diagrams? Simplification. A Simple Example (a Contract) and Lessons Learned. Relationship Invariants Are About Property Determination. Relationships Between Actions. Reading and Writing Large(r) Business Specifications. Separation of Concerns: Problem vs Solution. Additional Practical Hints. Where Do These Ideas Come From?
A Generic Relationship: Generic Properties. Generic Relationships: The Taxonomy.
The goal of information technology (IT) is to support the solution of business problems. Traditionally, businesses and their customers have relied on human intermediaries to "sort things out." However, with the rapid development of e-business, there is usually no human intermediary; if the IT system that supports a business is not what it is supposed to be, then customers will quickly go to a competitor, and the business may "softly and suddenly vanish away" as a result.
The Economist noted in November 2000 (Eric Brynjolffson, MIT) that software and hardware account for only one-tenth of true corporate investment in IT; the rest is in new business processes, new products, and training of employees. Ninety percent is a sizable amount worth looking at.
For IT systems to be successfully used in new business processes and new products to solve business problems, both the business and the IT systems must be understood by all stakeholders. This understanding is demonstrated in business, IT system, and technological infrastructure specifications. These types of specifications are considered by many to be substantially different. This misconception leads to very serious problems-particularly in cooperation, or lack thereof, between groups of people speaking very different and obscure languages. But these languages should be neither very different nor obscure: it is possible to make our specifications simple, elegant, and convincing, which results in effective uses of IT in business. Specifically, business people including decision makers should be able to read the specifications and be convinced that "this is what they do," and "this is what they want," no more and no less. Thus, the main achievement of a good specifier is to provide a 20-page clear and complete specification, instead of a 1000+-page incomplete and vague one.
The basic underlying concepts and constructs for all kinds of specifications are the same: "the same materials and phenomena are treated by different theories, at different scales and different levels of complexity and abstraction" (C.A.R. Hoare). Many of these concepts and structuring rules have been around for a long time, but only recently have become well-defined and successfully employed in applications. They were formulated in international standards such as the Reference Model of Open Distributed Processing (RM-ODP); their foundations are in mathematics; and their relationships to the Universe(s) of Discourse are in philosophy. These concepts are neutral with respect to a methodology, technology, or tool(set), and thus will not become obsolete in 12 months. This book shows why and how usage of these concepts makes the following possible:
Business modeling picks and chooses those business things, actions, and relationships among them that are of interest and importance to the business stakeholders. These things, actions, and relationships are used to create business models-simplified specifications of the business. Such business specifications are often considered to be a given starting point for IT system design and development. In real life they are not given; they have to be discovered, created, and explicitly formulated.
This book describes the foundations of business modeling based on a small set of concepts and constructs. The term "business" does not mean only a traditional business: in addition to traditional and "e-businesses," we may consider, for example, the business of creating and managing an IT project, the business of a technological infrastructure, the business of a relational database management system, and so on. The underlying concepts are the same.
Concepts are not introduced unless absolutely necessary (as is the case with Occam's razor). The emphasis is on continuing relevance of what was achieved earlier: no wheels are reinvented. This book shows how to achieve precision and explicitness in business thinking essential to model and build businesses for the new economy. (Clearly, we need to distinguish between the new economy and the window dressing of the new economy.) The approach shown here applies both to precompetitive (or generic) business models and to (the competitive advantages of) specific business models, and thus to winning in the inevitable business transformations. This book also shows how to construct complex business patterns (such as "exotic option trade") from generic (such as "contract") and basic ones (such as "invariant") using well-defined structuring rules (such as "composition"). We never start from a blank sheet of paper: the basic business patterns and structuring rules, as well as many generic ones, are precisely those that we see in RM-ODP and related standards. In the same manner as businesses in the United States rely on the approach used in the standard Uniform Commercial Code, modelers ought to rely on the approach used in the standard RM-ODP.
As a result, the foundations of business modeling are made explicit, practical, usable, and teachable, in the same manner as foundations of mature engineering disciplines. This book shows how modeling is used both in the analysis of existing systems and in the design of new ones. The emphasis is on analysis -making explicit the parts of the whole and relationships among them-because in analysis we still encounter an abundance of ill-conceived or ill-posed problems, over-reliance on tacit assumptions, on "a few beautiful graphics," etc.
The system of concepts used in a specification should make it possible to express the specification's meaning in an elegant, easily understood manner. The concepts discussed in this book have been around for a long time; for example, some of them were formulated by Aristotle. We try to provide some flavor of the mathematical and philosophical foundations underlying these important concepts. And we provide examples from various areas of human endeavor.
The foundations presented here have been used in many information management projects in various industries (finance, insurance, telecommunications, medical, publishing, human resources, and so on), as well as in business transformation. The same foundations have been used in IT system models and in technological infrastructure models, as well as in metamodeling. Needless to say, the practical usage provided feedback for improving the foundations.
The book you are reading now is not The Ultimate Truth. This book presents business modeling following the approach to software engineering texts proposed in 1969 by B.W. Lampson SE1970: "...produce a document of perhaps 150 to 200 pages that would really serve as a standard for the field, in that it would produce a base from which one could teach, and in many cases a base from which one could talk and think. This would eliminate a great deal of our terminological differences and a great deal of the re-thinking that one has to do when one embarks on a new project. The attempt should be to tell what is known, not to break new ground and not to produce a complete or finished work in any sense." In the context of this book, the term "standard" refers to important international standards-the Reference Model of Open Distributed Processing and the General Relationship Model. And the phrase "what is known" explains the abundance of references.
We agree with the present-day mathematicians that the concept of structure is the most important one used in specifications: "The primary role in a theory is played by the relations between the mathematical objects concerned rather than by the nature of these objects" D1998. This was noted not only by mathematicians but also by famous economists. Walter Bagehot in Lombard Street observed in 1873: "The objects which you see in Lombard Street, and in that money world which is grouped about it, are the Bank of England, the Private Banks, the Joint Stock Banks, and the bill brokers. But before describing each of these separately we must look at what all have in common, and at the relation of each to the others." B1873 In the practice of business specifications, we found out that emphasizing structure over content KA1997, K1999 leads us to discover important concepts and conceptual similarities between apparently different business and system frameworks. In this manner, we achieve reuse of concepts and thus intellectual economy that helps a lot in discovering and formulating the structure of a business or an IT system.
Two kinds of structuring concepts are considered in the book. Generic relationships-such as composition and subtyping-are encountered in (and are the basic building blocks of) the specification of any business or system. But the most important concepts used in banking, insurance, or finance, as described in books published in the nineteenth and early twentieth centuries, have been successfully reused in present-day business (including e-business) specifications of these areas; only refinements, rather than changes, were needed. When reusing these classic business concepts in specifications, it was also possible to demonstrate that some important business-specific constructs (such as contract) were used in all these business areas.
In order to discover the essential structure (as opposed to the accidentals), we ought to use abstraction, i.e., to suppress the irrelevant details of the subject matter. In doing so, we may determine the essential commonalities among things and relationships that appear to be (perhaps substantially) different. In other words, abstraction helps us to put our knowledge in order. Abstraction has been used in this manner for a long time. The concept of a number is a well-known example; as Aristotle notes, "the investigations of mathematicians have to do with things reached through abstraction, for they study them after eliminating all sense data... retaining nothing but quantity and continuity." The concept of a contract in business is another well-known example: "Then the people of Israel began to write in their instruments, and contracts, in the first yeere of Simon the high Priest" (1611 Bible 1 Macc. xiii. 42). And abstraction is one of the first concepts introduced and used throughout by the RM-ODP, an ISO standard widely used in this book.
This book is based on my substantial experience in modeling (finance, insurance, telecommunications, document management, business transformation), consulting, contributing to national and international standards, serving as Chairman of and speaking at international conferences and workshops, publishing more than a hundred papers and four books, and facilitating many business modeling sessions with subject matter experts including various levels of decision makers. Some early versions of the material presented in this book were published in numerous papers and conference proceedings used and publicly praised by practitioners-analysts and customers.
People of widely varying backgrounds can master the ideas presented in this book. The importance of explicitly using mathematics for effective reasoning was emphasized not only by modelers, engineers, and computing scientists, but also by such successful entrepreneurs as Conrad Hilton: "For me ... the ability to formulate quickly, to resolve any problem into its simplest, clearest form, has been exceedingly useful. ... A thorough training in the mental disciplines of mathematics precludes any tendency to be fuzzy, to be misled by red herrings, and I can only believe that my two years at the School of Mines helped me to see quickly what the actual problem was-and where the problem is, the answer is."
This book helps readers to do just that. The concepts are transmitted by education rather than by osmosis "on the job." Thus, the audience comprises business experts, including strategists and decision makers, as well as modelers, specifiers, business and IT architects, analysts, and designers. Students, especially students of management (including MBA), will also find the book of use.
No knowledge of UML is required.