Chapter Summary
Chapter 4:
The Requirements (Business) Analyst
1
4.1 The Analyst Role
Gathers, studies, documents, validates requirements
Principal conduit between customer/user and developers
Not a job title; software engineers, managers, domain experts, users can be analysts
2
4.2 The Analyst’s Tasks, 1
Define business requirements ◦ Understand why project is being done ◦ Know project’s vision and scope
Identify stakeholders and users ◦ Know who is affected by success or failure ◦ Know who will interact directly with system
3
The Analyst’s Tasks, 2
Elicit requirements ◦ proactively, persistently ◦ variety of techniques—interviews, workshops,
surveys, observations, work flow analysis,…
Analyze requirements ◦ Find derived, implied requirements ◦ Find vagueness, conflicts
4
The Analyst’s Tasks, 3
Specify requirements ◦ Clear enough for customer/user ◦ Precise enough for developers
Model requirements ◦ Text usually isn’t enough ◦ Graphic models enable analysis ◦ Prototypes increase understanding
5
The Analyst’s Tasks, 4
Validation ◦ Lead the effort—schedule and chair the
reviews ◦ Ensure the excellence of the requirements ◦ Ensure correct interpretation—review the
code and test cases derived from requirements
6
The Analyst’s Tasks, 5
Facilitate prioritization—ensure successful negotiation between users and developers
Manage requirements ◦ Create the plan ◦ Establish baselines ◦ Control changes ◦ Track status
7
4.3 Essential Skills, 1
Listening ◦ Be attentive ◦ Confirm understanding ◦ Detect unspoken, implied needs
Interviewing and questioning ◦ Be able to talk with variety of people (even
aggressive or intimidating) ◦ Ask about normal and unusual uses and
situations ◦ Clarify uncertainties, disagreements,
assumptions 8
Essential Skills, 2
Analysis ◦ Deal with abstraction and detail ◦ Generalize and specialize ◦ Think critically ◦ Resolve conflicts from multiple sources ◦ Separate wants from needs, solutions from
requirements
9
Essential Skills, 3
Facilitation ◦ Be neutral ◦ Relieve tension between customer/user and
developers ◦ Build trust on all sides
Observation ◦ See the subtle, in user words or actions
10
Essential Skills, 4
Writing ◦ Express complex ideas clearly ◦ Have good command of customer/user
language ◦ Read efficiently and critically
Organization ◦ Structuring a large array of changing
information into a coherent whole
11
Essential Skills, 5
Interpersonal relationships ◦ Getting competitors to work together ◦ Mentor and educate
Creativity ◦ think of innovative capabilities ◦ satisfy needs that user hasn’t thought of yet
12
4.4 Essential Knowledge
Modern techniques ◦ Requirements engineering ◦ Software development
Project management Risk management Quality engineering Application domain knowledge
13
4.5 Making An Analyst, 1
Former User ◦ Good understanding of business, work
environment ◦ Little familiarity with engineering or technical
people ◦ May not respect current users ◦ May focus on user interface
14
Making An Analyst, 2
Former Developer ◦ Good technical skills ◦ Often lacking in social, organizational skills ◦ Little knowledge of business or application
domain
15
Making An Analyst, 3
Subject Matter (Domain) Expert ◦ Excellent grasp of problem domain ◦ Good at assessing reasonability and impacts
on users ◦ May prefer his own requirements over those
of actual users ◦ May create an unnecessarily ambitious system
16
END
17