Optimize Your Team for Tough Times

  • 841 views
Uploaded on

Slides from this week's talk on Optimizing Your Team using Agile techniques.

Slides from this week's talk on Optimizing Your Team using Agile techniques.

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

Views

Total Views
841
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
46
Comments
0
Likes
0

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