[comp.object] Object Oriented Organization Analysis

schultz@grebyn.com (Ronald Schultz) (02/07/90)

Many of you have expressed an interest in the concepts of Object-
Oriented Organization Analysis, but no one has yet come forward
and identified that they have attempted it.  

The replies received to date fall into two categories.  Some
replies asked:

   o     Why would one want to analyze an organization from an OO
         perspective, since ER diagrams, data flow diagramming and
         other structured analysis techniques more than adequately
         cover this and;

while others asked:

   o     What could one learn from such an effort ?


In answering the first set of comments, some background appears
in order. 

BACKGROUND 

My particular interest was driven by determining how technology
could be used within my company to improve productivity.  Since
we are a federal systems integrator, cost and productivity are
critical factors in remaining competitive.  As in many such
efforts the user community wanted a picture of where they were,
what things could be, and how could they get there from here.

We attempted analysing the company from a functional perspective,
creating DFDs of the major activities.  We even used a CASE tool! 
But the users (Vice Presidents and Sr. Managers) were quick to
point out that:

   1) functions do not occur in sequence, that their activities
   were asynchronous and many functions executed concurrently,
   and that DFDs did little to describe this;

   2) that DFDs did not help pinpoint who or what executed a
   function or help outline or point to what alternatives there
   were to move functions around; 
 
   3) that DFDs were only a static picture of a very dynamic
   environment;

   4) that the DFD did not allow them to identify what services
   impacted other services in terms of having an organization or
   individual be responsive to the needs of the company.  DFDs
   were unresponsive to reporting 'service levels'.

Stated over and over again by management was "I need a modeling
environment that will allow me and my staff to simulate what is
happening currently, and play WHAT-IF for what could be."

Readings in OO literature often referred to 'modeling',
'simulation', and 'concurrency' as inhernet features of the
object-oriented paradigm, and based on some 'playing' with
Smalltalk we considered whether an object-oriented model of the
company was possible.  We naively believed that:

   1) It would be fairly simple to describe each organization
   (even individual) in terms of attributes (instance variables)
   and operations (methods)

   2) That metaclasses would be valuable to describe global
   concepts such as 'Employee' or 'Line Organization' and that
   classes and inheritance would significantly simplify the model
   development process.

   3) That methods could be developed to track the service, or
   response time, of an individual or organization.  

   4) That some primitive version control or source code control
   system could be implemented to track changes made to the
   corporate model, and that these changes could be extracted to
   describe how someone 'got to Point B from Point A'.

   5) That by implementing some form of multitasking or
   concurrency control, we would be able to model the dynamics
   of the company in a 'real time' environment.

   6) That changes could be made to the model 'on the fly' to
   identify the impact of the resultant change.


IMPLEMENTATION

As we pursued this we began to realize that the approach was more
reasonable, but that some form of framework was necessary to help
partition the model.  We selected Zachman's Information System's
Architecture framework as a possible model since it was already
well known within our company due to its support by IBM.

Each cell of the model was populated with classes we considered
appropriate to the intent of that cell.  From that point we built
methods to relate these classes and objects, and then began our
modeling of the company.  The model was implemented in Smalltalk
V/286, and is still very primitive, but very useful.  Our naivete
does not seem to have impacted our being able to produce
something useful.

CONCLUSIONS

The continuing results of the effort are:

   o     The effort provided new insights into how our company
         works, how individuals and organizations interact, and
         how these interactions can sometimes results in poor
         service.

   o     The model itself is extremely flexible, easily modified,
         and could be adapted to any other organization.

   o     As changes to the model are made, the changes are
         recorded, thus providing a history of how to migrate from
         one organization structure to another.

   o     The multitasking features of Smalltalk do provide for
         creating a pseudo realtime model that realistically
         displays the dynamics of  the company.

   o     We have as of yet to implement the capability of changing
         the model 'on the fly' but we see this as still doable.


We are constantly discovering new applications for the model. 
But the original rationale for the model, identifying ways of
improving productivity, was fully supported.  By looking at the
services provided, and who or what provides them, it is possible
to identify redundant services, or approaches to streamlining
services.  Also, currently manual services can be approached with
an eye toward automation, but within the context of how important
the service is in relation to all other services within the
enterprise.  We have seen many instances of something being
automated that was irrelevant in terms of the overall needs of
the company.  The model helps identify such misdirected activity.

The model is also very 'senior management' friendly.  We have had
much better success using this approach than with DFDs for
describing the need, or non-need, for automation in areas.

We consider the approach of OOOA a powerful activity, resulting
in a great deal of organization informatio useful at a senior
management level.  

Anyone out there with any comments or suggestions ?

Ron Schultz

schultz@grebyn.com