Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Business Analysis Fundamentals

This e-book will help you understand the fundamentals of business analysis.
Contents

Introduction 3
What is business analysis 4
Who is a business analyst 6
Skills of a business analyst 8
Software Development process 11
Top SDLC Methodologies 14
Case Study 16
About Techcanvass 22

Business Analysis Fundamentals


2
INTRODUCTION
This tutorial will help you understand the basics of business analysis, role & skills
of a business analyst and tasks carried out by business analysts in a project. This
tutorial is intended for any professional (IT or non-IT professional), who would like
to become a business analyst.

Business analysts have been gaining importance in the IT industry, especially in the last
few years. This trend is expected to become better in the coming years. They play an important
role by enabling the customer organizations implement a software solution effectively and
efficiently. Business analysts work as an intermediary between the customer and the software
teams to understand & capture the requirements and communicate with the technology team.

This tutorial will help you understand the basics of business analysis, role & skills of a
business analyst and tasks carried out by business analysts in a project. This tutorial is intended
for any professional (IT or non-IT professional), who would like to become a business analyst.

• What does this tutorial cover?


• In this tutorial, we are going to cover the following topics:
• What is Business Analysis?
• Business Analyst Role and Responsibilities
• Certifications to become a business analyst
• Needs and Requirements
• Software development process
• Approaches to software development

We will conclude this tutorial with a comprehensive case study to help you understand the
concepts practically.

Business Analysis Fundamentals 3


WHAT IS BUSINESS ANALYSIS?
In this chapter, you will learn about business analysis from IIBA perspective.
International institute of business analysis (IIBA) is one of the leading organizations
promoting and evangelizing business analysis practice.

International Institute of business analysis (IIBA), Canada defines business analysis as:

“Business Analysis is the practice of enabling change in an organizational context, by


defining needs and recommending solutions that deliver value to stakeholders.”

Business analysis is the discipline of identifying business needs, determining the best-fit
solution and measuring the effectiveness of the solution. Business analysis comprises of three
key elements as shown below:

The first element of business analysis is to understand the problem/needs of the customer.
This is possibly the most important element of business analysis practice. Identifying the
correct problem is necessary before we can attempt to solve it.

Albert Einstein once said,

“If I were given one hour to save the planet, I would spend 59 minutes defining the problem
and one minute resolving it,”

Nothing highlights the importance of using right techniques and methodology to understand
the problems or needs, correctly. Needs are high level problem statements or business
goals. The needs must be detailed out to help the software development team to develop a
software application. The detailed version of needs is referred to as requirements. We will
discuss requirements and how does it evolve, in the guide later.

Business Analysis Fundamentals 4


The second element of business analysis is to determine – how to address or to solve the
customer needs. Evaluation of a solution can be conducted on multiple parameters, some of
them are as shown below:

 Cost vs benefit
 Risks analysis
 Financial analysis like Net present value
 Features of the solution & others…

Basic evaluation can be done based on cost and benefits (popularly known as Build vs
Buy). How does it help the customer? This analysis helps in taking a decision to develop a
solution from scratch or buy a product from the market.

For example, a customer may decide to develop a Financial accounting system from
scratch or may decide to buy a product like SAP, Oracle E-Business suite or Tally.

PS: The actual development and implementation of the solution is done by technology
team and is not part of business analysis practice directly.

The third and last element of business analysis is about measuring the solution
effectiveness. This is done by planning and implementing the ways to measure “What was
supposed to be achieved as business goal?”.

For example, if the customer organization wishes to improve the revenue in a state by
USD 1 million, this is a rather straight forward measurement.

Similarly, we can ascertain the metrics (the parameters to measure) and capture the data
to compute the metrics, once the solution is implemented. The actual values of metrics vs the
expected value of the metrics indicates the success or failure of the solution. Corrective
measures can be taken to fix the problem.

In this chapter, we discussed the business analysis practice and its elements. Now We will
focus IT business analyst and their role and responsibilities:
 Who is a business analyst? Who is an IT business analyst?
 What does an IT business analyst do? What are the roles & responsibilities of a
business analyst?
 What are the required skills of a business analyst?
