Acquiring skill for the role of business analyst (BA) or business system analyst (BSA) in a modern software development organization is often left to “on the job” experience, or to chance. The BA role is complex and requires skill in multiple dimensions, including: harvesting of requirements, satisfying business strategy defined by multiple constituencies, and communicating business process goals and process details to technical groups. This course is a 2-day, very interactive curriculum that focuses on the role of the BA/BSA within the process of software specification and development. Through numerous examples it enables BAs to work more effectively with the IT team by teaching how to express business requirements in forms that IT can directly use. Students learn to identify the business entities in the business domain, how to express these concepts in both visual and textual means, and how to specify the semantic relationships among those entities. This course also addresses the role of the BA in offshore development projects where the analyst must describe requirements for development groups overseas, and how the BA role is affected by agile software development processes.
Audience:
Business or system analysts, technical managers, and software developers who wish to learn techniques for successful business analysis in software development.
Prerequisites
Experience in requirements gathering, or systems analysis is desirable, but not mandatory.
Course duration:
2 days
Course outline:
The Role of the BA
Building a Bridge Between IT & Business
Customer Needs & IT Needs
The Business Analyst as Translator
The Business Analyst’s Core Knowledge
Agile Process and the BA
The Practice of Business Analysis
The Goals of Business Analysis
Analysis & Synthesis
The Dark Side of Business Analysis
What Does the BA Not Do?
The Agile Business Analyst
The Landscape of Requirements
Requirements, Features, Constraints
Business Requirements
User Requirements
Functional Requirements
Non-functional Requirements
Requirements — Who? What? How?
The Offshore Challenge Business Requirements
Establishing Vision & Scope
The Business Requirements Document
Business Requirements — Specifying Vision
The Business Requirements Problem Statement
Business Requirements — Specifying Scope
Scope Artifacts
The Offshore Challenge
The Agile BA: Vision and Scope
Business Requirements — Visualizing Scope
The Context Diagram
Reading a Context Diagram
How to Build a Context Diagram
The Offshore Challenge
User Requirements
Characterizing Your Users
User attributes
User Surrogates & User Champions
Handling Colliding Requirements
The Offshore Challenge
The Agile BA: User Definitions & Attributes
Finding User Requirements
Requirement Elicitation
Questionnaires
Interviews
Leading vs. Context-free Questions
Brain Storming
Role Playing
Workshops
Prototypes / Proofs of Concept
Presenting User Requirements
Use Cases & Scenarios
Writing Effective Use Cases
The Agile BA: Presenting User Requirements
The Offshore Challenge
Functional & Non-functional Requirements
Functional vs. Non-functional Requirements
Functional Requirements from Use Cases
Documenting Non-functional Requirements & IEEE 830-1998
The Software Requirements Specification
Specifying all Your Requirements
Business Domain Modeling
Static, Behavioral, Functional, Data Modeling
The Unified Modeling Language
The 13 UML Diagrams
UML Diagrams of Most Value for the BA
Why BAs Should Model with UML
The Offshore Challenge
The UML Structural Model
The Class Diagram
Representing Classes
Class Relationships & Multiplicity
The UML Behavioral Model
The State Machine Diagram
State: Why is it Important?
Activities and Actions
How to Construct a State Machine Diagram
Business Process Modeling
The UML Activity Diagram
Activity Diagram Structure and Terms
Managing Requirements
How Requirements Become Unmanaged
Traceability
Change Control & Change Control Policy
CCM Tools