agile requirements best practices - software...

36
® IBM Software Group © 2010 IBM Corporation Innovation for a smarter planet Agile Requirements Best Practices Robin Bater Community of Practice Architect Stockholm, Oct 15 th SAST

Upload: others

Post on 15-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

®

IBM Software Group

© 2010 IBM CorporationInnovation for a smarter planet

Agile Requirements Best Practices

Robin BaterCommunity of Practice Architect

Stockholm, Oct 15th

SAST

Page 2: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Topic

Agilists know that any investment in detailed documentation early in a project will be wasted when the requirements inevitably change.

Instead, the fundamental idea is that you do just barely enough modeling at the beginning of the project to understand the requirements for your system at a high level, then you gather the details along the way.

Page 3: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Agile Adoption Rates [1]

A March 2006 survey of 4232 IT professionals shows:

65 % work in organizations that have adopted one or more Agile development techniques

41 % work in organizations that have adopted one or more Agile methodologies

60 % report increased productivity

66 % report increased quality

58 % report improved stakeholder satisfaction

[1] Scott Ambler “Survey Says: Agile Works in Practice” Dr Dobb’s Portal - http://www.ddj.com/architect/191800169 (August, 2006)

According to same survey, the effect that Agile approaches have on productivity:

Large and successful companies practice Agile. In addition to IBM (which is practicing Agile in pockets), a partial list of companies using Agile include:

Microsoft, Google, Motorola, Philips, Yahoo, Nokia, Siemens, Symantec, Sun, Allstate

Agile: A Developing Trend

“You do not do Agile, you ‘are’ Agile”– Scaling Software Agility – Dean Leffingwell”

[1]

Page 4: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

What Is Agile Development

Quality first. Test is done by developers.

Teams builds software. People not cogs in a machinery. Self organization.

Minimize waste, no intermediate stockpiles of requirements, design, etc. that grow old. Collaboration. Just In Time. Just enough documentation and process.

Rapid feedback and response. Continuous integration. Iterations deliver useful code that allows meaningful feedback from end user. Continuously improve your process, retrospectives.

One extended team. Customers and developers are all equally vested in success.

Integrated development tools to enable effective collaboration.

Adaptive planning. Plan the entire project at a high level, provide detailed plans only for next iteration.

“Agile” is a relative term. Your context determines which concrete practices are appropriate.

Page 5: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

The Eclipse Way

Page 6: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

XP

Page 7: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Scrum

Eclipse Way

RUP

RUP

DSDM

RUP

XP

AMDD

Influence

OpenUP

Page 8: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

IBM Practices for Agile Delivery

Page 9: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Iterative Development

Page 10: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Release Planning

Page 11: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Shared Vision

Page 12: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Develop Technical Vision (task)

Page 13: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

User Story-Driven Development

Page 14: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Drinking Our Own Champagne

Evolution of the RRC V2 Review and Approval feature

1. Stakeholder describes the feature2. Product manager then describes the business scenario and

related requirements3. Architect defines the workflow4. User Interface designers then developed mockups

increasingly realistic versions

identified "how it's really going to work5. Development team developed incremental solutions6. User Interface designers used milestone “drivers” to obtain

feedback from the stakeholders

Page 15: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Domain ComplexityStraight-forward

Intricate/Emerging

Compliance requirement

Low risk Critical,Audited

Team sizeUnder 10

developers1000’s of

developers

Co-located

Geographical distribution

Global

Enterprise discipline

Projectfocus

Enterprisefocus

Technical complexity

HomogenousHeterogeneous,

Legacy

Organization distribution(outsourcing, partnerships)

Collaborative Contractual

Flexible Rigid

Organizational complexity

IBM agility@scaleTM – our team self-assessment

Disciplined Agile

Delivery

Page 16: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet 16

ProductBacklog

UserStories,

Scenarios

Defects, Change

RequestsUser Documentation

Specifications Design

Specifications

Vision Document

SupplementarySpecificationUse-Case Model

StakeholderRequests

The Product Backlog and Future functionality

Page 18: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Release V2 Requirement – Review & Approval

Page 19: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

17-Nov 16-Jan 17-Mar 16-May 15-Jul 13-Sep 12-Nov

Iteration 1

Iteration 2

Iteration 3

Iteration 4

Iteration 5

Iteration 6

Final SVT

Ship Ready

Iterations

Milestone overlap: planning for the next iteration begins during SVT

Duration varies

Each milestone includes Planning, Requirements, Design and Test

Each milestone is consumable

Page 20: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

17-Nov 16-Jan 17-Mar 16-May 15-Jul 13-Sep 12-Nov

Review and Approval ProcessR&A document exampleIterative R&A ScenarioIterative R&A process

Use Case for R&AUse Case Details for R&A

Review and ApprovalCreate Review

Review Editor (Edit) – UI specsR&A Service Design

Virtual Design – Rich ClientVirtual Design – Web Client

Views and actions for ReviewersIteration 1Iteration 2Iteration 3Iteration 4Iteration 5Iteration 6Final SVT

Ship Ready

Review and Approval overview

development demo

Page 21: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Feature Requirement – Stakeholder – 59 revisions

Page 22: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Scenario Document – Product Manager – 18 Revisions

Page 23: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Process Sketch – Architect – 6 Revisions

Page 24: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

User interface example – Stakeholder – 5 Revisions

Page 25: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Use Case Diagram – Developer – 4 Revisions

Page 26: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Frame List – User Interface Designer – 81 Revisions

Page 27: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Rich Client – User Interface Designer – 19 Revisions

Page 28: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Web Client – User Interface Designer – 8 Revisions

Page 29: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Document – User Interface Designer – 52 Revisions

Page 30: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Document – User Interface Designer – 19 Revisions

Page 31: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Document – Developer – 2 Revisions

Page 32: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Development demo - Developer

Page 33: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Usability feedback – User Interface Designer

Page 34: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Page 35: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

Key benefits experienced by the team

Increased the range and depth of stakeholder participation

Elicited more and better feedback before code was writtenIn requirementsIn feature design

Less churn / rework Converged faster on the “right” requirements

Identified gaps and clarified misunderstandings more quickly

Better productivity through lower cost, higher value communication

Developers and testers communicated better among themselves, especially across component teams.

Page 36: Agile Requirements Best Practices - Software testingsast.se/q-moten/2010/stockholm/q15/SAST_Q15_Bater_Agile_Requir… · Agile Requirements Best Practices Robin Bater Community of

IBM Software

Innovation for a smarter planet

http://jazz.net/community/feedback/