Agile Analysis with XP

Audience

Business analyst, Product owner, Team lead

Duration

2 days

Overview

Where does the business analyst fit into agile processes?

Agile processes seek to change the nature of the relationship between the business and development functions of an organization. The goals are clearer scope, faster time to market, better quality and greater collaboration. Business Analysts sit between these two very different groups and facilitate their interaction. What agile changes is the traditionally ‘decoupled’ nature of the interaction: a user story is the business’s statement of need and the developer’s unit of work. How do you achieve sufficient detail to drive the process while remaining lightweight and permitting rapid throughput?

Prerequisites

This course focuses on the needs of business analysts and is suitable for roles involving contact with stakeholders and development teams using an agile process.

The course illustrates the theory and practice of agile software development so previous involvement in software projects is a prerequisite.

Technical programming experience is not required. Some modules cover technical ground but the objective in each is to illustrate in broad terms how the technique works.

Format

The course blends tutorial, class discussion, question and answer sessions, and demonstrations / simulations.

Objectives

  • Understand the fundamental mindset shift behind agile processes
  • Explore the problems and opportunities agile processes present
  • Learn the advances in technical and management practices that act as enablers for agile processes
  • Understand how to work effectively with an XP team

Outline

How the agile mindset is different

  • Re-evaluation of deliverables from process, relationship to business, quality, timeliness, etc.

Common misconceptions about agile

  • Why they are misconceptions
  • To what extent they are actually true

Potential benefits of an agile approach

  • Earlier ROI
  • Lower failure risk
  • Better project management
  • Closer customer relationship
  • Higher quality
  • More sustainability
  • More appropriate deliverables
  • Caveat: “there are no silver bullets”

Comparison with traditional (waterfall-inspired) processes

  • Comparing process models
  • Differences in value streams
  • Managing issues with rework

Understanding, mapping and adapting existing processes to agile and vice versa

  • Process as a value stream
  • Batching and units of work
  • Theory of Constraints in operation
  • Interfacing agile and non-agile worlds

Handling requirements

  • “Stories”: the units of requirements
  • Stories as placeholders and as units of work
  • Scope minimization
  • Acceptance criteria
  • Handling dependencies
  • Breaking into tasks
  • “Epic” stories
  • Estimation
  • Story workshop facilitation
  • Handling defects

Iteration management

  • Iteration planning
  • Wideband Delphi, Planning Poker techniques
  • Prioritization
  • Requirements queues / backlogs
  • Iteration tracking
  • Development velocity
  • Burn-down charts
  • Tracking stories in play
  • States of a story
  • Retrospectives
  • Show and tell / iteration demo
  • Small releases, scope of release gates
  • Effective communication

Shared space

  • Information radiators
  • Pair programming (and other kinds of collaborative working)
  • Coding standards
  • Collective ownership of code and other project artifacts
  • Ubiquitous language
  • Domain-driven design, simple design, system metaphor
  • On-site business domain expertise
  • Preserving the business domain in the software
  • Acceptance criteria / tests
  • Task breakdown before estimation
  • The daily stand-up / daily scrum

Release planning

  • Multiple perspectives on a project (executive management to project team)
  • Projects as goal refinement
  • Synchronizing high level and implementation level planning
  • Multi-pass estimation (“T-shirt sizes”, ideal time)

Exercise: Scrum process simulation

  • Learn more about the Scrum process by trying it on a non-technical mini-project

Agile technical practices

  • Flattening the cost of change curve
  • Unit test-driven development
  • Acceptance test-driven development
  • Refactoring and design evolution
  • Continuous integration

Distributed agile teams

  • Challenges of distributed working
  • Chains of communication and the effect of lengthening them
  • How agile is affected vs how traditional approaches are affected
  • Summary of techniques for enabling distributed working

Options

Not quite what you want? Contact us if you’d like to shorten or lengthen this course, aim it at a different audience, cover particular topics or combine it with our other courses, briefings or services.

Further information and booking

Please contact us for further information or to book this course.

Suggested follow-ups