Everything You Wanted to Know About Requirements Analysis
Purpose, Techniques and Tasks.
The purpose of requirements analysis is to specify requirements at a level that allows developers to develop systems according to stakeholder needs. Developers need detailed level requirements to construct solutions. Poor requirements analysis can result in large number of requirement changes!
Requirements analysis uses multiple techniques. The most popular ones are:
- Business rules analysis
- Concept modelling
- Data dictionary
- Data flow diagrams
- Data mining
- Data modelling
- Glossary
- Interface analysis
- Non-functional requirements analysis
- Process analysis
- Process modelling
- Prototyping
- Sequence diagrams
- State modelling
- Use cases and scenarios
- User stories
Organize requirements
Purpose: To organize requirements into appropriate requirements levels and categories.
Stakeholders: Domain SME, End user, Implementation SME, and Project manager.
Inputs
- Confirmed requirements
- Organization process assets
Elements
Organize requirements according to type of requirement (Functional, non-functional, constraint), level of requirement (High level vs. detailed).
Outputs
- Organized requirements.
Tools and Techniques
Functional decomposition, Requirements templates.
Prioritize requirements
Purpose: To ensure project efforts focus on the most critical requirements.
Stakeholders: Sponsor*, Domain SME*, Implementation SME*, Regulator, and Project manager*.
Inputs
- Business need
- Business case
- Organized requirements
- Requirement prioritization guidelines
- Stakeholder list, roles, and responsibilities
Elements
- Enhance requirements attributes.
- Prioritize requirements.
- Manage requirements prioritization challenges.
Outputs
- Prioritized requirements
Tools and Techniques:
Ranking, Decision analysis, Risk analysis, MoSCoW analysis, Time-boxing, Budgeting and Voting
Model and elaborate requirements
Purpose: To model and elaborate prioritized requirements using a combination of matrices, diagrams, and mathematical formulas.
Stakeholders: Domain SME.
Inputs
- Prioritized requirements
Elements
- Elaborate requirements.
- Model requirements.
Outputs
- Modeled requirements
Tools and Techniques:
Data flow diagram, Functional decomposition, Interface analysis, Non-functional requirements analysis, Organization modelling, Process modelling, Prototyping, Scenarios and use cases, State diagrams, and User stories, Matrix model, Use case specifications, Flow charts, Decision tables, Activity diagram.
Prepare requirements packages
Purpose:
To package set of requirements in an appropriate manner for effective stakeholder communication.
Stakeholders: Primary responsibility of Business Analyst.
Inputs
1. Business analysis communication plan.
2. Organizational process assets.
3. Requirements.
4. Requirements structure.
Elements
1. Prepare work products, and deliverables.
Outputs
1. Requirements package.
Tools and Techniques:
Requirements documentation templates
Verify requirements
Purpose:
To ensure requirements and packages meet necessary standards of quality. To identify defects in the requirements before presenting to other stakeholders.
Stakeholders: Primary responsibility of Business Analyst.
Inputs
1. Packaged requirements
2. Requirements quality criteria.
Elements
1. Review requirements.
2. Update requirements based on review.
Outputs
1. Verified requirements
Tools and Techniques:
Requirements review checklist, Commenting, Inspection, Prototyping, Peer review, Structured walkthrough.