Dec 31, 2015
Colin BirdFounder
A Perspective onAgile Development
3
Mission
RippleRock formed in 2009 to dedicate itself to the task of assisting customers drive dramatic improvements in their
software development capability.
4
Agile is Mainstream!
5
Reasons For Adopting Agile
6
Benefits of Agile
7
So...
Why do we see:Flaccid Scrum ???
Martin Fowler on Flaccid Scrumhttp://www.martinfowler.com/bliki/FlaccidScrum.html
8
Because …
Appropriate engineering discipline, skill and practices are not applied
Scrum doesn’t explicitly define engineering practices
But … they are not optional if you want to:
Deliver production quality software every iteration
9
Mounting Technical Debt
0 1 2 3 4 5
Technical Debt
Sprint 1Sprint 2
Sprint 3Sprint 4
Sprint 5
Debt > Sprint
10
Looking inside the Sprint …
Mini waterfall – testing falls off the end
Sprint 1
Analysis-Design-Development-Deployment-Testing
11
Task FocusGood progress on tasks …But is this the full story?
12
Story Focus
Story completeness reveals a different picture …
Too much work in progressNot getting stories “Done”No time to test
13
Other aspects of technical debt
Organic architectureLittle refactoring Lack of automated Unit TestsInfrequent integrationMounting regression test effort
Lack of automated functional testingNo performance testingBugs – known and unknown
14
What it should look like …
Rapid cycle – minimal testing lag
Sprint 1
Analysis Design Dev Deploy Testing
Analysis Design Dev Deploy Testing
Analysis Design Dev Deploy Testing
Analysis Design Dev Deploy Testing
Analysis Design Dev Deploy Testing
Analysis Design Dev Deploy Testing
Analysis Design Dev Deploy Testing
15
Agile PracticesAgile
Architecture
Refactoring
Agile Testing
Maximise Value
Transparency
Agile Team
16
Agile Architecture
Simple as possibleEmergent ArchitectureMitigate technical risks earlyVertical incrementsRefactoringPatternsTDD/BDDRegular performance testingCommit at last responsible moment
17
Refactoring
Little and OftenUnit and ArchitecturalAutomated Unit Tests, CI, Code Coverage
Automated regression testsPair ProgramingCode ReviewsPatterns
18
Agile Testing
Whole team responsibilityAutomated Unit TestingAutomated Acceptance testsAutomated regression testsTDD/BDDCode CoverageContinuous Integration (CI)Regular performance testingTest environments
Rapid/automated deploymentZero testing lagDefinition of Done (DoD)
19
Maximise Value
Granular Product BacklogBusiness/Customer feedbackRespond to changeLimit Work In Progress (WIP)Get Stories “Done”Cross-functional teamEarly/frequent Releases
20
Transparency
Definition of Done (DoD)Product Backlog (Stories)Sprint Backlog (Tasks)BugsUnit Test Code CoverageRegular deploymentsEmpirical Driven Decisions
21
Transparency
Low friction interaction with tools
Empirical data driven views of progress
22
Agile Team
Self OrganisingCross-functionalContinuous ImprovementCo-locatedDedicatedProvided with the right toolsDoD
23
Agile Engineering Platform
Platform for Agile Engineering PracticesIntegrated ALM toolingWhole team and beyondAutomationArchitecture and refactoring Test platformTransparency
Visual Studio 2010 + Visual Studio Team Foundation Server 2010
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED
OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.