Practices and Obstacles
in Agile Development
Who am I?
Thorsten Suckow-Homberg, born 1976
PHP & Javascript since 1999
Sencha since 2007
Agile since 2008
working for Ge...
All repairs tend to destroy the structure, to increase the entropy
and disorder of the system. Less and less effort is spe...
All repairs tend to destroy the structure, to increase the entropy
and disorder of the system. Less and less effort is spe...
Manifesto for Agile Software Development
[...]
Individuals and interactions over processes and tools
Working software over...
What exactly does „agile“ mean?
being flexible
What is the goal of being agile?
Delivering working software while adapting...
For this talk, let's clearify:
Agile development:
SCRUM
Traditional Software Development
Waterfall 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...
„Going Stealth“ vs „Public Display“
stealth keeps the pressure off your team
public display proves your commitment towards...
Patterns for spreading SCRUM
Split and Seed
Patterns for spreading SCRUM
Split and Seed
Grow and Split
Patterns for spreading SCRUM
Split and Seed
Grow and Split
Internal Coaching
Different Roles
for your Team
http://sarahseeandersen.tumblr.com
Reasons for resisting change
Lack of awareness
Fear of the unknown
Lack of job security
Fear of losing control and authori...
New Roles
Scrum Master
Product Owner
The Team:
DB administrators
Architects
UI designer
Programmer
Technical Practices
„Later never comes.“
Technical Practices
Test Driven Development
Write code
Fix
compile errors
Step through
code in debugger
Repeat
(few
times
...
Technical Practices
Collective Code Ownership
Avoid Knowledge Islands!
Technical Practices
Pair Programming (split and seed, CCO)
Refactoring
Have some spare time?
Continuous Integration
Thank you!
Resources
Books:
Succeeding with Agile, Mike Cohn, Addison Wesley
The Agile Samurai, Jonathan Rasmusson, Pragmatic Bookshe...
Upcoming SlideShare
Loading in …5
×

Practices and obstacles in agile development

207
-1

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
207
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Practices and obstacles in agile development

  1. 1. Practices and Obstacles in Agile Development
  2. 2. Who am I? Thorsten Suckow-Homberg, born 1976 PHP & Javascript since 1999 Sencha since 2007 Agile since 2008 working for Germany's 1st certified Sencha Partner: eyeworkers interactive GmbH, Karlsruhe (jobs.eyeworkers.de) @thorstensuckow
  3. 3. 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.
  4. 4. 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
  5. 5. Manifesto for Agile Software Development [...] Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan [...] http://agilemanifesto.org
  6. 6. What exactly does „agile“ mean? being flexible What is the goal of being agile? Delivering working software while adapting to changing circumstances
  7. 7. For this talk, let's clearify: Agile development: SCRUM Traditional Software Development Waterfall Model
  8. 8. Introducing AD to your company
  9. 9. „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
  10. 10. „Going Stealth“ vs „Public Display“ stealth keeps the pressure off your team public display proves your commitment towards AD
  11. 11. Patterns for spreading SCRUM Split and Seed
  12. 12. Patterns for spreading SCRUM Split and Seed Grow and Split
  13. 13. Patterns for spreading SCRUM Split and Seed Grow and Split Internal Coaching
  14. 14. Different Roles for your Team
  15. 15. http://sarahseeandersen.tumblr.com
  16. 16. Reasons for resisting change Lack of awareness Fear of the unknown Lack of job security Fear of losing control and authority
  17. 17. New Roles Scrum Master Product Owner The Team: DB administrators Architects UI designer Programmer
  18. 18. Technical Practices
  19. 19. „Later never comes.“
  20. 20. 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)
  21. 21. Technical Practices Collective Code Ownership Avoid Knowledge Islands!
  22. 22. Technical Practices Pair Programming (split and seed, CCO) Refactoring Have some spare time? Continuous Integration
  23. 23. Thank you!
  24. 24. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×