Iteration 0
About Speaker
                     http://kensipe.blogspot.com/
                     http://del.icio.us/kensipe
          ...
Agenda

         Agile Intro Edition
         Agile Micro Edition
           – Inside an Iteration
         Agile Macro...
Development Processes



                    Waterfall




                                4
Development Processes




                Iterative



                            4
Value of Iterative




                     5
Value of Iterative

Continuous focus
  – Improvement
  – Quality
  – Priority
  – Adding Business Value
  – Ability to Es...
Value of Iterative

Continuous focus
  – Improvement
  – Quality
  – Priority
  – Adding Business Value
  – Ability to Es...
Value of Iterative

      Develops trust with the Business!




                                     7
What Agile is NOT

Evolutionary
No Documentation
No Architecture
Cowboy Development




                      8
What Agile is NOT

Evolutionary
No Documentation
No Architecture
Cowboy Development




                      8
Agile Micro View




                   9
What is an Iteration?

                    Standup Meetings




  Opening Meeting                      Closing Meeting



...
Does Size Matter?




                    11
Opening Meeting

Who comes?
 – Developers
 – DBA
 – User / BA
 – Architects
 – QA




                  12
Opening Meeting

Suggest 2 Separate Opening Meetings
  – Objective of the first meeting:
    •   Agree on Acceptance Crit...
Closing Meeting

What was accepted by the User?
What is the velocity?
What architecturally significant has changed?
Wh...
Value of the Closing Meeting

Quality Check
User Feedback
Estimate Check
Team Performance Check



                   ...
Stand up!

Pig Rules! Chickens can listen.


What did you do yesterday?
What will you do today?
Are there any impedime...
Agile Macro View




                   17
Starting Agile Projects

Starting is the Hardest Part
  – Often is a change
  – Less Experience




   Desire is the star...
Agile at a Macro Level

Missing Details
 – Great Information on Running Agile
 – Less Information on:
     •   Starting A...
Agile Full Life Cycle
Pre-IT0 Stage 1




 Project Inception
 Stake Holder Level
   – Business Opportunity / Concerns
   – Often not exposed t...
Pre-IT0 Stage 2

Collection of Stories
Estimating
  – ROI
  – Project Justified



Build up of Team / Resources
Iterat...
Building a Team

             Co-Ownership
             Prepared to Steal Tasks
             Pairing Capable
          ...
Prepare for Team Phases
Forming
  – “polite”… team forms, No one is offended
  – Excitement / Optimism
Storming
  – Hone...
Iteration 0

Creation of the Machine!
Environment Setup
  – Continuous Integration (CI)
  – IDE
  – Communication
Proje...
Planning for Success

               Working with Users
                – Stories
                    •   Acceptance Crit...
Release Plan

 Internal Releases Every Iteration
 Planned QA Releases
 Planned External Releases
 Initial Breakdown of...
Do we need all stories to start?

2 Story Development Approaches
  – Major of the stories upfront
     •   With the under...
Alignment With QA Option 1
        BA IT 2
   Story Refinement

      Dev IT 1
       Code               BA IT 3
          ...
Alignment with QA Option 2

   Dev IT 1
    Code
                 Dev IT 2
                  Code

 Iteration 1           ...
Iteration 0
What would stop you from doing a 1 week iteration?




                                            32
Purpose of Automation

Predictability
Frequent repeatable feedback
Shorter iterations possible




                    ...
Iteration 0

Version Control
IDE Setup
IT0 Spikes
Build System
Continuous Integration
Report Mechanism
Core Infrast...
Version Control

Establish Project Layout
Questions
  – Head / Branch
  – Versioning Strategy?
    •   (3.0.2) Major, Mi...
IDE Setup

Project Structure
Setup cvsignore or svnignore files
  – What isn’t shared in the project?
Plugins
  – App S...
IT0 Spikes

Using a new tool?
  – FIT
  – Selenium
  – jsUnit
Testing Something that is difficult to test?
  – 3rd Party...
Build System
Back to Project Structure
Ant / Maven / Buildr / Gradle
  – Must
     •   Be automated
     •   Version
   ...
Continuous Integration

Connect Build System into CI
  – BuildForge
  – CruiseControl
  – Hudson

Setup up Lava Lamps
  ...
Reports

Code Quality
  – Compilation
  – Unit Test
  – Code Coverage
  – Static Analysis
Burn Down Reports
XPlanner / JIRA

Setup Story Repository
Setup IT0 and IT1 and a Future Stories IT
Setup Wiki / Forum
Initial Design Strategies

Standards
General Use of Annotations
General Upfront patterns (if it make sense)
 – MVC
 – P...
Multiple Domains

Setup Dev Box
Understand other domains
  – Prod, QA
