optimize your team for tough times
DESCRIPTION
Slides from this week's talk on Optimizing Your Team using Agile techniques.TRANSCRIPT
![Page 1: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/1.jpg)
Team Wide Tune-upsOptimize Your Team for Tough Times
by Jared Richardson
![Page 2: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/2.jpg)
![Page 3: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/3.jpg)
Lift 100 Pounds?
![Page 4: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/4.jpg)
Lift 200 Pounds?
![Page 5: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/5.jpg)
Lift 500 Pounds?
![Page 6: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/6.jpg)
Maybe All of Us?
• Lever
• Pulley
• Block and tackle
flickr.com/photos/_pixelmaniac_/2149556620/
![Page 7: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/7.jpg)
Need to Leverage
• Time
• Money
• Staff
• Expertise
![Page 8: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/8.jpg)
Need to Leverage?
Everything!
![Page 9: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/9.jpg)
Focus
• Specific areas
• Exact problems
• Usable solutions
http://flickr.com/photos/spacepleb/1505372433/
![Page 10: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/10.jpg)
Feedback Loop
• Smaller
• Easier
• Faster
![Page 11: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/11.jpg)
Fast Feedback
• Creates change
• Enables learning
• Connects cause and effect
![Page 12: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/12.jpg)
Plan
• Find an area
• Tighten the feedback
![Page 13: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/13.jpg)
Focus Areas
• Requirements
• Execution
• Testing
• Deployment
• Maintenance
![Page 14: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/14.jpg)
Requirements Issues
• Too many
• Too few
• Moving target
• Vague
![Page 15: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/15.jpg)
Requirements Feedback Loops
• Time boxed iterations
• Top 10 list
• Very specific month
• Very vague year
![Page 16: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/16.jpg)
Time Boxed Iteration
• 1 to 4 weeks
• “Finished” tasks
• Demo
• 10 tasks in 10 days
• Get the customer to prioritize
http://flickr.com/photos/bozarth/187224341/
![Page 17: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/17.jpg)
Iterations Catch…
• Undefined requirements
• Problem teams
• Black hole task
• Any problems
• Compresses everything
![Page 18: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/18.jpg)
Execution/Coding Issues
• Can’t finish
• Buggy
• Brittle
• Cool features
• Infrastructure
![Page 19: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/19.jpg)
Coding Feedback Loops
• Continuous integration
• Test automation
• Daily meetings
• Peer code reviews
• Time boxed iterations
![Page 20: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/20.jpg)
Continuous Integration
• Code is checked in
• Code is compiled
• Tests are run
![Page 21: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/21.jpg)
Continuous Integration
• No weekly/nightly builds
• Code tested NOW
• Problems caught quickly
• Especially functional
![Page 22: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/22.jpg)
CI Catches…
• Failure to add a file
• Out of date local libraries/code
• Code collisions
• Functional breaks
![Page 23: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/23.jpg)
Test Automation
• Scriptable
• Self-verifying
• Simple (Unit)
• Package level (API)
• Integration (Acceptance)
![Page 24: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/24.jpg)
Test Automation Catches..
• Functional breaks
• Broken refactoring
• Collateral damage
• Ignorance
![Page 25: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/25.jpg)
DefectDrivenTesting
• Find a bug…
• Add a test
• Jazz
![Page 26: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/26.jpg)
Where’s Your Test Coverage?
• On the bugs
• Incremental change
• Automate as needed
![Page 27: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/27.jpg)
Daily Meetings
• 1 to 3 minutes per person
• 3 questions
• Re-direct
• Re-task
• Peer pressure
![Page 28: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/28.jpg)
Daily Meetings Catch…
• Wasted work
• Misunderstanding
• Off track
• Knowledge silos
http://flickr.com/photos/mcmorr/1126312308/
![Page 29: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/29.jpg)
Peer Code Review
• Finish one task
• Find a co-worker
• Get a review
• Repeat until done
![Page 30: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/30.jpg)
PCR Catches…
• Your bugs
• Their bugs
• Knowledge silos
• Rewriting code
• Hacks
http://flickr.com/photos/gtstuff/3215232741/
![Page 31: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/31.jpg)
Iterations Catch…
• Mired down developers
• “Almost done” features
• Unestimated features
• Uncommitted code
![Page 32: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/32.jpg)
Testing Issues
• Too slow
• Misses problems
• Expensive
• New eyes
![Page 33: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/33.jpg)
Testing Feedback Loops
• Automated testing
• Continuous integration
• Static code analysis tools
![Page 34: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/34.jpg)
Testing Feedback Loops
• Eliminates click-thru testing
• Runs 24x7
• Repeatable
• Reliable
• Controlled environment
• Free up human testers to think
![Page 35: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/35.jpg)
Deployment Issues
• By hand
• Hit or miss
• Manual
• Difficult
• Stupid users
![Page 36: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/36.jpg)
Deployment Feedback Loops
• Scripted deployments
• Continuous integration
• Automated integration tests
![Page 37: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/37.jpg)
Scripted Deployments
• Capistrano
• Database migrations
• Runs locally
• Runs on production
• Runs on test
![Page 38: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/38.jpg)
Deployment Loops Catch…
• Bugs in installers
• Bugs in code
• Performance issues
• Intermittent issues
![Page 39: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/39.jpg)
Maintenance Issues
• Biggest expense
• Brittle
• Difficult
• Expensive
• Frustrating
• Learning curve
![Page 40: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/40.jpg)
Maintenance Loops
• Automated tests
• Continuous integration
• Static code analysis
![Page 41: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/41.jpg)
Maintenance Loops Catch…
• Assumptions
• Misunderstandings
• Breaks
• Collateral damage
![Page 42: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/42.jpg)
Need to Optimize?
• Find an area
• Tighten the feedback loop
![Page 43: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/43.jpg)
Focus Areas
• Requirements
• Execution
• Testing
• Deployment
• Maintenance
![Page 44: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/44.jpg)
Where to Start?
• Take a picture
• Fresh perspective
http://flickr.com/photos/dsevilla/249202834/
![Page 45: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/45.jpg)
Onsite Assessments
• Tune-up
• Overhaul
• Direction
• Strategy
![Page 46: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/46.jpg)
Fresh perspective
![Page 47: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/47.jpg)
Onsite Training
• Test automation
• Product owner training
• Agile expertise
• Hibernate
• Maven
• More added as needed…
![Page 48: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/48.jpg)
Leverage Expertise
![Page 49: Optimize Your Team for Tough Times](https://reader034.vdocument.in/reader034/viewer/2022051818/549d37ddac7959c92a8b498c/html5/thumbnails/49.jpg)
http://NFJSOne.com