w w w.SimplifySys.com Ho w to analyze your business to identify the changes that need to happen Marc de Oliveira, Simplify Systems Introduc tion This paper will explain some of the tools and methods I have found to be important when doing system or business analysis. I have structured the paper according to the areas of interest of the Zachman Framework but I will not talk much about that framework in this paper and it is not required to know about it to understand this paper. Should you be interested in an introduction to the Zachman Framework, you can take a look at my paper from ODTUG Kaleidoscope 2009, “What is the point with the Zachman Framework?” The Areas of Int erest When analyzing a business to define the requirements for a new IT system you should make sure that you understand the following six areas of interest: • Motivation: Why is the project being done? What are the overall visions and goals that the business is trying to achieve? Without knowledge about this you will almost certainly fail the project. • Information: It may be the most important area to know what the information is that the system needs to manage. This includes understanding and rectifying how the business talks about its central concepts. • Timing: Understand the main events driving the activities of the business. • Activities: Of course you must also know the details about how the business is carried out. A good starting point may be the current process flow but, of course, the goal is to suggest a new and better process flow. • People and Organizations: Understand the organizational structure both in terms of management but even more important in terms of communication. • Location: Look at where people are located and relate it to who they communicate with the most. Beside these areas of interest you should also make sure that you involve the business in the analysis as much as possible. No matter how good you are the business will always know more than you about itself. Involving the business A very important part of any business or system analysis task is to involve the business as much as possible. As a system analyst or business analyst you may not necessarily be a project manager, so you may have to work closely with the project manager to ensure the maximum involvement of the business. These are some important factors that will help you keep in contact with all stakeholders. -1- w w w.SimplifySys.com Simplicity Throughout all your work simplicity should always be in focus. “Make things as simple as possible, but not any simpler”, as Albert Einstein said. It is not your purpose to create complicated documents to make yourself look smart. Everything should be explained as simple as possible to make it understandable to as many persons as possible. People will loose interest in complicated definitions and, as a result, you will be missing a lot of valuable feedback. An important factor for involving the business is that the business understands what is going on. Being able to explain your findings as a business or system analyst will improve everybody's interest and engagement in the project. Do not expect that people know how to read an ER-diagram, an activity model, or even a use case diagram. Even if it seems obvious to you, some people will give up trying to understand the content of the model simply because it looks unfamiliar. Take them through some simple examples where you explain the syntax of the diagram. Id entify the proje c t organization Defining an official project organization will simplify communication and give you the necessary overview of everybody's role in the project. The project organization should at least contain the following three groups (they do not need to be named as I have done here): Strategy Management The group of top level stakeholders. This group defines the overall goal of the project, project resources and the high level time plan. Communicating with this group is important to: • Understand the vision for the project and the high level needs and requirements of the business. • Make sure that the top management is committed to the project. • Keep management up-to-date with the overall progress of the project. Primary Project Stakeholders The group of primary stakeholders from each business area involved in the project. This group will be the main communication channel to involve the business in the project. Each group member is responsible for keeping the rest of the business area, which they represent, updated on project decisions related to them. They must also collect ideas, views, concerns etc of employees within their areas and forward them to the Primary Project Stakeholders group. Communicating with this group is important to: • Understand the requirements of every business area involved in the project. • Keeping the business stakeholders committed to the project and make them feel responsible for the business area they represent. • Discuss issues that affect multiple business areas. • Update the business on project decisions and project progress. Project Management Make sure that the project management group is well defined so that everybody involved know -2- w w w.SimplifySys.com what their responsibilities are. Communicating with this group is important to: • Make sure that project development etc is done with the correct understanding of the business requirements. Other groups As a business or system analyst it will also be valuable to be able to address all involved parties (not just the primary stakeholders) at general business meetings, for all employees, to make everybody feel involved and to communicate general findings from the analysis that will bring a common understanding to the business. It will also be important to address the system development team to make sure that the development is done with the correct understanding of the business requirements. Com munication Plan An important part of involving the business is to know what needs to be communicated and when. Create a communication plan where you plan what needs to be communicated to whom and when. This will help you appear structured and in control – even when the project may be coping with problems. It will not make problems go away but it will help you bring focus to solutions rather than conflicts. Beside project progress, also include a subtle level of education about the new aspects of the coming system. This will familiarize stakeholders with new concepts and processes in small steps, so they do not get overwhelmed with new things to learn just before the new system is launched. Publish Business and Proje c t informa tion Another important part of involving the business is by keeping the information that you collect and produce public for the entire business. Make sure that there is a simple way to access your information through the business' intranet and that everybody knows about it. It is important that people are either looking directly at the information you are working with or that there is a simple way for you to publish the information when it is ready, so that the public information does not become outdated because you forget to publish all updates. When using a database repository for my analysis information I have built public web access directly into the repository (APEX is a good tool for building a simple interface to a repository). If you are not using a database repository then using a Wiki will make it easy for you to work with your analysis in an environment that is accessible to others at the same time. Either way it is important that you structure the information in a way that makes it understandable and relevant to people with very different needs. I have found the hierarchical structure of the Zachman Framework's perspectives to be very intuitive but you may decide to use a different structure. Just be aware what the different kinds of information users are, so that you can address their individual needs. Top management should have an easy way to access scope level information both about the system and the project. As an example they would be interested in the project's vision statement, a list of the main information areas that the system will manage etc. Business area managers and primary project stakeholders may be interested in a little more detail but focused on their particular business area of interest. The corresponding example would be a scope level information model about the concepts related to their business area. -3- w w w.SimplifySys.com Individual employees may want to get even more detail about very specific sub-areas (namely the specific areas they are working with). Even though the information at this level should be detailed it should not be technical in nature. Your analysis information should, basically, be understandable to anybody. An example of this would be a detailed information model about a relevant sub-area of the business. If you are also the System Architect then information about the specific design of the system should also be made available to the system developers. This will, of course, be more technical in nature but that is fine as it is intended for a technical audience. An example of this would be a physical data model of the above mentioned sub-area of the business. As a business or system analyst you must provide all this information and instead of publishing everything together then make sure that what you publish is aimed at the people that will understand and appreciate it. Motivation One of the first things you will need to discover is why the project has been created in the first place. What is the vision that the project should help the business accomplish? This should be the first task of the strategy management group. You should store (and publish) both a simple project vision statement and a more complete description of the purpose of the project. These will help everybody keep focused on the scope of the project. The short vision statement may be included as introduction in many documents. Next, divide the vision into consistent goals that every part of the system should support. This will be key when you start defining the new business processes. There should not be any processes that do not somehow support at least one of the goals of the system. Informa tion Modeling As a business or system analyst it may be the most important area to know what the information is that the system needs to manage. This includes understanding and rectifying how the business talks about its central concepts. There is an important point in using the term “information modeling” instead of “data modeling”, as it helps communicating that it is about knowledge rather than IT systems. A good information model is much more stable than a good activity model, because the way an enterprise carries out its business changes continuously while the concepts they work with more or less stay the same. So do not underestimate the requirement for a general information model that is consistent throughout the business! While data may be considered more abstract than processes a good information model can actually bring more tangible value to the business than any activity model by being translated into a business dictionary where everybody can look up the definition of any terminology used in the business. Another tangible use of your information model is that you can reuse all entity and attribute definitions in the final application by turning them into context specific help on every screen and every field (see the example below). -4- w w w.SimplifySys.com Make sure to promote this as much as possible, as, on top of being a value to the business, early usage of the business dictionary will also help you identify inconsistencies in the information model as early as possible. To get people involved in the information modeling it is important that your information modeling tool creates models that are easy to understand by people outside the IT department. I like ER diagrams using the Barker notation (Oracle Designer and SQL Developer Data Modeler). Of course, using a good modeling tool does not make a good model in itself (see the diagram below), so you should apply all the known principles about good data modeling to your work. David Hay has written about this in his book “Data Model Patterns – Conventions of Thought” and in numerous articles (also in The ODTUG Technical Journal). Basically, they come down to this: • Keep the number of entities around 10 (preferably around 7, which is the maximum number of concepts that the brain can manage concurrently). • Use only vertical or horizontal relationship lines. • Do not cross or bend relationship lines. • Place detail entities in the top left part of diagrams and master entities in the bottom right (“crows fly south and east”, it is called if you are using Barker notation). On top of this I have found it valuable to color code entities according to their information area, so that entities about addresses have one color and entities about persons have another color etc. Many diagrams will have entities from different information areas, so the color coding will make it easy to visually understand which entities are about what. The main entities of a diagram will stand out as they will have the same color. Add a color scheme to the diagram explaining the different colors used on the diagram (see diagram below). -5- w w w.SimplifySys.com Still, even with a very nice and simple model do not expect people to be able to understand it if they have not seen an ER diagram before. Go through the syntax using a very simple model, such as “Each CHILD must be born by one and only one PARENT”. Events Your activity modeling should begin with the analysis of the main events that trigger the activities of the business. First, look at the external activities that the business has to react to such as orders and requests from customers. Also, look for all the (external and internal) timed events that trigger activities in the business such as yearly financial account status, monthly pay cheque generation etc. Set up a complete “year event plan” that shows when all the timed events of the enterprise occur. This is also a tangible value that many stakeholders will find interesting. It can be used for discussions about optimizing resources by spreading out the events that the business can control to avoid bottlenecks. Make sure that all events somehow support the goals of the business. Activities When the main business events have been defined you can begin looking at the activities of the business. Instead of starting with interviews about the current workflow, I suggest that you work top-down with focus on the main triggering events and main goals of the business. The main activities of the enterprise must all help the business achieve its goals. Activities that do not seem to support any of the specified business goals could probably be canceled. When the main activities of the business have been defined, you can drill down each main activity and find all their sub-activities. Again, do not copy any current activity that do not support any main goal of the business. Keep drilling down sub-activities until you reach a level where the activities can be translated into simple IT modules such as an application screen, a report or a batch job. Combining Activities w i th Informa tion Map all the leaf modules to the information model to indicate how the business information is manipulated by the different activities. This will result in a CRUD Matrix that shows where each -6- w w w.SimplifySys.com entity element is Created, Read, Updated, and Deleted. The first thing you look for in a CRUD Matrix are entities that do not have all four manipulations done to them. Obviously, it will not be possible to Read from an entity if there is no activity that Creates it. Likewise, there is probably no sense in Creating and Updating entities that are never Read by any activity. If you identify activities that more or less manage the same entities and attributes it may make sense to combine them into a single module, but it may also be an indication that one of the activities could be removed (it could be that some tasks are being performed twice). People and Organizations To identify required changes in an enterprise you have to understand the organizational structure both in terms of management but even more important in terms of communication. David Hay's book “Requirements Analysis – From Business Views to Architecture” explains how the principles of cybernetics theory can be applied to enterprises. Here follows a simplified explanation that shows you which problems to look for when analyzing an organization. The findings of cybernetics theory are that any organism needs five specific sub-systems to survive. This applies to all living organisms, robots and also organizations such as enterprises. The simplest system is the so called “feedback loop”. It is a simple system consisting of a Process (that does something) and a Controller that sends Commands to the Process and verifies the Feedback of the Process against some Goal that the Controller is trying to achieve. In a simple organization this would correspond to a department (the Process) and a manager (the Controller). The manager sends Commands to his department and monitors Feedback from the department against the Goals set to him from higher management (called the Meta-Management). Meta-Management changes the Goals of the Controller to achieve the overall goals of the company. Syste m 1 (processing) If you put together a number of feedback loops under one Meta-Management you have what is -7- w w w.SimplifySys.com called a System 1 where higher management sets Goals for a number of department managers, who in turn send Commands to their department workers. The term “worker” does not suggest that the Process is always simple manual labor. It could be advanced scientific work carried out by highly educated specialists. Syste m 2 (synchronizing) Each feedback loop (System 1) will try to achieve its Goal with the means in their possession but when multiple System 1s are working for different Goals that collectively should support the overall goal of the company there is a risk of bottlenecks and other Oscillation problems. So, to be a viable system, the company needs a System 2 which task it is to prevent that System 1s step on each others toes. These are issues that each System 1 cannot see from where they are. It is necessary to be outside the System 1s and see the collective consequences of what all the System 1s are processing. Syste m 3 (synergy) System 3 is part of the Meta-Management. Where System 2 is concerned with the efficiency of the organization, the task of System 3 is to make sure that all the System 1s have the correct Goals so that the company can achieve its overall goals. Syste m 4 (opportunities) But optimization alone does not make a system viable. It is necessary to be aware of what goes on in the world outside the company to be able to navigate the global business landscape. System 4 is also part of the Meta-Management. It is the task of System 4 to constantly oversee what happens in the environment of the company and identify threats and opportunities that the MetaManagement must be aware of to move the company in the right direction. Syste m 5 (identity) The task of System 5 is to coordinate the Meta-Management by managing the difference between input from System 4 about things outside the company that the company should react to and the input from System 3 about how the company best manages its resources and know-how to achieve its overall goals. Sometimes a company will have to give up doing what it does best because competing technology has made it obsolete. So balancing the input from System 3 and System 4 actually creates the identity of the company. Basically, these five systems must be present in any organization if it is to survive in the long run, and as the term “organization” is recursive, it is true for any sub-organization within a company, too. The company needs System 1-5, each functional area needs System 1-5 and each department needs System 1-5. Even each employee should have the Systems 1-5 to make sure that they can navigate their employment as well as possible. As per the personal use of System 1-5 described above each System does not need to be handled by a different person or group. In traditional companies System 5 is the CEO, System 4 can be the research department, System 3 is middle management, System 2 can be a resource management department, and System 1 is the workers. Matrix organizations may use project managers as System 3. Organizations with a high level of education and technology may make the workers (specialists) both System 1 and System 4. So, do not expect to find well defined departments called System 1, System 2, etc but look for -8- w w w.SimplifySys.com where the five Systems are handled by the organization and verify that the necessary communication channels exist between them. I T Governanc e A related area is IT Governance about the organizational structure of IT decision making. An important book about this is “IT Governance – How Top Performers Manage IT Decision Rights for Superior Results” by Peter Weill and Jeanne W. Ross. The book divides the IT decisions into the following five categories: • IT Principles • IT Architecture • IT Infrastructure Strategies • IT Business Applications Needs • IT Investments which each could be managed in a different way. Management of any IT decision is categorized into the following six different management archetypes: • Business Monarchy: This is the type of company that lets senior management take IT decisions. They will be focused on business needs and have a centralistic strategy. • IT Monarchy: This is the type of company that lets the IT function take IT decisions. They will be focused on exploiting the technological possibilities of the business, and they will usually have a centralistic strategy. • Feudal: This is the type of company that lets each functional area make its own IT decisions. They will prioritize de-central IT decisions. • Federal: This is the type of company that takes IT decisions in a dialogue between senior management and the individual functional areas. They will seek compromises between central and de-central solutions which will often make the decision making slower. • Duopoly: This is the type of company that makes IT decisions in a dialogue with the IT function (either with senior management or with the individual functional areas). • Anarchy: This is the type of company who lets everybody make their own IT decisions without any coordination or management. This management form is usually not recommended. Recommendations about how to make IT decisions depend on the business area of the company but in general it is always good to be aware of how different types of IT decisions are being taken within the company. After that it is easier to understand the consequences of defining a new IT Governance strategy. Filters and Amplifiers Whenever communication is going on between different levels of management it is necessary to apply Filters and Amplifiers. When a manager has to communicate with many workers it becomes an issue to cope with all the Feedback information generated by all the workers. Therefore IT systems should be able to provide Filters for the manager. Filters condense the Feedback information to a level that the manager can cope with without loosing information important for the necessary decision making. A Filter could be a BI report. Amplifiers are also IT System modules but they work as reverse Filters. The point of an Amplifier is to help managers communicate complicated Commands to the workers in a simple way. An -9- w w w.SimplifySys.com Amplifier could be a radio group on the manager's screen where the following values can be selected: Severe Risk (red), High Risk (orange), Significant Risk (yellow), General Risk (blue), and Low Risk (green). Whenever the manager changes the risk level from one value to another all workers will be informed of the consequences to their individual work areas without the manager having to describe all the necessary changes to each worker. Location Location has a lot of influence on the quality of communication. Face to face communication provides a much wider communication channel than text messages over a cell phone or a mail. As a business analyst or a system analyst it is important to make sure that the most important communication channels are as wide as possible. This can be achieved by technology or, in some cases, by physically moving people and/or responsibilities around. All communication channels must be wide enough to provide the necessary level of information between the involved parties. If the communication channels are too narrow bad decisions can be made, because management is not receiving the necessary information to take the right decisions and workers are not receiving the necessary commands from management. Depending on the complexity that needs to be communicated between parties the correct combination of Filters, Amplifiers and communication channels must be established. Conclusion As a business analyst or a system analyst there are a lot of issues that you need to work with. In this paper I have explained some of the most important problem areas you should focus on, including involving the business, understanding its motivation for the project, understanding the terminology of the business, identifying the events that trigger the activities inside the business (as well as understanding the activities themselves), and understanding the mechanics of the organizational structure and physical placement of employees. It is certainly not a complete list of business/system analyst activities but I think these are the number one issues. And finally, don't forget the most important thing: Do not enforce your view of how things should be onto the business you are analyzing. If you feel that something should be different, two things could apply: • Maybe you are wrong. In this case you would be better off presenting your views in a subtle and querying manner to learn why you are wrong. • Maybe you are right. In this case you would get more acceptance by presenting your views in a subtle and querying manner so that the business itself discovers that it should change. Your job is to help the business decide what they need to do. It is not your job to prove that you are smarter than them. Good luck! - 10 -
© Copyright 2024