This Blog entry is a follow on to https://blogs.oracle.com/oum/entry/oum_is_business_process_and
and addresses a question I sometimes get asked…..i.e. “when I am gathering
requirements on a Project, should I use a Process Modeling approach, or should
I use a Use Case approach?”
Not surprisingly, the short answer is “it depends”!
Let’s take a scenario where you are working on a Sales Force
Automation project. We’ll call the process that is being implemented “Lead-to-Order”.
I would typically think of this type of project as being “Process
Centric”. In other words, the focus will be on orchestrating a series of human
and system related tasks that ultimately deliver value to the business in a
cost effective way. Put in even simpler terms……implement an automated pre-sales
system.
For this type of (Process Centric) project, requirements
would typically be gathered through a series of Workshops where the focal point
will be on creating, or confirming, the Future-State (To-Be) business process.
If pre-defined “best-practice” business process models exist, then of course
they could and should be used during the Workshops, but even in their absence,
the focus of the Workshops will be to define the optimum series of Tasks, their
connections, sequence, and dependencies that will ultimately reflect a business
process that meets the needs of the business.
Now let’s take another scenario. Assume you are working on a
Content Management project that involves automating the creation and management
of content for User Manuals, Web Sites, Social Media publications etc. Would
you call this type of project “Process Centric”?.......well you could, but it
might also fall into the category of complex configuration, plus some custom
extensions to a standard software application (COTS).
For this type of project it would certainly be worth
considering using a Use Case approach in order to 1) understand the
requirements, and 2) to capture the functional requirements of the custom
extensions.
At this point you might be asking “why couldn’t I use a
Process Modeling approach for my Content Management project?” Well, of course
you could, but you just need to think about which approach is the most
effective. Start by analyzing the types of Tasks that will eventually be
automated by the system, for example:
Best Suited To?
Task Name
Process Model
Use Case
Notes
Manage outbound calls
Ö
A series of linked human and system tasks for calling and
following up with prospects
Manage content revision
Ö
Updating the content on a website
Update User Preferences
Ö
Updating a users display preferences
Assign Lead
Ö
Reviewing a lead, then assigning it to a sales person
Convert Lead to Quote
Ö
Updating the status of a lead, and then converting it to a
sales order
As you can see, it’s not an exact science, and either
approach is viable for the Tasks listed above.
However, where you have a series
of interconnected Tasks or Activities, than when combined, deliver value to the
business, then that would be a good indicator to lead with a Process Modeling
approach.
On the other hand, when the Tasks or Activities in question
are more isolated and/or do not cross traditional departmental boundaries, then
a Use Case approach might be worth considering.
Now let’s take one final scenario…..
As you captured the
To-Be Process flows for the Sales Force automation project, you discover a
“Gap” in terms of what the client requires, and what the standard COTS
application can provide. Let’s assume that the only way forward is to develop a
Custom Extension. This would now be a perfect opportunity to document the
functional requirements (behind the Gap) using a Use Case approach. After all,
we will be developing some new software, and one of the most effective ways to begin
the Software Development Lifecycle is to follow a Use Case approach.
As always, your comments are most welcome.