Business Analysis Fundamentals 5
WHO IS A BUSINESS ANALYST?
In this chapter, we will discuss the role and responsibilities of an IT business
analyst.

A business analyst is a professional who is engaged in the business analysis activities. A


business analyst may not be conducting all the business analysis activities in every project or
initiative. However, a business analyst must be aware of these skills.

The focus of this tutorial course is to discuss the Business Analyst role in the IT
industry.

Role of an IT business analyst

An IT business analyst works with customer as well as technology team on a day-to-day


basis. The diagram below shows high-level view of an IT business analyst role:

An IT business analyst works as an intermediary between the customer and the


technology team to understand the customer needs and communicate it to the technology team.

Business Analysis Fundamentals 6


Business Analyst's Responsibilities

A business analyst performs multiple tasks during the software development process. We can
list down the key responsibilities of a business analyst as below:

Eliciting Requirements: One of the primary responsibilities of a business analyst is to co-


ordinate with the stakeholders to gather requirements for a software system. Business analysts use
one or more of the elicitation techniques to do so. Eliciting requirements involves multiple steps and
we are going to discuss it in detail.

Preparing Requirements Specifications: Once the requirements are understood, analysed


and reviewed, a document is prepared in the appropriate format for the stakeholders as well as for
the software development team to take it forward.

Managing requirements and changes to the requirements: Requirements need to be kept


up-to-date throughout the life of the software in existence. Requirements can be managed using
techniques such as RTT, Backlogs etc. It’s quite common to have changes to the requirements
during the software development lifecycle and business analysts handle the changes to the
requirements using a defined change request process.

Functional Testing: Business analysts also conduct functional or system level testing, where
they check the business processes and scenarios before the system is handed over to the customer
for User acceptance testing (UAT). The customer team tests the software before accepting it for
their usage.

UAT Co-ordination: During the testing conducted by the customer stakeholders, the
business analyst co-ordinates with the technology team to get the defects fixed.

Business Analysis Fundamentals 7


SKILLS OF A BUSINESS ANALYST
A Business analyst works as an interface between the customer and the
technology team. It’s an important role in every IT project. This means that a
business analyst needs to be good in technical as well as soft skills. In this guide,
we will discuss the top skills needed for an entry level business analyst

In the previous section, we discussed about the key responsibilities of a business analyst.
Which are the skills, which enable a business analyst to perform the responsibilities in an
efficient manner?
The key responsibilities of a business analyst can be discussed under the following
categories:
 Technical skills
 Soft Skills
Let’s first have a look at the technical skills for a business analyst.

Business Analysis Fundamentals 8


Technical Skills of a Business Analyst
Soft Skills of a Business Analyst
Business Analysts play an important
Business analyst’s role involves interfacing
role in understanding the customer
customer and the technology team. This
that soft skills are equally important for
requirements, modelling them and
BA to succeed. validating the system before getting it
delivered to the customer.
These are the top soft skills of a business
analyst:
It’s not possible to achieve all the

 Business Analysts must be good


above efficiently without having the
 Business Analysts must have good requisite skills. The technical skills, here,
writing skills refer to technical know-how,
 Business Analysts must be politically understanding of requirements elicitation
neutral & modelling techniques. Following are
 Business Analysts must have the some of the top technical skills for a new
to deal with conflicts business analyst:

These are some of the top soft skills of


(Please note that the technical skills of
business analyst. BABOK (Business
a business analyst do not mean
body of knowledge) from IIBA Canada,
down the following soft skills for a
programming skills at all.)
business analyst:
Requirements elicitation and gathering:
 Analytical Thinking Business analysts interact with the
 Behavioural Characteristics customer to gather requirements. It’s
 Communication Skills extremely critical to have the capability to
 Interaction Skills identify, analyse and structure the
requirements effectively. Understanding of
the various requirements elicitation
techniques is important. Equally important
skill is the ability to decide the most
appropriate techniques for a project.
Several requirement elicitation techniques are used in the software development
process like interviews, requirements workshops, joint application development (JAD),
Job shadowing etc.
Requirement Analysis and Modelling: Requirements analysis and modelling skills
help in converting the business requirements into a detailed set of requirements. These
detailed set of requirements are important for the technology team to develop the
system. Requirements analysis and modelling skills involve the following:

