Agile - Iteration 0 CodeMash 2010

  • 2,431 views
Uploaded on

 

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,431
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
46
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Iteration 0
  • 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. Agenda Agile Intro Edition Agile Micro Edition – Inside an Iteration Agile Macro Edition – Leading up to Iteration 0 Iteration 0
  • 4. Development Processes Waterfall 4
  • 5. Development Processes Iterative 4
  • 6. Value of Iterative 5
  • 7. Value of Iterative Continuous focus – Improvement – Quality – Priority – Adding Business Value – Ability to Estimate – Team / Team Ability 6
  • 8. Value of Iterative Continuous focus – Improvement – Quality – Priority – Adding Business Value – Ability to Estimate – Team / Team Ability 6
  • 9. Value of Iterative Develops trust with the Business! 7
  • 10. What Agile is NOT Evolutionary No Documentation No Architecture Cowboy Development 8
  • 11. What Agile is NOT Evolutionary No Documentation No Architecture Cowboy Development 8
  • 12. Agile Micro View 9
  • 13. What is an Iteration? Standup Meetings Opening Meeting Closing Meeting 10
  • 14. Does Size Matter? 11
  • 15. Opening Meeting Who comes? – Developers – DBA – User / BA – Architects – QA 12
  • 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. 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. Value of the Closing Meeting Quality Check User Feedback Estimate Check Team Performance Check Velocity? Bug Level? 15
  • 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. Agile Macro View 17
  • 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. Agile at a Macro Level Missing Details – Great Information on Running Agile – Less Information on: • Starting Agile • Pre-IT0 • IT0
  • 23. Agile Full Life Cycle
  • 24. Pre-IT0 Stage 1 Project Inception Stake Holder Level – Business Opportunity / Concerns – Often not exposed to all developers
  • 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. Building a Team Co-Ownership Prepared to Steal Tasks Pairing Capable Expected Velocity? – Adjust Story Alignment and Release Plan
  • 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. 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. Planning for Success Working with Users – Stories • Acceptance Criteria!!!! – Priorities Project Alignments – DBA / Database – QA – Enterprise Architecture – Management
  • 30. Release Plan Internal Releases Every Iteration Planned QA Releases Planned External Releases Initial Breakdown of Stories – Iteration Based on Priority
  • 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. 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. 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. Iteration 0
  • 35. What would stop you from doing a 1 week iteration? 32
  • 36. Purpose of Automation Predictability Frequent repeatable feedback Shorter iterations possible 33
  • 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. 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. 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. IT0 Spikes Using a new tool? – FIT – Selenium – jsUnit Testing Something that is difficult to test? – 3rd Party Machine – External Connection
  • 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. 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. Reports Code Quality – Compilation – Unit Test – Code Coverage – Static Analysis Burn Down Reports
  • 44. XPlanner / JIRA Setup Story Repository Setup IT0 and IT1 and a Future Stories IT Setup Wiki / Forum
  • 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. Multiple Domains Setup Dev Box Understand other domains – Prod, QA Automate the promotion path if possible – How to handle SQL DDL?
  • 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. 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. Benefits of Iteration 0 feedback on teams ability to estimate team velocity focus on automating everything remove the human factors 46
  • 50. ITX The Machine Is Ready Code at will!
  • 51. Summary Start The Project Well IT 0 Establishes – Working Environment – Communication Channels – Initial Expectations
  • 52. Questions  Please Fill Out Surveys kensipe@gmail.com twitter: @kensipe