Your SlideShare is downloading. ×
0
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
What i learned adopting agile practices
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

What i learned adopting agile practices

852

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

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

×