https://www.youtube.com/watch?
v=c8asK8iCaRk
Business Analyst Tutorial ----Basic Concepts
Who is a Business Analyst?
A software solution needs to address the business requirements of a wide
range of stakeholders. A Business Analyst acts as a liaison between business
people who have a business problem and technology people who know how
to create automated solutions. They act as business problem solvers. A
Business Analyst's main responsibility is to gather, detail, and document
requirements in a format that is appropriate to the technical developers.
They provide the process, questions, and techniques to efficiently extract the
information needed from the Business Users for successful development of
projects.
Business Analysts formulate a customized business solution, taking the
requirements into account. They understand and document business
requirements and work with clients to gather requirements and formulate
business specifications, translating them into application functionality.
A structured business analysis process will consist of the following:
Understanding the business
Analyzing competition
Analyzing the market
Defining and scoping the project
Gathering requirements
Analyzing and documenting requirements
Communicating requirements
Identifying a solution
Verifying that the solution meets the requirements
Understanding the business - The first step in delivering a solution to a
business problem is to understand the business. This involves studying the
following:
The product or service offering of the business
The unique selling proposition (USP) of the business
Validity of the business model and its underlying assumptions
The potential opportunities present in new markets or market
segments
The marketing plan
Analyzing competition – The business analysis team studies the competition. This
includes:
The investments made by the competitors in the area of business
The strengths and weakness of the competitors
The products/services and pricing offered by the competitors
The websites maintained by the competitors
Analyzing the market - The business analyst needs to understand the
market that the business is trying to cater to. To do this, he has to identify
the target audience for the products and services of the business, the size -
both actual and potential of the market and the way the business is
positioning and branding itself and its offerings.
Defining and scoping the project - Before he can begin to gather the
actual requirements, a business analyst needs to ensure that the scope of
the project is clear and complete. This involves understanding why the
project has been initiated and the goals of the project. A complete project
scope will name and define all the entities that are involved with the project.
This includes people, systems, internal departments, vendors and customers.
It should also include a high-level description of the business processes that
will be covered as part of the solution and a list of items that will not be
included.
A project scope document includes the following:
Vision and Statement of Purpose
Project Objectives
Project Viewpoint
Project Assumptions
Project External Interactions
Suggestions and Recommendations
Implementation options
Business Risks vs. Rewards
Competition Analysis
During this stage, a business analyst needs the following skills:
People skills to bring diverse groups together to agree on project scope
and build consensus
Ability to clearly document project scope using business terms
Ability to refrain from jumping to a solution before defining the
problem
Gathering requirements - This is one of the most important phases of the
business analysis process. It is absolutely critical that the business analyst
gathers the business requirements accurately before defining a software
solution.
To effectively gather requirements, the business analyst must assess the
type of the project, the people involved and the volume of information
required. Some of the techniques that he can use are:
Interviews with stakeholders
Facilitated information gathering sessions
Surveys and questionnaires
Observation of stakeholders performing their tasks
Study of existing systems and documentation
Gathering requirements is an iterative process. In addition to identifying the
requirements, the business analyst also needs to prioritize them to ensure
that the most critical issues are addressed first.
During this stage, a business analyst needs the following skills:
Asking the right questions
Active listening and empathizing
Facilitation skills
Interviewing skills
Ability to categorize and prioritize requirements
Note-taking
Analyzing and documenting requirements - After requirements are
gathered, they are analyzed and documented using an iterative approach. As
each requirement is analyzed, it generally leads to further questions. This
requires the analyst to probe further till all relevant issues are cleared.
The business analyst must ensure the requirements are documented in a
standard and consistent manner that is easily and clearly understood by all
members of the solutions team. To do this, the analyst may have to use text,
diagrams or a combination of both.
To manage and communicate requirements more easily, the business analyst
needs to categorize them as follows:
Business Requirements
Functional Requirements
Technical Requirements
During this stage, a business analyst needs the following skills:
Analysis skills
Understanding of system development methodologies
Modeling techniques
Prototyping techniques
Documenting
Communicating requirements - Once the requirements are clearly
documented, they need to be communicated effectively to the solutions
team. The business analyst acts as the main liaison between the business
users and the technical team. He needs to work closely with the Project
Manager to ensure that the project plan is adhered to and scope changes are
properly agreed upon, approved and documented.
The business analyst needs to conduct formal and informal group meetings
that include all the relevant team members when communicating
requirements to ensure that everyone understands the issues involved in the
same way. He needs to clarify any misunderstandings and unclear
requirements. It is important that the information is presented to the
business and technical audiences in a manner that is most appropriate for
their understanding.
During this stage, a business analyst needs the following skills:
Presentation skills
Writing skills to create clear email messages, memos and status
reports
Conducting comprehensive requirements reviews
Identifying a solution - The business analyst needs to work closely with
the business experts to recommend a suitable solution. He then needs to
work with the technical team in order to design the solution.
A solution recommendation may include changes to existing software, new
software, process or workflow changes or a combination of the above.
If the solution involves purchasing third-party software, the business analyst
needs to work with Business experts, IT staff and vendors in order to ensure
that the selected software meets business needs. In this process, the
business analyst may also be involved in preparing an RFP (Request for
Proposal) that contains detailed business and functional requirements.
If building new software or enhancing existing software is involved, the
business analyst needs to assist with the user interface, workflow design and
reporting capabilities.
During this stage, a business analyst needs the following skills:
Complete understanding of the business requirement
High-level understanding of systems design
Ability to estimate software costs and benefits and build a business
case for software implementation.
Ability to evaluate third-party software and solutions
Verifying that the solution meets the requirements - Even after the technical team
takes over the project, the business analyst continues to remain involved in order to
ensure that:
The technical design meets business requirements and usability standards.
The developed software meets the project goals. The final product passes
quality assurance tests and user acceptance.
During this stage, a business analyst needs the following skills:
High-level understanding of systems design
Knowledge of usability principles
Knowledge of testing principles
Ability to write and review test cases
It is evident from the above that business analysis plays a critical role in the
success of a software project from the start to the finish. The business
analyst plays an important role in every stage of the software development
life cycle and in ensuring that the solution that emerges out of the whole
process meets the business goals of all the stakeholders involved.
Software Engineering
Software engineering is the practice of using selected process techniques to
improve the quality of a software development effort. This is based on the
assumption, subject to endless debate and supported by patient experience,
that a methodical approach to software development results in fewer defects
and, therefore, ultimately provides shorter delivery times and better value.
The documented collection of policies, processes and procedures used by a
development team or organization to practice software engineering is called
its software development methodology (SDM) or system development life
cycle (SDLC).
The challenge in selecting and following a methodology is to do it wisely -- to
provide sufficient process disciplines to deliver the quality required for
business success, while avoiding steps that waste time, squander
productivity, demoralize developers, and create useless administrative trivia.
The best approach for applying a methodology is to consider it as a means to
manage risk. You can identify risks by looking at past projects.
If your organization has been plagued by problems resulting from poor
requirements management, then a robust requirements management
methodology would be well advised. Once this problem has been solved,
through a repeatable process, the organization might then streamline its
process, while ensuring that quality is maintained.
Every step along the system development life cycle has its own risks and a
number of available techniques to improve process discipline and resulting
output quality.
Moving through the development life cycle the following major steps might
be encountered:
Project charter and business case
Definition of the business process and business requirements
Documentation of user, functional and system requirements
Top level architecture, technical approach, and system design
System decomposition into component and unit specifications and
design
Coding, unit test planning, and unit test
Generation of test data for unit testing and system testing
System integration and testing
Implementation, delivery and cut-over
Training and user support
System upgrades and routine software maintenance
In addition, there might be support activities throughout the development
effort such as:
Configuration management (version identification, baseline
management and change control)
Requirements management and traceability
Quality management (quality assurance, quality
reviews, defect tracking)
System engineering reviews (requirements review, prelim.
and critical design reviews, etc.)
Support environment (development tools, libraries, files
management, data management)