You are on page 1of 19

Current process (Current state or as is assessment) new process(Future

state or to be assessment)

Contents
Business Requirement Process................................................................................... 2
Step 1: Define the successful customer outcome(s) DEFINE BUS / USER
REQUIREMENTS....................................................................................................... 2
Step 2: Define the process scope DEFINE SCOPE....................................................2
Step 3: Define the current process DEFINE FUNCT/TECH(NON FUNCT)
REQUIREMENTS....................................................................................................... 2
Step 4: Improve the process / define new process..................................................3
Step 5: Link Process Tasks to Procedural Steps.......................................................3
Step 6: Link Procedural Detail to Business Requirements.......................................3
Step 7: Link Business requirements to test scenarios.............................................3
Step 8: Build it. Iteratively....................................................................................... 3
SDLC PHASES............................................................................................................. 4
Requirements Definition Phase............................................................................... 4
System Design Phase.............................................................................................. 4
Development Phase................................................................................................ 4
Test Phase............................................................................................................... 4
Gathering requirements for business process automation (workflow)........................5
Current process (Current state or as is assessment) new process(Future
state or to be assessment)

Business Requirement Process

Step 1: Define the successful customer outcome(s) DEFINE BUS /


USER REQUIREMENTS

What is it that the customer really needs? What does the business need to
do to meet those needs?

Step 2: Define the process scope DEFINE SCOPE

Establish what the process actually is from the customer's perspective -


current state (if a current state exists!). Don't take the business's word for it -
their interpretation of what a process is may be radically different to yours.

Document the process at a high level (e.g. SIPOC) - confirm with the
business.

Step 3: Define the current process DEFINE FUNCT/TECH(NON FUNCT)


REQUIREMENTS

Proceed to document the process at a task level. Don't waste too much time
on the as-is if you are going to change the process. Photos of sticky notes on
a wall is sufficient.

Functional requirements are functions or features that must be included in a


system in order to satisfy the business needs and be acceptable to the
system users.(WHAT IT should do NOT HOW) Typical functional requirement
types are:
Technical Specifications
System Parameters
System Constraints
Calculations
Data manipulation and processing
nonfunctional requirements focus on the properties or qualities a system
must have. Typical functional requirements types are:
Efficiency
Services
Control
Information
Performance
Usability:
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
Prioritize the important functions of the system based on usage patterns.
Frequently used functions should be tested for usability, as should complex
and critical functions. Be sure to create a requirement for this.
Reliability:
Users have to trust the system, even after using it for a long time.
Your goal should be a long MTBF (mean time between failures).
Create a requirement that data created in the system will be retained for a number
of years without the data being changed by the system.
Its a good idea to also include requirements that make it easier to monitor system
performance.
Performance:
What should system response times be, as measured from any point, under what
circumstances?
Are there specific peak times when the load on the system will be unusually high?
Think of stress periods, for example, at the end of the month or in conjunction
with payroll disbursement.
Supportability:
The system needs to be cost-effective to maintain.
Maintainability requirements may cover diverse levels of documentation, such as
system documentation, as well as test documentation, e.g. which test cases and
test plans will accompany the system.

Step 4: Improve the process / define new process

List all the tasks in the current process and eliminate or improve tasks
focussing on the outcomes required. If a new process, sticky note the tasks
required to achieve the outcomes required with the minimal amount of
activities.

Don't just consider "sunny day processes" where everything goes right -
consider everything that can go wrong! Look at the paths from every
business rule in your process. Consider all process permutations.

Step 5: Link Process Tasks to Procedural Steps

For each task, create procedural steps - how and why each process step is
done rather than what is done. This can be done very simply in a
spreadsheet. What's more, you can then split it into a procedural document
for your staff to use for training and day-to-day operational procedures.

Step 6: Link Procedural Detail to Business Requirements

The procedural detail helps to create a granular level of detail that greatly
benefits the creation of specific requirements. It forces the analyst to think of
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
all possible permutations and options - it forces them to think in the context
of the real world, not a gobbledegook business requirements document.

