practices and obstacles in agile development
DESCRIPTION
Thorsten Suckow Homberg at ModUX 2013 http://moduxcon.comTRANSCRIPT
Practices and Obstacles in Agile Development
Who am I?
Thorsten Suckow-Homberg, born 1976PHP & Javascript since 1999Sencha since 2007Agile since 2008working for Germany's 1st certified Sencha Partner: eyeworkers interactive GmbH, Karlsruhe (jobs.eyeworkers.de)
@thorstensuckow
All repairs tend to destroy the structure, to increase the entropy and disorder of the system. Less and less effort is spent on original design flaws; more and more is spent on fixing flaws introduced by earlier fixes. As time passes, the system becomes less and less well-ordered. Sooner or later the fixing ceases to gain any ground. Each forward step is matched by a backward one. Although in principle usable forever, the system has worn out as a base for progress.
All repairs tend to destroy the structure, to increase the entropy and disorder of the system. Less and less effort is spent on original design flaws; more and more is spent on fixing flaws introduced by earlier fixes. As time passes, the system becomes less and less well-ordered. Sooner or later the fixing ceases to gain any ground. Each forward step is matched by a backward one. Although in principle usable forever, the system has worn out as a base for progress.
Frederick Brooks, The Mythical Man-Month, 1975
Manifesto for Agile Software Development
[...]Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan[...]
http://agilemanifesto.org
What exactly does „agile“ mean?being flexible
What is the goal of being agile?Delivering working software while adapting to changing circumstances
For this talk, let's clearify:Agile development:SCRUM
Traditional Software DevelopmentWaterfall Model
Introducing AD to your company
„Start small“ vs „All-In“
choose pilot project and use it's success as an indicator whether your company will benefit from AD
Adapt to AD company wide overnight
„Going Stealth“ vs „Public Display“
stealth keeps the pressure off your team
public display proves your commitment towards AD
Patterns for spreading SCRUM
Split and Seed
Patterns for spreading SCRUM
Split and SeedGrow and Split
Patterns for spreading SCRUM
Split and SeedGrow and SplitInternal Coaching
Different Roles for your Team
http://sarahseeandersen.tumblr.com
Reasons for resisting change
Lack of awarenessFear of the unknownLack of job securityFear of losing control and authority
New Roles
Scrum MasterProduct Owner
The Team:DB administratorsArchitectsUI designerProgrammer
Technical Practices
„Later never comes.“
Technical Practices
Test Driven Development
Write code
Fix compile errors
Step through code in debugger
Repeat (few
times a day)
Write failing test
Write just enough code to pass the test
Refactor
Repeat (few
times an hour)
Technical Practices
Collective Code Ownership
Avoid Knowledge Islands!
Technical Practices
Pair Programming (split and seed, CCO)
RefactoringHave some spare time?
Continuous Integration
Thank you!
Resources
Books:
Succeeding with Agile, Mike Cohn, Addison Wesley
The Agile Samurai, Jonathan Rasmusson, Pragmatic Bookshelf
Scrum, Roman Pichler, dpunkt verlag
Agile Software Development, Robert C. Martin, Pearson Education
Refactoring, Martin Fowler, Addison Wesley
Continuous Integration, Paul M. Duvall, Addison Wesley