What i learned adopting agile practices

  • 771 views
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

Views

Total Views
771
On Slideshare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
16
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. 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!