Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Finding Our Agile Feet

Finding Our Agile Feet

Max Woolf

March 30, 2017
Tweet

More Decks by Max Woolf

Other Decks in Programming

Transcript

  1. HOW CAN WE BE SURE WE’RE GETTING SOMETHING FOR OUR

    MONEY? Mrs. Client 1 PT.1 HOW WE WERE
  2. PT.1 HOW WE WERE REELLEARNING ▸ Idea ▸ Specification ▸

    Costed ▸ Designed ▸ Developed ▸ Released ▸ Phase 2… rinse and repeat. CLIENT FIRST SEES WORKING THING
  3. PT.1 HOW WE WERE REELLEARNING ▸ Idea ▸ Specification ▸

    Costed ▸ Designed ▸ Developed ▸ Released ▸ Phase 2… rinse and repeat. CLIENT FIRST SEES WORKING THING
  4. PT.1 HOW WE WERE REELLEARNING ▸ Idea ▸ Specification ▸

    Costed ▸ Designed ▸ Developed ▸ Released ▸ Phase 2… rinse and repeat. WHAT HAPPENS NOW?!
  5. BUT HEY, THERE’S ALWAYS PHASE TWO, RIGHT? JEFF CRAM PT.1

    HOW WE WERE http://www.cmsmyth.com/2010/06/the-proverbial-phase-two/
  6. BUT HEY, THERE’S ALWAYS PHASE TWO, RIGHT? JEFF CRAM PT.1

    HOW WE WERE http://www.cmsmyth.com/2010/06/the-proverbial-phase-two/
  7. I THINK WE NEED TO DO AGILE ON THIS PROJECT

    The manager of a failed project INTERLUDE
  8. CODEBASE V10 (LATEST) SITE 1 V9 SITE 3 V8 SITE

    2 V10 SITE 4 V7 (WITH A SECURITY PATCH) PLAN A MULTIPLE CODE FORKS
  9. PT.2 HOW WE ARE NOW THINGS WE WANTED TO DO

    ▸ Iteration, not incrementation ▸ Prioritisation, not specification ▸ Real-time access to development servers ▸ Code quality ▸ Code reviews ▸ Static analysis ▸ Continuous deployment ▸ TDD
  10. AUTHENTICATION VIDEO UPLOADING VIDEO PLAYBACK PLAYLISTS REPORTING DRUPAL INTEGRATION INCREMENTAL

    USER CAN VIEW VIDEO SIGN UP SUBSCRIBE VIEW ITERATION 1 USER CAN CREATE PLAYLIST SIGN UP (V3) SUBSCRIBE (V3) CREATE PLAYLIST ITERATION 2 USER CAN FAVOURITE VIDEO SIGN UP (V2) SUBSCRIBE (V2) FAVOURITE Client feedback occurs at the end “50% DONE” ITERATIVE Client feedback
 occurs throughout CONSTANT IMPROVEMENT ADD VIDEO TO PLAYLIST
  11. The user must be able to…
 The admin must be

    able to…
 The buttons must be green…
 The user must send an email when…
 The gremlins must not be fed after midnight…
 The background should be…
 A user should have access to…
 An administrate must have access to… … = Done SPECIFICATION
  12. PT.2 HOW WE ARE NOW ▸ Technical debt is the

    result of short term decision making ▸ Quick win vs. Long-term maintainability ▸ Not always conscious
  13. 0 75 150 225 300 W/O TECHNICAL DEBT W/ TECHNICAL

    DEBT 200 100 70 100 FEATURE 2 FEATURE 1 FEATURE 1 FEATURE 2
  14. PT.2 HOW WE ARE NOW CODE REVIEWS ▸ Applies to

    everyone ▸ One other pair of eyes ▸ NO exceptions ▸ No room for ego
  15. PT.2 HOW WE ARE NOW CONDUCTING CODE REVIEWS ▸ Be

    honest, but kind. ▸ Ask questions, don’t give orders. ▸ Say ‘we’, not ‘you’. ▸ Assume everyone is intelligent. ▸ Let computers review too.
  16. NO!

  17. IDEA TEST PASSES TEST FAILS “Add one to a number”

    If input = 4
 expect output to be 5 def addOne(input)
 return input + 1
 end
  18. RELEASE EARLY, RELEASE OFTEN IS A PHILOSOPHY THAT EMPHASIZES THE

    IMPORTANCE OF EARLY AND FREQUENT RELEASES IN CREATING A TIGHT FEEDBACK LOOP Wikipedia PT.2 HOW WE ARE NOW https://en.wikipedia.org/wiki/Release_early,_release_often
  19. PT.2 HOW WE ARE NOW HAPPY CLIENTS ▸ See something

    working ▸ Constantly feeding in to the development process ▸ Feel like they’re part of the process ▸ No longer a cash in, app out transaction
  20. FINDING OUR AGILE FEET ▸ Iterate, don’t increment. ▸ Prioritise,

    don’t specify. ▸ Avoid technical debt. ▸ Code review. ▸ Deploy often. ▸ Make clients happy!