Why a Universal Business Process Library for OFBiz?
OFBiz is maturing. The framework is quite nice and has been pretty
stable for years. Based on it we've built all sorts of business level
functionality, creating an excellent set of generic base application
artifacts that can be reused in higher level applications. More
recently a number of people have started working on applications that
are meant for one special purpose or another.
To help push these efforts forward, to help refine the base and
special purpose applications in OFBiz, to create a starting point for
analysis for customization efforts, and to help organize ourselves as
a community I'd like to propose that we create a Universal Business
Process Library.
The general idea is to create something like the "Universal Data
Model" that has been the foundation of OFBiz for the last 7.5 years,
and that will continue to provide the basic business information
concepts that we all use on a daily basis. Instead of for data
structures, this would be for business processes.
I've spent some time over the years, and others I work work have spent
some time more recently, trying to find some sort of business process
library we could base this on, but with no real luck. The closest
things I've found are some semi-helpful books about business best
practices, and documents created as a part of a number of business
related specifications. I've started a page with those here:
http://docs.ofbiz.org/display/OFBREQDES/Resources+with+Information+about+General+Business+Processes
Still, these are not adequate for our needs, and even if they were I
think we would want something that the community could get behind to
maintain and expand, just like we do the code in OFBiz, and also tie
these artifacts to actual things that exist in OFBiz. So, here we are,
a few things I've thrown together to start assembling a Universal
Business Process Library:
http://docs.ofbiz.org/display/OFBREQDES/Universal+Business+Process+Library+Index
This isn't meant to include everything that every business might do,
but to be a library of general business activities that make up common
processes that are shared by a wide variety of businesses. Some may of
course be less commonly used, just as certain features in OFBiz are,
but the general intent will be similar to that of OFBiz, ie things
that can be customized and reused or used as-is for a wide variety of
businesses to help with their process automation efforts.
===========================================
That's it for the intro, now a bit more meat for those who are
interested in getting involved.
This library will consist of Business Process Stories. These stories
are basically a series of sentences, each one consisting of an actor
and an action. Just keep that in mind, it's _always_ actor and action,
actor and action, actor and action. Hopefully that's clear... ;) All
sentences need both, and may have conditions on them and other things
as well, but always need an actor and an action. One basic rule based
on that is no actions with actors.
The top level document has 3 main parts:
1. Actor Definitions
2. General Business Process Stories
3. Stories for Specific Types of Organizations
In part #2 we'll create the library of smaller stories that make up
parts of the higher level stories that are in #3. For example, look at
the Story of Retail Company:
http://docs.ofbiz.org/display/OFBREQDES/Story+of+Retail+Company
There are a lot of high level steps in that story that describe
general business activities. These are assembled in a way that makes
sense for a retail company, but many of the individual activities are
just as applicable in different parts of the high level stories for
other types of organizations.
Again, part #2 has smaller scoped processes that can be reused in many
different types of companies, and based on writing stories for
specific types of organizations we'll flesh that out to include a wide
variety of business activities organized according to yet higher level
business concepts, like the Marketing, Sales, Warehouse Management,
etc that are currently in there.
In part #2 each of these process names should also include both actor
and action, and for higher level things like this the actor should be
the "primary" actor for the story, there will certainly be other
actors involved in most of them.
The idea of using stories (aka "narratives") like this is a common
one. Part of the reason for writing them specifically in the way I've
described here is to make them a good starting point for business
process oriented use cases, that can then have system interactions
added to them (making them system interaction use cases) in order to
drive further UI and system design efforts. For those interested, this
is based on a lot of research I've done over the years while trying to
work more effectively with clients, and I'm working on a book on that
topic called "HEMP: Enterprise Software Analysis and Design", HEMP
stands for "Holistic Enterprise Mechanization Process". On a side
note, a better word for "mechanization" is "automation", but I thought
HEMP would make a more colourful and interesting title than "HEAP". ;)
===========================================
A Special Note on Testing: the requirements and designs that come out
of this effort will also help drive automated and manual testing
efforts that go on in OFBiz. Sometimes a problem with testing is we
don't know what to test, or what the business activities the software
is trying to support. This will help with the problem. Along with
these business process stories we may want test scenarios based on
them, that are linked to from the stories. There may be many things
linked to from these stories actually....
===========================================
If you'd like to get involved, please do! This is a chance for people
that come from more of a business background to get involved in OFBiz,
and do things that can help drive the direction of the project going
forward, and create a foundation for customization efforts that will
make OFBiz more valuable to end-user organizations.
-David
P.S. The content of this email is also available here:
http://docs.ofbiz.org/display/OFBREQDES/UBPL+Introduction