Step 7: Link Business requirements to test scenarios

Use procedural detail and business requirements together to develop test


scenarios and use cases - IT can then use these for their unit testing then
they can be re-used for user testing. Easy.

Step 8: Build it. Iteratively.

Presuming that there is actually an IT solution involved (and let's face it,
there usually is), it's best to adopt an iterative (agile) approach where there
are short development cycles with high business involvement. I have seen
too many waterfall development disasters in my time.

So in eight steps a Business or Process Analyst can create complete


traceability from the customer outcomes to the delivery.
Current process (Current state or as is assessment) new process(Future
state or to be assessment)

SDLC PHASES

Requirements Definition Phase


define the major functions (critical processes to be managed, including mission
critical inputs, outputs, and reports) of the intended application or system
Major functions include. Define business and user requirements
understanding the capabilities, features and functions end-users need
requirements gathering (as is assessment) and requirements analysis (to be
assessment) are required across business, end-user, functional, and technical
needs to-determine what capabilities they require to be more effective
developing a "gap analysis"

System Design Phase

Design elements describe the software functions and features in detail to be built
Define system

starts with approved requirements as it initial input (functional diagrams,


screen layouts, business rules, business process diagrams, and an entity-
relationship diagram with a full data dictionary)

Translate (user)requirements into (system) solutions to create the systems,


features, and functions that are necessary to achieve the business and
functional requirements.

Protyping I use to serve as a bridge between requirements, design and


development; a mockup of the proposed screen layouts, while a more
complex prototype may have selected business rules instantiated as work
flows within the application with active fields to capture and show data or
information

solutions are designed to deliver business requirements and comply with organisations
enterprise architectur

Development Phase
unit test, all features are tested individually

Test Phase
Software features and functions are tested to verify the correctness and
completeness of the software
various types of tests (e.g., unit, integration, system, stress),
validates the efficiency and effectiveness of the requirements and design
includes the scope of work necessary to analyze and document testing
requirements to ensure the solution will implement desired capabilities and
perform
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
o Technical testers will ensure the underlying hardware, software,
network, database, work flow, and security components conform to
architectural, design and performance requirements (test case set
of conditions or variables under which a tester determines whether the
software satisfies requirements and functions properly.)
Title
Description
Test steps
Expected result
Actual result (Once tested)
o End-users will test and validate conformance of the user interfaces,
screens, data fields, data flows, and reports for business processes
and/ or user functionality (use case- requirements specification that
capture how a user will interact with a solution to achieve a specific
goal. They describe the step by step process a user goes through to
complete that goal using a software system.)
Independent Software Quality Assurance (QA) tests confirm the development
team has followed organization's quality processes and procedures, and that
the solution meets established quality metrics. fg
Installation & Acceptance Phase: become the watchdog over the
project via data that is collected from project, technical, and frequent status
meetings, including the identification of risks, issues and action items that may be
identified as the project evolves.

Gathering requirements for business process


automation (workflow)

It is very common in IT projects to face a client asking for an automation for some manual
process like a leave request or an Invoice initiation; this requirement forms a big challenge on IT
people as a Project Managers, Business analysts, architects, testers and developers; due to the
following reasons:

1. Manual processes are well-known and practiced by people (Customers) who


doesnt have IT background : converting a manual process to a real efficient automated
process needs some creativity, imagination and good analytical skills adding to that some
strong IT knowledge which is not easily found in a normal business user.
2. Documentation availability: most of the times; documentation of business
processes is missing or out of date and most of the context is known by heart.
3. Process engineering: process engineering is the step that should come before starting
the IT analysis process, but unfortunately this activity is often ignored, and if it is not
ignored; it usually done by purely business people who does not consider Information
Technology standards, best practices and limitations, so you will find a lot of missing details
that highly affect the process and some non-practical assumptions that are difficult to
implement.
4. Change Management: Technically; changes on Workflow and business processes in
IT projects are extremely expensive; so it is always better to have a complete understanding
of the business before starting the technical implementation.
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
So this article will simply give you as an IT person a full guidance; utilizing some
simple tools (Visio and OneNote); on how to gather a requirements from a client during
the analysis phase for workflow based business, and for illustration purposes; I utilized
the leave request business process as real life example.