Automate the promotion path if possible
  – How t...
Automate Everything

New Person Added
  – Setup in Xplanner, subversion and cruise control
Release a new patch
  – Versi...
IT0 Opening / Closing

Run IT0 like any other Iteration… It is the
 first!
   – Opening Meeting
      •   Take all these ...
Benefits of Iteration 0

feedback on teams ability to estimate
team velocity
focus on automating everything
remove the...
ITX

The Machine Is Ready
Code at will!
Summary

          Start The Project Well
          IT 0 Establishes
            – Working Environment
            – Com...
Questions


             Please Fill Out
              Surveys




            kensipe@gmail.com

            twitter: @k...
Upcoming SlideShare
Loading in...5
×

Agile - Iteration 0 CodeMash 2010

2,550

Published on

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

No Downloads
Views
Total Views
2,550
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
47
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Agile - Iteration 0 CodeMash 2010

  1. 1. Iteration 0
  2. 2. About Speaker http://kensipe.blogspot.com/ http://del.icio.us/kensipe twitter: @kensipe kensipe@gmail.com Developer: Embedded, C++, Java, Groovy, Grails, C#, F# JavaOne 2009 Rock Star, NFJS Microsoft MCP Sun Certified Java 2 Architect Master of Scrums Agile Coach Instructor: VisiBroker CORBA Rational Rose, OOAD
  3. 3. Agenda Agile Intro Edition Agile Micro Edition – Inside an Iteration Agile Macro Edition – Leading up to Iteration 0 Iteration 0
  4. 4. Development Processes Waterfall 4
  5. 5. Development Processes Iterative 4
  6. 6. Value of Iterative 5
  7. 7. Value of Iterative Continuous focus – Improvement – Quality – Priority – Adding Business Value – Ability to Estimate – Team / Team Ability 6
  8. 8. Value of Iterative Continuous focus – Improvement – Quality – Priority – Adding Business Value – Ability to Estimate – Team / Team Ability 6
  9. 9. Value of Iterative Develops trust with the Business! 7
  10. 10. What Agile is NOT Evolutionary No Documentation No Architecture Cowboy Development 8
  11. 11. What Agile is NOT Evolutionary No Documentation No Architecture Cowboy Development 8
  12. 12. Agile Micro View 9
  13. 13. What is an Iteration? Standup Meetings Opening Meeting Closing Meeting 10
  14. 14. Does Size Matter? 11
  15. 15. Opening Meeting Who comes? – Developers – DBA – User / BA – Architects – QA 12
  16. 16. Opening Meeting Suggest 2 Separate Opening Meetings – Objective of the first meeting: • Agree on Acceptance Criteria • Agree on priority – Objective of the second meeting: • Break out and assignment of all tasks 13
  17. 17. Closing Meeting What was accepted by the User? What is the velocity? What architecturally significant has changed? What is working? What didn’t go well? – What do we do about it? 14
  18. 18. Value of the Closing Meeting Quality Check User Feedback Estimate Check Team Performance Check Velocity? Bug Level? 15
  19. 19. Stand up! Pig Rules! Chickens can listen. What did you do yesterday? What will you do today? Are there any impediments in your way? 16
  20. 20. Agile Macro View 17
  21. 21. Starting Agile Projects Starting is the Hardest Part – Often is a change – Less Experience Desire is the starting point of all achievement, not a hope, not a wish, but a keen pulsating desire which transcends everything. -- Napoleon Hill
  22. 22. Agile at a Macro Level Missing Details – Great Information on Running Agile – Less Information on: • Starting Agile • Pre-IT0 • IT0
  23. 23. Agile Full Life Cycle
  24. 24. Pre-IT0 Stage 1 Project Inception Stake Holder Level – Business Opportunity / Concerns – Often not exposed to all developers
  25. 25. Pre-IT0 Stage 2 Collection of Stories Estimating – ROI – Project Justified Build up of Team / Resources Iteration Sizing Initial List of Risks Release Plan
  26. 26. Building a Team Co-Ownership Prepared to Steal Tasks Pairing Capable Expected Velocity? – Adjust Story Alignment and Release Plan
  27. 27. Prepare for Team Phases Forming – “polite”… team forms, No one is offended – Excitement / Optimism Storming – Honeymoon is over – Resisting Task, Disunity Norming – Team is starting to work together – Constructive Criticism Performing – High performance team – Self Directed
  28. 28. Iteration 0 Creation of the Machine! Environment Setup – Continuous Integration (CI) – IDE – Communication Project Alignment – To other concerns outside the core team Release Plan
  29. 29. Planning for Success Working with Users – Stories • Acceptance Criteria!!!! – Priorities Project Alignments – DBA / Database – QA – Enterprise Architecture – Management
  30. 30. Release Plan Internal Releases Every Iteration Planned QA Releases Planned External Releases Initial Breakdown of Stories – Iteration Based on Priority
  31. 31. Do we need all stories to start? 2 Story Development Approaches – Major of the stories upfront • With the understanding that you will likely discover more – Some stories upfront to prime • With the intent that you’ll have a trailing analyst Either Approach needs an Analyst, BA or PM – To work with feeding the stories into the next iteration
  32. 32. Alignment With QA Option 1 BA IT 2 Story Refinement Dev IT 1 Code BA IT 3 Story Refinement QA IT 1 Dev IT 2 BA IT 4 Test Plan Code Story Refinement Iteration 1 QA IT 2 Test Plan Dev IT 3 Code BA IT 5 Story Refinement QA IT 1 QA IT 3 Dev IT 4 Execution Plan Test Plan Code QA IT 2 QA IT 4 Iteration 2 Execution Plan Test Plan QA IT 1 QA IT 3 Regression Execution Plan Iteration 3 QA IT 1 & 2 Regression Iteration 4
  33. 33. Alignment with QA Option 2 Dev IT 1 Code Dev IT 2 Code Iteration 1 Dev IT 3 Code Iteration 2 Dev IT 4 Code Iteration 3 QA IT 1 Test Plan Dev IT 5 Iteration 4 Code Alignment to: – DBA – Enterprise Architects
  34. 34. Iteration 0
  35. 35. What would stop you from doing a 1 week iteration? 32
  36. 36. Purpose of Automation Predictability Frequent repeatable feedback Shorter iterations possible 33
  37. 37. Iteration 0 Version Control IDE Setup IT0 Spikes Build System Continuous Integration Report Mechanism Core Infrastructure Xplanner / JIRA / Wiki Initial Design Strategies Multiple Domains
  38. 38. Version Control Establish Project Layout Questions – Head / Branch – Versioning Strategy? • (3.0.2) Major, Minor, Patch – What to do with Spikes? Version Control Admin / Reports – Automate as much as possible – Cvsblame! – cvscop
  39. 39. IDE Setup Project Structure Setup cvsignore or svnignore files – What isn’t shared in the project? Plugins – App Server of Choice – Subclipse – PMD – SpringIDE Libraries – Core • Spring, Logging
  40. 40. IT0 Spikes Using a new tool? – FIT – Selenium – jsUnit Testing Something that is difficult to test? – 3rd Party Machine – External Connection
  41. 41. Build System Back to Project Structure Ant / Maven / Buildr / Gradle – Must • Be automated • Version • Platform and desktop agnostic • Setup and run tests • Incorporate code coverage – Cobertura • Setup Projects for Team • Provide release builds with documentation – Nice • Promotion capabilities • Flexibility to select IDE
  42. 42. Continuous Integration Connect Build System into CI – BuildForge – CruiseControl – Hudson Setup up Lava Lamps – http://pragmaticautomation.com/cgi-bin/ pragauto.cgi/Monitor/Devices/ BubbleBubbleBuildsInTrouble.rdoc Email Setup Must Build, Test and provide reports
  43. 43. Reports Code Quality – Compilation – Unit Test – Code Coverage – Static Analysis Burn Down Reports
  44. 44. XPlanner / JIRA Setup Story Repository Setup IT0 and IT1 and a Future Stories IT Setup Wiki / Forum
  45. 45. Initial Design Strategies Standards General Use of Annotations General Upfront patterns (if it make sense) – MVC – Presentation Model – Logging all in Aspects Don’t Spend too much time here! It will evolve.
  46. 46. Multiple Domains Setup Dev Box Understand other domains – Prod, QA Automate the promotion path if possible – How to handle SQL DDL?
  47. 47. Automate Everything New Person Added – Setup in Xplanner, subversion and cruise control Release a new patch – Version Controlled Version stamps Unit tests for Integration Tests – DBUnit or ??? – In Memory DB
  48. 48. IT0 Opening / Closing Run IT0 like any other Iteration… It is the first! – Opening Meeting • Take all these Stories and Tasks – Break them down – Estimate them • Define the Acceptance Criteria • The User is you! – Closing Meeting • What’s the velocity? • Are there any stories to continue?
  49. 49. Benefits of Iteration 0 feedback on teams ability to estimate team velocity focus on automating everything remove the human factors 46
  50. 50. ITX The Machine Is Ready Code at will!
  51. 51. Summary Start The Project Well IT 0 Establishes – Working Environment – Communication Channels – Initial Expectations
  52. 52. Questions  Please Fill Out Surveys kensipe@gmail.com twitter: @kensipe
  1. A particular slide catching your eye?

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

×