Business Analysis Fundamentals 9


 Decomposing the requirements for better understanding
 Creating process models for modelling business processes
 Creating Data models
 Preparing SRS document

UML modelling is one of the most popular modelling skills along with user story 3C
modelling, which should be learnt by business analysts.

The detailed requirements are captured in the system requirements specifications (SRS)
document. SRS is also known as FRD (Functional requirements document).

Managing requirements changes: Changes in the requirements, during the project


execution, is a reality and business analysts must deal with it. Business analysts follow defined
processes to manage changes. Managing changes involves the following:
 Analysing the change and discussing the priority with the customer
 Assessing the impact of the changes on the current system

Managing changes also needs understanding of the Requirement traceability table (RTT) and
product backlogs.

Verification and Validation: One of the important business analysis skills is the verification
verification and validation skill. Business analysts not only perform functional testing on the
developed software, but also work with the customer stakeholders, to co-ordinate during the user
acceptance testing phase.

Business analysts also need to review the requirement specifications document and they
should understand the criteria and techniques for reviewing a requirements document.

Domain Knowledge: Business analysts strive to understand the customer requirements


requirements clearly and completely so that a software can be developed, which can help
customer achieve their goal/business objectives. Understanding of the business terms, processes
and functions are important for understanding the customer requirements well.

For example, if you are working for a banking project, knowing about the banking industry,
its functions and processes will help you in understanding the requirements. well without missing
out the critical aspects. However, developing domain knowledge is a time-consuming process.

Business Analysis Fundamentals 10


SOFTWARE DEVELOPMENT PROCESS
In this chapter, we will explain the process of software application development.
There are a number of methodologies used by the IT industry like Waterfall,
prototyping and Agile. We will discuss the steps involved in the software
development process irrespective of the methodologies used.

This will help you in understanding the basics of business analyst activities in a project.
For an in-depth understanding, you need to read a book on business analysis or attend a
course. This chapter will help you to understand the basics.

Every software application goes through a series of steps, before it is suitable for use.
These steps are popularly known as phases of software development methodology. In this
chapter, we are going to take a look at these phases. We will also discuss the approaches used
to execute these phases.

A Software development process comprise of all the phases, as described in this section.
The methodology is also referred to as SDLC (Software development lifecycle methodology).

Requirement Development: Requirement development is probably the most important


important phase of any SDLC methodology. During this phase, the business analyst (and team)
interacts with the stakeholders (customer representatives) to elicit requirements. These
requirements are known as stakeholder’s requirements. Some of the techniques used to elicit
the requirements are – interviews, requirements workshop, observation, brainstorming etc.

The stakeholder requirements are analysed, structured and modelled (using various
modelling techniques like UML diagrams) to create requirement specifications document,
known as system requirement specifications document (SRS).

Business Analysis Fundamentals 11


Design: In this phase, project team develops the detailed solution and approach
for developing the software. During this phase, the design team decides on the
platform, database system and other approaches on the development of the system.

For example, if one of the requirements states that only authorized users can
the system, the design phase might involve specifying details comprising of:
 A login screen design (if not finalized during the prototype phase)
 A database table containing user ids and passwords

The solution is designed for each and every unit of the requirements before
system design phase.

Coding: In this phase, the development team writes the code for the system and
its modules. Based on the design document and program specification document, the
team carries out the coding.

Developers follow coding standards/best practices, when they write the code.
lead or senior programmer conducts technical reviews to enable programmer avoid
Technical or code reviews are important for defect prevention.

Developers are required to conduct self-testing before handing it over for the next
of testing.

Testing: Testing phase refers to the testing of the developed software. The
software application is tested at three levels. These levels are:

• Unit Testing
• Integration Testing and
• System Testing.

We use test cases to conduct these levels of testing. These test cases are prepared
functional testing professionals using the requirement specifications document (or
name is given to it), design document and program specifications document.

Business Analysis Fundamentals 12


Unit testing refers to the testing of individual screens or program units and is conducted
by programmers (not by the programmer, who developed it).

Example, testing the following contact us page on Techcanvass website is an example


example of unit testing. In this case, the focus is to check individual data elements and
operations on the screen. Does the name accept number field? Can it be left blank? That will
be the focus of the unit testing.

