practices and obstacles in agile development

24
Practices and Obstacles in Agile Development

Upload: grgur-grisogono

Post on 08-Jul-2015

267 views

Category:

Technology


3 download

DESCRIPTION

Thorsten Suckow Homberg at ModUX 2013 http://moduxcon.com

TRANSCRIPT

Page 1: Practices and obstacles in agile development

Practices and Obstacles in Agile Development

Page 2: 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

Page 3: Practices and obstacles in agile development

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.

Page 4: Practices and obstacles in agile development

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

Page 5: Practices and obstacles in agile development

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

Page 6: Practices and obstacles in agile development

What exactly does „agile“ mean?being flexible

What is the goal of being agile?Delivering working software while adapting to changing circumstances

Page 7: Practices and obstacles in agile development

For this talk, let's clearify:Agile development:SCRUM

Traditional Software DevelopmentWaterfall Model

Page 8: Practices and obstacles in agile development

Introducing AD to your company

Page 9: Practices and obstacles in agile development

„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

Page 10: Practices and obstacles in agile development

„Going Stealth“ vs „Public Display“

stealth keeps the pressure off your team

public display proves your commitment towards AD

Page 11: Practices and obstacles in agile development

Patterns for spreading SCRUM

Split and Seed

Page 12: Practices and obstacles in agile development

Patterns for spreading SCRUM

Split and SeedGrow and Split

Page 13: Practices and obstacles in agile development

Patterns for spreading SCRUM

Split and SeedGrow and SplitInternal Coaching

Page 14: Practices and obstacles in agile development

Different Roles for your Team

Page 15: Practices and obstacles in agile development

http://sarahseeandersen.tumblr.com

Page 16: Practices and obstacles in agile development

Reasons for resisting change

Lack of awarenessFear of the unknownLack of job securityFear of losing control and authority

Page 17: Practices and obstacles in agile development

New Roles

Scrum MasterProduct Owner

The Team:DB administratorsArchitectsUI designerProgrammer

Page 18: Practices and obstacles in agile development

Technical Practices

Page 19: Practices and obstacles in agile development

„Later never comes.“

Page 20: Practices and obstacles in agile development

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)

Page 21: Practices and obstacles in agile development

Technical Practices

Collective Code Ownership

Avoid Knowledge Islands!

Page 22: Practices and obstacles in agile development

Technical Practices

Pair Programming (split and seed, CCO)

RefactoringHave some spare time?

Continuous Integration

Page 23: Practices and obstacles in agile development

Thank you!

Page 24: Practices and obstacles in agile development

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