Professional Documents
Culture Documents
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)
What is it that the customer really needs? What does the business need to
do to meet those needs?
Document the process at a high level (e.g. SIPOC) - confirm with the
business.
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.
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.
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.
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.
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.
SDLC PHASES
Design elements describe the software functions and features in detail to be built
Define system
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.
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:
This article will take 15 minutes to fully read practice and understand.
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.
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)
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.
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.
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.
This section is describing the steps of utilizing OneNote to represent the process, we will go
through the following steps:
so let us begin
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)
Go to Visio diagram drawn in Section 3 and copy and paste in into the Main
Diagram page:
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)
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)
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)
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:
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: