Six Simple Steps for Accelerating and Perfecting Requirements: A Framework, a New Model, and Visualization

Featured
21746 Views
2 Comments
4 Likes

(This article assumes knowledge of the Decision Model. If you are not already familiar with the theory of the Decision Model, you can download a brief primer from www.TheDecisionModel.com.)

Portions of this article are drawn from the book, The Decision Model: A Business Logic Framework Linking Business and Technology, von Halle & Goldberg, © 2009 Auerbach Publications/Taylor & Francis, LLC. This article consists, in part, of abstracts from the book; directly quoted passages, diagrams, and tables are cited, and are copyright © 2009 Auerbach Publications/Taylor & Francis LLC. Reprinted with the permission of the Publisher.

Software engineering is a much younger discipline than are other branches of engineering. We see this in the continuing evolution of attitudes and approaches to requirements. In early days, there were no requirements. In later days, there were volumes of approved textual statements. Eventually, there were formal models. Today, sometimes models and statements are merely interim deliverables because code becomes the requirements.

In the spirit of this evolution, we present a requirements framework and methodology that may be different from what you are doing. Its three prominent characteristics are a framework, a new model, and visualization. The framework ensures completeness of all requirements. The new model is the Decision Model, transforming important business thinking into a tangible and manageable business requirement. The visualization simulates user scenarios, alleviating the need for abstract specifications or models.

Based on experience, this approach accelerates the productivity and success of a software engineering project. It begins with a framework.

The Framework

Our approach adopts the Zachman Framework for Enterprise Architecture , which is the foundation for all modern Enterprise Architecture theory. Thus, it will likely fit into most – if not all – architectures. The Zachman Framework proposes a decomposition of complex systems, processes, or organizations. As a quick review, it consists of six columns representing the dimensions which are the interrogatories (What, How, Where, Who, When, Why). It consists of six rows representing the views of target audiences (Planner, Owner (the “business”), Designer, Builder, Sub-contractor, and Functioning Enterprise). Therefore, there are 36 cells. Each contains content unique to the cell, which ought not to appear in any other cell. So, it is a normalized schema of decomposition artifacts because it disallows

Using this framework for requirements ensures completeness. Mostly, each cell represents an appropriate model. Each model corresponds to a particular audience view. Each model connects to other models, along with appropriate metadata.

To keep it simple, we explain the framework and methodology in six simple steps.

    Step 1: Validate the completeness of the Project Charter.
    Step 2: Confirm the appropriate requirements deliverables within the framework.
    Step 3: Become familiar with the kinds of models.
    Step 4: Include the new Decision Model.
    Step 5: Complete the visualization of the target scope.
    Step 6: Repackage and Present a Holistic Requirements Deliverable.

Step 1: Validate the Completeness of the Project Charter
Many people overlook this step, but it is the most vital.

To get started, begin in Row 1 in Figure 1, the perspective of the “Planner” of the system, which consists simply of six lists. Using the project charter as your scope, create the lists referenced in row 1:

  • List of things (information)

  • List of business processes

  • List of locations

  • List of organizations

  • List of events/cycles

  • List of business goals or strategies, and business decisions (more on this later).

If the project charter is unclear about any of these lists, request sponsors to fill in the gaps before proceeding.

Step 2: Confirm the Appropriate Requirements Deliverables within the Framework

Use the framework to identify the kinds of requirements deliverables appropriate for the project. This means moving onto Row 2 because it represents the business audience. For each cell, describe the corresponding deliverable to the level of detail as prescribed by Zachman. (It is a principle of the framework that there is no difference between the detail in the cells from top to bottom, but rather a difference of perspective only. In other words it is as important for business requirements to be as detailed as the technical design is, but for different audiences.)

Many deliverables should be models, each one aimed at a different dimension of the Framework.
Figure1 contains a list of useful deliverables for business requirements.

Figure 1: Useful Deliverables for Business Requirements

Step 3: Become Familiar with the Kinds of Models.

When possible, favor models to represent business requirements over textual statements of functional requirements. Accompany each model with descriptive text.

“Models provide graphical and semantic representations of their target aspects in ways that are easier to view and understand than are textual statements or narratives. Because each model captures just one aspect of the system, several models, each orthogonal to the other, provide a sufficiently complete view of the proposed system2 . Therefore, models provide shared understanding and for assistance in developing related textual requirement statements. In some approaches, a model serves as input for the automatic generation of the system. This is called Model Driven Architecture (MDA).

There are at least three reasons for modeling each dimension with its own model. First, each model reduces complexity. Second, each model enables independent change of its dimension from other dimensions. Third, it turns out that a model specifically tailored to the characteristics of the modeled dimension best represents each dimension. For example, data is best modeled in diagrams that show the relationship of each data entity to another, where icons represent the data entities and lines represent data relationships. On the other hand, process flow is best modeled in diagrams that represent flow of process tasks, where icons represent the process tasks and lines represent process sequence.” (von Halle and Goldberg, 2010)

Step 4: Include the New Decision Model

There are at least two compelling reasons to include the Decision Model as a new requirements deliverable. The first one relates to how business rules are the forgotten dimension in most requirements. Ken Orr states in the preface to our book, “Indeed, business rules are perhaps the most important, unresolved problem facing business and IT. A great many organizations are not so much the masters of their business rules but prisoners of them.” That is because the business rules in those systems represent is the one dimension we have omitted from requirements, but that we now recognize as something we need to manage much better. We are unable to do so because we have not had a separate deliverable for them.

The good news is that the Decision Model fills this gap as a stand-alone model just for organizing business rules similar to how the Relational Model is for data. In a Decision Model, business rules are in their atomic form, governed by 16 principles, including three forms of normalization.