This article will take 15 minutes to fully read practice and understand.

You can download related files from here:

Technologies and Environment Preparations:


You need to have the following tools installed in your PC:
Microsoft Visio (any version)
Microsoft OneNote (any version)

In this article I am using Microsoft Visio 2010 and Microsoft OneNote 2010,
However; it is not a must to comply with the those versions.

Assumptions:
Users who read this article should have familiarity with IT based projects, in addition to basic
knowledge of Microsoft Office products that will be used on this article.
This article is targeting technical and non technical users so you will not find any technical
implementation details for workflow, it is just a guidance for the gathering the requirements
Always when you read my blogs, Gray paragraphs are there for extra illustration, you can
safely skip them if you dont want to understand to go with details.

Plan:
Before we start, it is good to know what we are going to do, so we will follow this sequence:
Section 1 Explain the real case scenario (Leave Request).
Section 2 . Exploring Business perspective.
Section 3 Exploring IT Perspective.
Section 4 Implementing the diagram with OneNote & Visio.

Solution:
Section 1 Explain the real case scenario (Leave Request):
Leave request is one of the most common scenarios that may be found in almost
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
every company, although this process is very simple and basic; I believe that it is very
suitable for the purpose of this article since almost everybody is familiar with this
process and a lot of its activities can be found in many other business processes.

Our scenario can be described as the following:


An employee decided to request a leave; he fills the form describing the purpose and
time of the leave, then his team leader will either approve or reject his request, after
that the HR (Human Resource Employee) will either approve or reject this request.
that exactly what you will hear from a normal business user.

Section 2 Exploring Business perspective:


Now, you need to define the process in a more business oriented way, here we will
open Microsoft Visio to represent the process:

Before you start; you need to consider the following factors:

Define Actors: The first and the most important data that you need to gather about the
process is the actors (people who are participating in the process); In our business process;
we have three actors: Employee, Team Leader and HR.
Define Activities(Human Activities): Activity represents any interaction between
user and a form ( i.e. ASP.NET or InfoPath form) so you need to define these activities; we
have three activities; Employee Submits Leave, Team Leader Approval and HR
approval.
Define activities flow (logical sequence): It is also essential at this point to
determine the the sequence of the steps, please consider the following when you work on
that:
Starting and ending activities: Always define the start up activity and closing
activity.
Parallel and serial paths: some times workflow takes a parallel shape where
more than one actor can participate without the need of waiting the other to finish his
task(call center scenarios may be also considered), our case is purely serial process.
Nested calls: some times one activity calls another process, or finishing a
process considered a startup of a new process.
Actors relationship: ask you self, after finishing this activity; who is the next
actor?; for example; if the employee submit his leave request; which team leader should
continue the process ( we may have more than on team leader in the department) is it his
direct manager on the Active Directory; or there is some business database that store
each employee with his team leader or there is one team leader for all the employees.

Drawing this diagram is very easy task you just need to go to Start Menu || Microsoft
Visio 2010 || File || New || (in Template Category) Flowchart ||Select Cross-
Functional Flowchart || Select Horizontal
Current process (Current state or as is assessment) new process(Future
state or to be assessment)

You will have initially the following diagram:

Consider the following when you do the drawing:

Your quote at this level is Devil is in details , so try to summarize as much as you can
at this step.
We use three shapes on this diagram
Polygon: For start and end points
Diamond for approve/Reject (of activities that may have more than one out
put decisions)
Square:for one direction activities.
Current process (Current state or as is assessment) new process(Future
state or to be assessment)

As you can see from the diagram, activity that comes on the space of the actor indicates
that this activity is done by him; for example; Employee Submission activity is
clearly done by employee as it comes on the area next to employee.

Section 3 Exploring IT Perspective:


Although the name sounds technical; this section should also be handled by business analyst (the
person who is gathering and documenting the requirements), remember that the previous Visio
diagram is useful to to document the process in a more tangible way; but still doesnt mean
anything for the developer and still open for a lot of debates from the client side.

Remember that diamonds and squares doesnt count for developers; what counts for technical
people is forms, clicks, database and code and so forth, so let us try to enhance this diagram to
meet developers expectations!

Initially let us do the following assumption; Each step in the work flow is mapped to a UI
Form(i.e. ASP.NET or InfoPath form), and as we discussed before-we will also call it
an activity; so let us first find a name for the three activities mentioned above:

Employee Submission.
Team leader approval.
HR Approval.

Let us begin with the details

If we want to talk IT word; workflow consists of the following components: Actors, How to
reach the form, Data to entered, Data to be viewed, decisions, Security, Business
constrains, input Validation, Emails and Tasks.

We will discuss all these components in details taking in consideration that we have three
activities; that means that we have three slots of these components.
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
1. Actors: we have the following actors:
Employee Submission: the Actor is Employee.
Team Leader Approval: the Actor is Team Leader.
HR Approval: the Actor is HR.
2. How to reach: we mean by this the click that takes you to the form
Employee Submission: User goes to the main menu in the intranet and click
on My E-services || Request New Leave (this is just and example)
Team Leader Approval: Team leader can enter this form in two possible ways:
Click on the link from his email (an email will be sent to the Team leader
once the employee submits his leave request)
Click on the task (a task will be created and assigned to the team leader
once the employee submits his leave request)
HR Approval: HR can enter this approval form in three possible ways:
Click on the link from his email (an email will be sent to the HR once
the Team leader approves the leave request)
Click on the task. (a task was created once the team leader approve the
leave request)
Click Action button on the leave request item on the HR portal (in this
case; HR employee has an access to a page that can query all requests for reporting
purpose; so he can use this page to reach HR Approval form as well)
3. Data to be entered: this is the expected data to be filled into the form
Employee Submission: employee will fill the date time (using a date time
picker) and will fill the reason of the leave request (free text box)
Team Leader Approval: will fill a comments box.
HR Approval: will fill a comments box
4. Data to be viewed: Data to be viewed is the data that user will see on the form (this
data facilitate and aid the user in taking the decision ).
Employee Submission: current leave balance for this year and the name of his
team leader.
Team Leader Approval: team leader may be interested in the following:
Leave Request date and time (Filled by Employee)
Leave request reason (filled by Employee)
Resource sheet and current project status.
HR Approval: HR may be interested in the following:
Leave Request date and time (Filled by Employee)
Leave request reason (filled by Employee)
Employee Current balance ( taken from HR system)
Employee leave history (taken from HR system)
Comments provided by Team leader.
5. Actions: Actions are the available decisions that can be done by actors which control the
flow of the process, one activity may have one or more actions as the following:
Employee Submission: this activity will have only one possible action, I will
discuss the concepts in the this activity:
Submission: (clicking on the submit button) each action will have 5
related considerations which are:
Security: in our case it is Employee ( normally it is equal to the
actors, but in some cases different users can do the same activities but with
same permission set).
Business Constrains: we have the following constrains:
User cannot request a leave if his leave balance equals to
zero.
User cannot request a leave if he has got an HR warning
letter in the previous two months.
Input validation: This is a validation on the input data:
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
Leave date time: Required, should be a date between
current date + 1 year
Reason: Required, should be a free text that is less than 50
character.
Email: Email notification that will be sent upon doing this action.
An email will be sent to Team leader.
confirmation email will be sent to employee
Tasks:
A new task will be assigned to team leader.
Team leader Approval:
Approve:
Security: Team leader Can do that.
Business Constrain: No Business constrains
Input validation:
Comments: not required, less than 50 character.
Email:
HR.
Employee (FYI)
Team leader (Confirmation)
Tasks:
HR
Reject:
Security: Team Leader Can do that
Business Constrains: No business constrains
Input validation:
Comments: Required, less than 50 character
Email:
Employee: (FYI)
Team leader ( Confirmation )
Tasks: No tasks
HR Approval:
Approve:
Security: HR Can do that
Business Constrains: no business constrains
Input validation
Comments: not required, less than 50 character
Email:
Employee ( FYI)
Team leader ( FYI)
HR ( Confirmation )
Tasks: No tasks
Reject:
Security: HR Can do that.
Business Constrains: No business constrains
Input validation
Comments: Required, less than 50 character
Email:
Employee (FYI)
Team Leader (FYI)
HR (Confirmation)
Tasks: No tasks
6. Custom triggers: (Some times called system activities) these are automated actions
that are done by the system it self as a reaction of executing and activity, a good example of
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
this is an insert into a databases or a call to a web services that communicate with external
systems.
Employee Submission: No custom triggers.
Team Leader Approval: No custom triggers
HR Approval: Here once the leave is approved; an update statement will
happen against the Human resource database to subtract the value of the leave request
from employee leaves balance.

