Agile Software Requirements      

Code:

IS130-048

Series:

Information Management

Duration:

2 days

Introduction to Mind Mapping
Underlying theory of mind maps
Classic approach to mind mapping
Other mind mapping approaches
Triangular mind maps
Circular mind maps
Trees & networks
Classifying ideas with mind maps
Comparison of mind maps & formal diagrams

Mind Mapping Tools
Open source & freeware tools
- Freemind
- XMind
- Cmap Tools
Other freeware & proprietary tools

Introduction to Agile Requirements
Requirements concepts
Agile requirements approach
- Understand system context
-Identify & analyse stakeholders
- Identify & decompose system goals
- Define system concepts
- Identify & allocate requirements
- Elaborate requirements
Agile requirements & traditional projects
- Planning & scoping
- Feasibility studies & business cases
Requirements & agile development
- Agile manifesto
- Agile methods
- Scrum project life cycle

Understanding the System Context
“Rich pictures”
Mind maps
Activity template
- Stakeholders
- Actors
- Objects
- Tools
- Rules
- Responsibilities

Identifying & Analysing Stakeholders
Identifying & classifying stakeholders
Stakeholder template
- Customers
- Actors
- Viewpoint
- Goals
- Owners
- Environment
Environment template
- Political
- Economic
- Social
- Technological
- Legal
- Ecological

Identifying & Decomposing System Goals
Types of system goal
- Maintenance goals
- Achievement goals
System goals & activities
Activity breakdowns
Activity breakdown template
- Plan
- Organise
- Execute
- Monitor
- Control
Functions vs. “atomic” activities
Drawing & managing activity breakdowns using Software tools

Defining System Concepts
Concept maps
Concept mapping template
- Events & periods
- People, places, things
- Roles
- Types
Drawing & managing concept maps using software tools

Identify & Manage Requirements
Identifying needs & features
Prioritising features using “MoSCoW”
Allocating requirements to systems & sub-systems
Identifying systems & sub-systems
Defining interfaces
Mind mapping user stories & use cases
Scenario template
Elaborating Requirements
Using mind mapping software tools to manage requirements
Text editing features of mind mapping software tools
Prioritising and filtering requirements
Highlighting dependent & conflicting requirements

Requirements & Agile Development
Scrum
- Product backlog
- Sprint backlog
- Sprint progress
Using mind mapping software tools to develop & manage project plans

Mind Maps as a Starting Point for Formal Documents & Models
Exporting mind maps as text from software tools
Converting mind maps to UML diagrams


Agile Software Requirements

This two-day course describes an agile approach to software requirements based on mind mapping techniques.

Mind maps are simple diagrams that are used to capture, visualise and organise ideas. They provide an invaluable tool for knowledge management, problem solving and brainstorming.

The course is based on an agile approach to software requirements that places emphasis on interactions with individuals, customer collaboration and responding to change.

It can be used as a “fast-track” approach for developing a feasibility study or business case as well as a planning and scoping "front-end" for traditional software development projects based on an iterative or waterfall life cycle.

The approach may also be used as the primary strategy for gathering and managing software requirements during projects based on agile methodologies such as eXtreme Programming (XP) or Scrum.

The course is a hands on course based on a learning by doing philosophy. During the course participants are given ample opportunity to construct a variety of mind maps based on a set of proven requirements analysis templates.

Outcomes:

  • a toolbox of mind mapping templates and techniques that can be tailored and adapted to new situations
  • understanding of how mind mapping can be used to identify, analyse and document requirements
  • opportunity to experiment with mind mapping software tools and discover how they are best used.

Prerequisites:


Familiarity with business environments and business information systems. Suitable for:

  • Process Engineers, Software Engineering Process Group (SEPG) Staff, Methodologists, Process Improvement Staff.
  • Business Analysts, Business Systems Analysts, Systems Analysts, Functional Analysts.
  • Software Development Managers, Software Engineers, Developers, Requirements Engineers, Requirements Analysts.
  • Engineering Managers, Systems Engineers, Electrical Engineers, Control Engineers, Mechanical Engineers, Human Factors Specialists.
  • Users, User Representatives, Stakeholders, Project Sponsors, Project managers, Program Managers, Consultants, educators and trainers.