Agile Requirements Best Practices - Software...
Transcript of Agile Requirements Best Practices - Software...
®
IBM Software Group
© 2010 IBM CorporationInnovation for a smarter planet
Agile Requirements Best Practices
Robin BaterCommunity of Practice Architect
Stockholm, Oct 15th
SAST
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.
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]
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.
IBM Software
Innovation for a smarter planet
The Eclipse Way
IBM Software
Innovation for a smarter planet
XP
IBM Software
Innovation for a smarter planet
Scrum
Eclipse Way
RUP
RUP
DSDM
RUP
XP
AMDD
Influence
OpenUP
IBM Software
Innovation for a smarter planet
IBM Practices for Agile Delivery
IBM Software
Innovation for a smarter planet
Iterative Development
IBM Software
Innovation for a smarter planet
Release Planning
IBM Software
Innovation for a smarter planet
Shared Vision
IBM Software
Innovation for a smarter planet
Develop Technical Vision (task)
IBM Software
Innovation for a smarter planet
User Story-Driven Development
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
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
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
IBM Software
Innovation for a smarter planet
Releases
iFix
FixPack
Release
iFix 001 iFix 002
FixPack 1
M1 M3M2 M4
…
…
M5
Backlog (iFix, FixPack) and Release themes artifacts are mapped to the various iteration plans
M6 …
IBM Software
Innovation for a smarter planet
Release V2 Requirement – Review & Approval
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
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
IBM Software
Innovation for a smarter planet
Feature Requirement – Stakeholder – 59 revisions
IBM Software
Innovation for a smarter planet
Scenario Document – Product Manager – 18 Revisions
IBM Software
Innovation for a smarter planet
Process Sketch – Architect – 6 Revisions
IBM Software
Innovation for a smarter planet
User interface example – Stakeholder – 5 Revisions
IBM Software
Innovation for a smarter planet
Use Case Diagram – Developer – 4 Revisions
IBM Software
Innovation for a smarter planet
Frame List – User Interface Designer – 81 Revisions
IBM Software
Innovation for a smarter planet
Rich Client – User Interface Designer – 19 Revisions
IBM Software
Innovation for a smarter planet
Web Client – User Interface Designer – 8 Revisions
IBM Software
Innovation for a smarter planet
Document – User Interface Designer – 52 Revisions
IBM Software
Innovation for a smarter planet
Document – User Interface Designer – 19 Revisions
IBM Software
Innovation for a smarter planet
Document – Developer – 2 Revisions
IBM Software
Innovation for a smarter planet
Development demo - Developer
IBM Software
Innovation for a smarter planet
Usability feedback – User Interface Designer
IBM Software
Innovation for a smarter planet
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.
IBM Software
Innovation for a smarter planet
http://jazz.net/community/feedback/