Ho w to an alyze your business In troduc tion

Transcription

Ho w to an alyze your business In troduc tion
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 -