Understanding a company and its business is a very difficult task. You need to understand what the company does and the activities involved, what information exists, who the customers and partners are, and much more. You need to understand not only the company's business today but also the direction it is going and its vision over both the short and long term.
Most organizations have no standard way to describe their business in detail and, especially, no way to model the business. However, there are several types of business models and various notations and methodologies available for use in modeling a business. There are also many different items that you may want to model, for example, the business processes, workflows, activities, interactions with other businesses, partners, customers, systems, and even the rules according to which the business runs.
Whether you work within the company or as an outside consultant, when you look at the company you can begin to understand the major mission of the business and how things operate. However, without spending a good amount of time talking with many of the different members of the company, you will not be able to understand the drivers and processes of the business. From the shipping clerk to the CEO, you need to retrieve information on how they think the business works and how they do their jobs. It is very important to interview more than one person in each role if possible to get a good understanding of the business and the ways different employees perform particular roles. You are looking for some basic information:
How the workers see the business
What they believe the company really does to be successful
What they believe the company is doing wrong
How the individuals perform their activities
Additional items to consider, which we cover in later chapters, include specific rules about the business. The business rules are very important, and while working to understand the business at this stage many of these rules may be captured. However, they are more useful later when we move into the design phase.
The best way to understand the information you obtain from the many players is to begin modeling their descriptions. Being able to visualize the business rather than just reading words can be very helpful. We begin with use case diagrams. A business use case diagram is a diagram of the intended functions of the business and is used in business modeling as an essential input to identify roles and deliverables in the organization [Leffingwell and Widrig 2000]. The business model should include both internal and external views and generally is composed of several different diagrams to show the different parts of the business.
Use case diagrams contain actors and use cases (Figure 3-1). Actors are anyone or anything that may interact with the business. Use cases define a series of actions that benefit the initiating actor or actors.
For the case study, we will look at EAB Healthcare's business by using use case diagrams. Some examples of business actors at EAB are Auditors, Physicians, Medical Supply Vendors, Residents, and External Service Providers (Figure 3-2). As you can see, these are many of the people, companies, and even systems that work with and for EAB as well as the people who are supported by EAB, such as the Residents.
In business modeling, you want to look at not only which groups participate in the business but also how the participants work. By showing the basic workflow of a business, activity diagrams allow analysts to understand how people do their jobs and which systems and processes they follow. Activity diagrams are a basic workflow of how a business works. They can be nontechnical, allowing everyone involved in creating the system, from the business users to the highly technical staff members, to understand the information. You can think of an activity diagram as a sophisticated flowchart. Figure 3-3 shows the elements commonly used in activity diagrams, and Figure 3-4 shows a sample activity diagram.
Activity diagrams drill down on the specific use cases to allow a reader to understand more deeply how the use cases are accomplished. Activity diagrams serve many purposes, including
Understanding the business as it exists today
Identifying areas of the business to be changed
Discovering redundancies in the business processes
Discovering bottlenecks in the business processes
Identifying activities that could be better performed internally or externally
Establishing the information needs of a particular activity or business use case
When building the activity diagrams or any type of analysis diagrams, you must be sure not to fall into what is known as analysis paralysis. Analysis paralysis is the process of spending so much time and energy analyzing the business that you never get past the analysis phase. It is very important to understand when to cut off the analysis and begin designing the systems. You can and will always revisit the analysis phase during the other phases when following an iterative approach. New requirements and processes are uncovered routinely while building the system.
Through understanding the business and how it works today, you will begin to understand the systems and how they work (or don't work) as well. During this phase the business models help you start to see activities that are repetitive, systems that are overused, and systems that are not used to their potential for whatever reason. When looking at the entire business there is also a need to understand what processes, systems, software, hardware, and so on already exist. The point of this is to understand not only the current business but also, as it moves forward, how to improve it. If there are things that can be changed manually in the way the company does business, great, but the problems we are looking to uncover are those to be solved by software that supports the business. In the case study, we use the business models being created to understand how the company operates along with the knowledge of what systems are used. Once this is completed, subsequent chapters begin to explore where the business will go next and what needs to be changed to allow it to evolve to the next level.
When looking at the systems, you must look not only at the tangible items like hardware and software but also at the people (the actor roles) you have in place to support, build, and utilize the tangibles. By looking at the actors in the use cases and the activities performed in those use cases, you can understand where the company is lacking in resources, over-resourced, or perfectly fulfilled. By modeling the entire business and the processes around that business, you can look at the big picture and understand the successes, shortfalls, and needs of an organization. Use of the UML for this modeling allows the entire team to work together by standardizing a way to capture the information, tie the requirements to systems, update the models as things change, and understand the effects on the rest of the environment. Use case and activity diagrams help define the current systems, knowledge of which is very important for moving through the analysis of the business.
Knowing the systems is the first step, but there is also a need to understand the systems' details. People reading the different UML diagrams, such as use case and activity diagrams, can begin to understand how the systems are used. Use case diagrams show what processes are in place. For example, you can model the different systems as actors. Use cases interact with these systems through relationships to the representative actors. Activity diagrams show how the use cases are fulfilled. By drilling down to the specific ways the use cases are handled, the creators of the diagram can show exactly the steps and systems used to fulfill a specific use case or group of use cases. This allows the teams to understand the workings of the systems, indicating where there may be delays, underusage, and problems with the process.
Some tools offer the ability to run activity diagrams through a simulation. The simulation allows teams to view how the systems actually work, showing the different components of the activities, and through the input of rules and past experiences the tools can calculate the time processes take, predict bottlenecks, reveal inconsistencies, and more. By tweaking the activities, simulations can help predict how such changes will affect the activities and possibly even make recommendations for future changes. Having the ability to view a simulation is not crucial, but it can be quite helpful for understanding today's systems and the effects of changes in the business, business rules, or systems.