Chapter Summary

aaarrrttt
chapter4.pdf

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