Integration and system testing are generally carried out by the functional testing team.
However, business analysts must participate in the system testing to ensure that right system
is delivered to the customer.

UAT & System Implementation: The customer conducts their own round of testing once
testing once the development team completes all the three levels of testing, as described in
the previous phase. The customer testing phase is known as user acceptance testing (UAT).
Business analyst helps the customer in conducting the UAT and co-ordinates with the
development team for defect fixing. Business analyst also trains the customer team on the
developed software for conducting UAT.

Once the UAT is completed successfully, the system is ready to go LIVE. Large systems
and business critical systems are put on dry or parallel runs to make sure that there are no
unforeseen errors, when the system goes LIVE.

Business Analysis Fundamentals 13


TOP SDLC METHODOLOGIES
In this chapter, we will discuss the 2 most commonly used methodologies in the IT
industry. As you must be aware that, we are slowly and steadily moving towards
adopting agile methodologies. But it is important that you understand Waterfall as
well Agile Methodologies

Waterfall Methodology

One of the most popular and simple software development methodologies. As the
suggests, all the phases of waterfall are carried out in a sequential manner as shown

Requirement UAT & System


Every software application
Development
System Designgoes through a series of steps,
Development before it is
Testing suitable for
Implementation

We have discussed about each of the phases in the previous chapter. Waterfall
methodology is the oldest software development methodology.

Key Features and advantages of using this methodology are given below:

 Each of the phases have clearly defined entry and exit criteria, so it brings
discipline
 This methodology is simple to understand and simple to implement
 Every phase exits with a signed and approved document

However, there are certain drawbacks of this methodology, which has led to rapid
adoption of Agile and other methodologies:

 This is a documentation heavy methodology and creates a lot of overhead


teams
 Accepting changes at later stages of the project becomes very difficult
that’s a major issue, as changes are normal in any software project
 The customer involvement is not frequent and regular and that leads to
Business Analysis Fundamentals 14
Agile Methodologies

Agile software development methodology is not a single methodology, it is


