What i learned adopting agile practices

Uploaded on


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
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. What I Learned Adopting Agile Practices
    • Vijay Narayanan
    • http:// artofsoftwarereuse.com /
  • 2. Essence of Agility…
    • Embracing change
    • Collaboration and exploration
    • Delivering working software
  • 3. Start With Stories
    • Stories place the user’s needs in front
    • Establish shared meaning
    • Help Channelize Passion
  • 4. Take Small Bites
    • Focus on the iteration instead of the entire project
    • Gives the team a chance to experiment and adapt practices
  • 5. Quality more important than Quantity
    • Fewer Features does not equal loss in user productivity!
    • Health of codebase as important as any other metric
  • 6. Empty Your Cup
    • Practice “I don’t Know”
    • What did I and the team learn in this iteration?
  • 7. Listen
    • For feedback from developers and business partners
    • For conflict and indecision
  • 8. Be Visual
    • Track trends – defects opened, fixed, stories implemented
    • Make priorities and tasks clearly visible
    • Don’t design over email, grab a whiteboard
  • 9. Iterate to Innovate
    • “ Speed of Iteration over Pursuit of Perfection” – Charles Boyd
    • Your understanding may be partial and/or incorrect
  • 10. Travel Light
    • Implement fewer stories
    • Write readable code
    • Keep Stand up Meetings short, very short
  • 11. Be Ruthless With Repetition
    • Automate manual tasks – setting up developer machines, unit testing, release and deployment, smoke testing – list is endless!
    • Refactor duplicate code
  • 12. Collaborate
    • With sponsors to meet business objectives and deliver working software
    • With users to observe and understand their true needs
    • With developers to brainstorm design alternatives
  • 13. Trust but Verify
    • Mentor junior developers
    • Write tests and do code reviews
    • Lead by example – don’t preach quality but demonstrate in action
  • 14. Mistake Proofing is Super-Useful
    • Make it easy to get things right – setting up environment, fixing defects, following conventions consistently
    • When mistakes do happen – go after the root cause!
  • 15. Expect the Unexpected
    • Agile practices will introduce awkwardness in interactions and behavior
    • Expect a big backlog of unfinished work – specially when you start!
  • 16. Release Early, Even if you need to fake it!
    • If you cannot release to real users – release into a test environment
    • Focusing on early and continuous releases will help with every other agile practice
  • 17. Practice
    • Roles and responsibilities
    • Coaching developers
    • Acting on feedback
  • 18. The Japanese Lunchbox
    • Agile helps the team see the interconnectedness between: features, quality, and delivery
  • 19. Celebrate
    • Shared code ownership
    • Every iteration!
    • Infinite learning opportunities
  • 20. Have a “Beginner’s Mind”
    • Open to change, uncertainty, and learning…
    • Keep the child-like curiosity!