Section 4 Implementing the diagram with OneNote:


This is the most existing section! Section 3 was just a detailed explanation of what we will be
done here, let us start utilizing Microsoft OneNote ( which is in my opinion the best tool
Microsoft ever done), I am using OneNote 2010 but you can use earlier or later version of the
product, so here we go!

This section is describing the steps of utilizing OneNote to represent the process, we will go
through the following steps:

Step 1: Create new note book and section


Step 2: Add the Visio diagram
Step 3: Create the template for the activity
Step 4: Fill one activity ( as and example)
Step 5: Link the activities to the Visio diagram

so let us begin

Step 1: Create new note book and section

Open Microsoft OneNote from Start menu (if you dont have it you can get it from here), then
click on File || New || (Store Notebook on) My Computer || (Name) type Workflow ||
Click Create Notebook
Current process (Current state or as is assessment) new process(Future
state or to be assessment)

Rename the section to Leave Request Workflow

Step 2: Add the Visio diagram

Rename the Untitled Page to Main Diagram.


Current process (Current state or as is assessment) new process(Future
state or to be assessment)

Go to Visio diagram drawn in Section 3 and copy and paste in into the Main
Diagram page:

Step 3: Create the template for the activity


Current process (Current state or as is assessment) new process(Future
state or to be assessment)
Go to New Page || Name the title Activity 1 || Create the following table on the page
( you can take it from the Attachment at the end of the article)

To accelerate the process of filling the data, you can add the common fields that may
have the same values in all over the process with template ( like in How to
Reach section, you can add Click on the task as it will be the same for all activities)

Click on Arrow Next to New Page || Page Template ||

Then click on Save current Page as a template

You will get popup that allow you to name the template, type Workflow activity in the
text box and you can optionally check Set default template for new pages in the
current section then click Save
Current process (Current state or as is assessment) new process(Future
state or to be assessment)

Delete the Activity 1 page.

Now we are ready to visit our client and start gathering requirements, so we can start
filling the fields ( described in section 3) as the following
Current process (Current state or as is assessment) new process(Future
state or to be assessment)
Now you have a stored template that has an already created table and you just need to
fill it ( it is recommended to add some already filled sections to the template for
example; how to reach section will always contain the sentence Click on
task except on the first step; so you can add this to the template to accelerate the
work)

Do the same for the next two activities.

Step 5: Link the activities to the Visio diagram

We are almost done except one thing that will add good value to our diagram which is linking the
diagram with the activities pages. so let us start:

Go to Main Diagram page and type Details under each activity:

Now start linking the pages with email of those Details labels; so Right
click on Employee Submission || Copy Link to page.

Then go to the Details word under Employee Submission Activity || Select the
text ||Right click on it || Link || (in side address: text box) paste copied link
Current process (Current state or as is assessment) new process(Future
state or to be assessment)

Do the same for the other two activities, then you will end up with the following on
the Main Diagram page:

Download the sample from here

You might also like