to represent a family of methodologies, which follow agile principles as suggested by
alliance (https://www.agilealliance.org/).

An agile methodology is characterised by the following features:

 Unlike waterfall methodology, the project is divided into small iterations


to 4 weeks
 Customer interaction happens at the end of every iteration and their
are taken to improve the next iteration as well as accommodate changes
 Only a few documents are prepared

Agile methodologies have proved to be better suited for the IT industry and that is
because:

 It allows more frequent customer collaborations and that leads to few


between the customer expectations and delivered software
 Small iterations also allow the teams to accommodate more changes in
system, unlike waterfall
 Only minimal documentations are recommended, thereby reducing the
additional burden and cost of the project

In the next chapter, we will be discussing a case study to help you understand the
a business analyst in a software project and what happens in each phase of the

Business Analysis Fundamentals 15


In this chapter, we will
take a case study to help
you understand various
phases of software
development. You will
also be able to
understand the tasks
CASE STUDY
conducted in each phase
by a business analyst and
other roles.

Business Analysis Fundamentals 16


CASE STUDY
This case study relates to a small application to be created by an Oil and gas
marketing and distribution company.

Business Goals/Needs

A large petroleum and LPG (Liquified petroleum Gas) marketing and distribution
company, GPG corporation is looking to streamline the process of accepting
new LPG connections from across the country.

The customer does not want to overload its local offices in each city to deal with
paperwork. This will put a lot of pressure on the staff and will impact the current
(booking of cylinder re-fills and delivery) adversely.

Business Requirements

GPG Corporation wants a simple web-based application to accept the application


new connections online. The application should accept the following details from each
applicant:

 Name (Salutation, First name, Middle name, Last Name)


 State, district and distributor
 Date of birth
 Mobile Number
 Email ID

Requirements Development Phase

A business analyst (with or without a team) engages the stakeholders to analyse


create a detailed specification. Any of the elicitation techniques can be used to achieve

Business Analysis Fundamentals 17


During these engagements, business analyst will start by asking some basic questions
like:

 Can an applicant apply for multiple connections?


 If no, then how will we identify each applicant uniquely
 Who will get and process these applications?
 What are the steps/tasks involved from application to approval stage?

These questions lead to more information and it’s business analyst’s responsibility to
analyse and structure it for better understanding. The last question will help you understand
the steps of the process as shown below:

This task of creating a visual model of the process is known as process modelling. Once
the process model is created, detailing of each step can be discussed. Let’s focus on the first
step of application submission.

The pertinent questions at these steps are:

 What will be the data elements or information, which need to be captured for
an application?
 How will the application look like?
 Which of the data elements will be mandatory or text or number?

Business Analysis Fundamentals 18


The first two questions can be answered by creating a prototype or a screen design. In
this case, we create a prototype as shown below:

This prototype is shared with the stakeholders and an agreement is reached on the
design. The discussion then focusses on understanding each data element on the screen.

This is achieved by creating a logical data model for the application. A logical data
model is not a table but captures details about the data elements on the screen. A logical
data table is created as shown below for the LPG connection application:

LPG Connection Application

Screen Fields Type Size Rules

Reference Data, will come of State


State Choice NA
List

Reference Data, will come of


District Choice NA
District of state List

Reference Data, will come from


Distributor Choice NA
distributors of selected district

This is a snapshot of the full table, which will have details for all the fields of screen.

Business Analysis Fundamentals 19


All these details are then put together into a specification document e.g. System
Requirement specifications (SRS) or Functional requirements document (FRD). There are other
details also in the specification document like:

 Non-functional requirements
 Assumptions and constraints
 Acceptance Criteria

The requirements are then reviewed and run through the customer stakeholders for
approval (validation). During this phase, the primary actor is a business analyst and is
supported by other members.

Design Phase

Once the requirements are captured and finalized, these are handed over to the
technology team for designing the solution. During this phase, the business analysts are
expected to share the requirement details with the technology team.

During the design phase, the following tasks are carried out:

 The technology platform is selected. In this case, the team decides to use .NET
platform and this application is going to be a web-based application.
 The database system is selected to be Microsoft SQL Server
 The table structures are finalized.
 The database procedures are designed.
 The architecture of the system is also decided. However, in this case, we don’t
need any special architectural consideration as it’s a tiny application.

Coding Phase

It is a very small application and a 2-member .net programming team was put in place to
develop the application. Each of the programmers developed the software and conducted
their own round of testing.

Business Analysis Fundamentals 20


The programmer, who wrote the code for the new connection application, conducts self-
testing by checking – if the application is submitted to the server correctly.

Testing Phase

Once the coding phase is over, the testing is carried out. The programmers test each
other’s code by using test cases. This is known as unit testing.

Since this is a very small application, there is only one level of testing after unit testing
i.e. a combined integration and system testing.

Business analyst tests the application from the end-to-end process perspective. In this,
he conducts the testing to ensure that the application for new LPG connection is submitted
and is then received by the distributor.

UAT and System implementation

This is the last phase and, in this phase, GPG corporation stakeholders conduct the
testing. Once they are satisfied with the results, the details of the distributor are captured.

Finally, the application is deployed on the server so that it is accessible by public.

Conclusion
In this business analyst basics tutorial, we discussed about the concepts of business
analysis, the tasks of business analysis & the role of a business analyst. We also discussed the
software development process and the approaches and how does a business analyst
participate in it.

In the end, we presented a case study explaining the tasks carried out in each phase.

If you are a business analyst aspirant, this was a good starting point. The next step
would be follow the steps outlines in the book “How to become a business analyst?” or talk to
a training organization providing the certification training, if you have zeroed on to a
certification.

Business Analysis Fundamentals 21


This e-book is brought to you by Techcanvass.
Techcanvass is a business analysis, project management
and automation testing certifications training academy.

Do write to us your suggestions and feedbacks at


[email protected]

www.techcanvass.com
+91 22 40155 175
[email protected]

Techcanvass Offers the following courses

Business Analyst Courses Automation testing


courses
ECBA Certification Training Selenium 3.0 with Java

CCBA Certification Training Selenium 3.0 with Python

CBAP Certification Training Advance Selenium Course

BA training with banking BDD with Cucumber


domain
Certified Agile business Agile Automation testing
analyst training

Business Analysis Fundamentals 22

You might also like