The inherent structure of business logic in the Decision Model is similar to the inherent structure that Dr. Codd detected in data almost 40 years ago. This is a very exciting development for requirements practitioners. Further, the Decision Model shares metadata with, and has connection points to, the other models commonly used in requirements today.

A second, even more compelling reason to include the Decision Model is its potential impact on the business itself. Practice proves that when business leaders can view their business logic in a tangible, rigorous Decision Model structure, it becomes a magnet for better business decision-making. This has a profound effect not only on requirements, but also on organizational maturity and business performance.

It should come as no surprise that most systems, processes, and organizations are driven by decisions defined by logic. Until now, we did not know how to find them. In our requirements approach, we start looking for them in Step 1 above, creating a list of them. We deliver models for them in Step 4. Figure 2 depicts the connections of Decision Models to other deliverables.

Figure 2: The Decision Model and Connections to Other Deliverables

 

 

Step 5: Complete the Visualization of the Target Scope

Visualization is the simulation of important user scenarios of the system. It enables exhaustive examination of business requirements. Consider completing the visualization before finishing models because it reveals requirements arising from these interactions. Visualization takes place in three distinct phases, as illustrated in Figure 3. A product for this is Irise.3

Figure 3: High Level Phases of Visualization

 

The first phase is Scenario Ideation. Divide the requirements into a set of scenarios generally grouped around a set of logical functions. Explore each set of scenarios through steps all scenarios are complete. In some cases, users may decide that there is no value to creating a high-fidelity simulation, and that an analysis level simulation is sufficient.

During the Scenario Ideation and the Analysis-Level Simulation, participants identify a large number of requirements. A wider group of participants discovers more when given access to the simulations. This leads to more exhaustive discovery of requirements that may not have been identified using conventional methods. It also leads to higher levels of adoption of the product.

The High-Fidelity Simulation delivers a refined deliverable.

Step 6: Repackage and Present a Holistic Requirements Deliverable.

Upon completion of the visualization and models, organize the requirements document according to the framework, packaged with the high-fidelity visualization. Deliver a presentation of the requirements, highlighting the key features of the system.

Summary

There is a need to improve the quality of requirements gathered in projects developing software systems for business because a large proportion of projects fall short or fail due to inaccurate or missing requirements.

The requirements approach in this article combines common practices with visualization and the Decision Model. The most important parts of this approach are:

  • Select a requirements framework that represents complex systems or organizations as discrete dimensions.

  • Use the framework to identify the requirements deliverables for your business audience.

  • Deliver models for each dimension of your project.

  • Include the Decision Model for important business thinking behind business decisions.

  • Adopt a visualization methodology to elicit requirements before completing models

  • Organize the requirements document according to the framework, packaged with the High-Fidelity Visualization.

Authors: Barbara von Halle and Larry Goldberg of Knowledge Partners International, LLC (KPI)

Larry Goldberg is Managing Partner of Knowledge Partners International, LLC (KPI), has over thirty years of experience in building technology based companies on three continents, and in which the focus was rules-based technologies and applications. Commercial applications in which he played a primary architectural role include such diverse domains as healthcare, supply chain, and property & casualty insurance.

Barbara von Halle is Managing Partner of Knowledge Partners International, LLC (KPI). She is co-inventor of the Decision Model and co-author of The Decision Model: A Business Logic Framework Linking Business and Technology published by Auerbach Publications/Taylor and Francis LLC 2009.
Larry and Barb can be found at www.TheDecisionModel.com


 

1Also referred to as the Zachman Framework, which is a Copyright work of John A. Zachman of Zachman International. Details can be found in Chapter 13 of The Decision Model (Goldberg & von Halle, Auerbach 2010) unnecessary duplication of content among cells. Zachman calls the cell content primitives. Primitives connect to all primitives in the same row.

2The operative word is “sufficiently”; after all, if we created an exhaustively complete and comprehensive model of every aspect of the system, it would no longer be a model, but the system itself! Rather like Lewis Carroll’s map in “Sylvie and Bruno Concluded”, where the mapmaker’s “grandest” solution to absolute accuracy in their map of the country was to make it on a scale of a mile to the mile. Unfortunately, it could never be spread out without blotting out the sunlight, and the population had to resort to using the actual country as their map, discovering that it did nearly as well!

3Irise is the registered Copyright of Irise Corporation.

NOTE: Top article image © ngaga35 - Fotolia.com

Like this article:
  4 members liked this article
Featured
21746 Views
2 Comments
4 Likes

COMMENTS

zarfman posted on Wednesday, May 12, 2010 1:23 AM
Greetings:

In the state of Texas (and others) if one holds one’s self out as Software Engineer and you are not a registered Professional Engineer (PE) one has committed a class A misdemeanor. One is then subject to a fine not to exceed $4,000.00 or one year in jail or both.

The major difficulty with Texas law as I understand it, is that the licensing effort is under the auspices of the Professional Engineers. The Professional Engineers have a problem with the title of Software Engineer. They feel that if you call yourself a Software Engineer you must then be licensed as a Professional Engineer.

If I recall correctly the state of Texas is trying to come up with a software engineering exam. It may a two part exam; the first part I think is mostly electrical engineering. The second part covers hardware and software. I think you need a BS degree in engineering as well as 12-16 years of experience. Moreover, if you are a PE you can be sued for faulty or substandard work.

Regards,

Zarfman
zarfman
Larry Goldberg posted on Friday, May 14, 2010 2:17 PM
@Zarfman

Yup, as we point out, software engineering is a pretty new discipline so its going to be a while before the academy catches up.
LarryGoldberg
Only registered users may post comments.

 



Upcoming Live Webinars

 




Copyright 2006-2024 by Modern Analyst Media LLC