Agile - Iteration 0 CodeMash 2010
-
Upload
kensipe -
Category
Technology
-
view
2.478 -
download
1
Transcript of Agile - Iteration 0 CodeMash 2010
![Page 1: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/1.jpg)
Iteration 0
![Page 2: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/2.jpg)
About Speaker
Developer: Embedded, C++, Java, Groovy, Grails, C#, F#JavaOne 2009 Rock Star, NFJSMicrosoft MCPSun Certified Java 2 ArchitectMaster of Scrums Agile CoachInstructor: VisiBroker CORBA
Rational Rose, OOAD
http://kensipe.blogspot.com/http://del.icio.us/kensipetwitter: @[email protected]
![Page 3: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/3.jpg)
Agenda
Agile Intro EditionAgile Micro Edition
– Inside an Iteration
Agile Macro Edition– Leading up to Iteration 0
Iteration 0
![Page 4: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/4.jpg)
Development Processes
4
Waterfall
![Page 5: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/5.jpg)
Development Processes
4
Iterative
![Page 6: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/6.jpg)
Value of Iterative
5
![Page 7: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/7.jpg)
Value of Iterative
Continuous focus – Improvement– Quality– Priority – Adding Business Value– Ability to Estimate– Team / Team Ability
6
![Page 8: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/8.jpg)
Value of Iterative
Continuous focus – Improvement– Quality– Priority – Adding Business Value– Ability to Estimate– Team / Team Ability
6
![Page 9: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/9.jpg)
Value of Iterative
Develops trust with the Business!
7
![Page 10: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/10.jpg)
What Agile is NOT
EvolutionaryNo DocumentationNo ArchitectureCowboy Development
8
![Page 11: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/11.jpg)
What Agile is NOT
EvolutionaryNo DocumentationNo ArchitectureCowboy Development
8
![Page 12: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/12.jpg)
9
Agile Micro View
![Page 13: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/13.jpg)
What is an Iteration?
10
Opening Meeting Closing Meeting
Standup Meetings
![Page 14: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/14.jpg)
Does Size Matter?
11
![Page 15: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/15.jpg)
Opening Meeting
Who comes?– Developers– DBA– User / BA– Architects– QA
12
![Page 16: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/16.jpg)
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
![Page 17: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/17.jpg)
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
![Page 18: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/18.jpg)
Value of the Closing Meeting
Quality CheckUser FeedbackEstimate CheckTeam Performance Check
15
Velocity?Bug Level?
![Page 19: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/19.jpg)
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
![Page 20: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/20.jpg)
17
Agile Macro View
![Page 21: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/21.jpg)
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
![Page 22: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/22.jpg)
Agile at a Macro Level
Missing Details– Great Information on Running Agile– Less Information on:
• Starting Agile• Pre-IT0• IT0
![Page 23: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/23.jpg)
Agile Full Life Cycle
![Page 24: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/24.jpg)
Pre-IT0 Stage 1
Project InceptionStake Holder Level
– Business Opportunity / Concerns– Often not exposed to all developers
![Page 25: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/25.jpg)
Pre-IT0 Stage 2
Collection of StoriesEstimating
– ROI – Project Justified
Build up of Team / ResourcesIteration SizingInitial List of RisksRelease Plan
![Page 26: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/26.jpg)
Building a Team
Co-OwnershipPrepared to Steal TasksPairing CapableExpected Velocity?
– Adjust Story Alignment and Release Plan
![Page 27: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/27.jpg)
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
![Page 28: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/28.jpg)
Iteration 0
Creation of the Machine!Environment Setup
– Continuous Integration (CI)– IDE– Communication
Project Alignment– To other concerns outside the core team
Release Plan
![Page 29: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/29.jpg)
Planning for Success
Working with Users– Stories
• Acceptance Criteria!!!!
– Priorities
Project Alignments– DBA / Database– QA– Enterprise Architecture– Management
![Page 30: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/30.jpg)
Release Plan
Internal Releases Every IterationPlanned QA ReleasesPlanned External ReleasesInitial Breakdown of Stories
– Iteration Based on Priority
![Page 31: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/31.jpg)
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
![Page 32: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/32.jpg)
Alignment With QA Option 1
Iteration 1
Iteration 2
Iteration 3
Iteration 4
Dev IT 1 Code
QA IT 1Test Plan
BA IT 2 Story Refinement
Dev IT 2Code
QA IT 2Test Plan
BA IT 3Story Refinement
QA IT 1Execution Plan
Dev IT 3Code
QA IT 3Test Plan
BA IT 4Story Refinement
QA IT 2Execution Plan
QA IT 1Regression
Dev IT 4Code
QA IT 4Test Plan
BA IT 5Story Refinement
QA IT 3Execution Plan
QA IT 1 & 2Regression
![Page 33: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/33.jpg)
Alignment with QA Option 2
Alignment to:– DBA– Enterprise Architects
Iteration 1Iteration 2
Iteration 3
Iteration 4
Dev IT 1
Code
Dev IT 2
Code
Dev IT 3
Code
Dev IT 4
Code
QA IT 1
Test Plan
Dev IT 5
Code
![Page 34: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/34.jpg)
Iteration 0
![Page 35: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/35.jpg)
What would stop you from doing a 1 week iteration?
32
![Page 36: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/36.jpg)
Purpose of Automation
PredictabilityFrequent repeatable feedbackShorter iterations possible
33
![Page 37: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/37.jpg)
Iteration 0
Version ControlIDE SetupIT0 Spikes Build SystemContinuous IntegrationReport MechanismCore InfrastructureXplanner / JIRA / WikiInitial Design StrategiesMultiple Domains
![Page 38: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/38.jpg)
Version Control
Establish Project LayoutQuestions
– 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
![Page 39: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/39.jpg)
IDE Setup
Project StructureSetup cvsignore or svnignore files
– What isn’t shared in the project?Plugins
– App Server of Choice– Subclipse– PMD– SpringIDE
Libraries– Core
• Spring, Logging
![Page 40: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/40.jpg)
IT0 Spikes
Using a new tool?– FIT– Selenium– jsUnit
Testing Something that is difficult to test?– 3rd Party Machine– External Connection
![Page 41: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/41.jpg)
Build System
Back to Project StructureAnt / 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
![Page 42: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/42.jpg)
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 SetupMust Build, Test and provide reports
![Page 43: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/43.jpg)
Reports
Code Quality– Compilation– Unit Test– Code Coverage– Static Analysis
Burn Down Reports
![Page 44: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/44.jpg)
XPlanner / JIRA
Setup Story RepositorySetup IT0 and IT1 and a Future Stories ITSetup Wiki / Forum
![Page 45: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/45.jpg)
Initial Design Strategies
StandardsGeneral Use of AnnotationsGeneral Upfront patterns (if it make sense)
– MVC– Presentation Model– Logging all in Aspects
Don’t Spend too much time here!It will evolve.
![Page 46: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/46.jpg)
Multiple Domains
Setup Dev BoxUnderstand other domains
– Prod, QA
Automate the promotion path if possible– How to handle SQL DDL?
![Page 47: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/47.jpg)
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
![Page 48: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/48.jpg)
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?
![Page 49: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/49.jpg)
Benefits of Iteration 0
feedback on teams ability to estimateteam velocityfocus on automating everythingremove the human factors
46
![Page 50: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/50.jpg)
ITX
The Machine Is ReadyCode at will!
![Page 51: Agile - Iteration 0 CodeMash 2010](https://reader033.fdocuments.us/reader033/viewer/2022060109/555843cdd8b42ac6078b5191/html5/thumbnails/51.jpg)
Summary
Start The Project WellIT 0 Establishes
– Working Environment– Communication Channels– Initial Expectations