Sei sulla pagina 1di 16

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:

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.
It’s a good idea to also include requirements that make it easier to monitor system performance.

Performance:
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

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 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 organisation’s
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
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)
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

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
doesn’t 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.
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.
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

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 don’t 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
– 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
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

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

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 doesn’t mean
anything for the developer and still open for a lot of debates from the client side.
Remember that diamonds and squares doesn’t 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.
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)
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

 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:
 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.
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

 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 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…
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

Step 1: Create new note book and section


Open Microsoft OneNote from Start menu (if you don’t have it you can get it from here), then
click on File || New || (Store Notebook on) My Computer || (Name) type Workflow ||
Click Create Notebook

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

Delete the Activity 1 page.


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

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:
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

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

Do the same for the other two activities, then you will end up with the following on
the Main Diagram page:
Current process (Current state or “as is” assessment) new process(Future state or “to be” assessment)

Download the sample from here

Potrebbero piacerti anche