Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)


Published on

From the presentation given at Web Innovation 2008 by Bhavin Turakhia and Naresh Jain on adoption of Agile practices at Directi.

Published in: Technology, Self Improvement
  • Be the first to comment

Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)

  1. 1. Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi) <ul><li>By Bhavin Turakhia (CEO) </li></ul><ul><li>& Naresh Jain (Agile & Community Evangelist) </li></ul><ul><li>Directi ( </li></ul>Licensed under Creative Commons Attribution Sharealike Noncommercial
  2. 2. Agenda <ul><li>Why Agile is important to us? </li></ul><ul><li>Our Journey </li></ul><ul><li>General Tips and Observations </li></ul><ul><li>The Road ahead </li></ul>
  3. 3. Safeguard Ballistic Missile Defense System <ul><li>1969-1975, 5407 person years </li></ul><ul><li>Hardware designed at the same time as software specs being written </li></ul><ul><li>Late changes in requirements not an option </li></ul><ul><li>The project was delivered according to specifications </li></ul><ul><li>Cost: $25 Billion (not adjusted) </li></ul>‘ By the time the 6-year anti-missile system project was completed, the new missiles were faster than the anti-missile missiles’ Operational for 133 days - Project terminated in 1978 reqmts 20 % design 20 % code & unit test 18 % integration testing 42 %
  4. 4. In Conventional Software Development Processes <ul><li>Features are fixed </li></ul><ul><li>Release spec is fixed </li></ul><ul><li>.. and in theory ... time and cost is fixed </li></ul><ul><li>Feature creep is a bad word </li></ul>Quality ?? Cost/Resource Time Scope
  5. 5. The Reality is – Change is the only Constant
  6. 6. <ul><li>Agile as the word suggests </li></ul><ul><ul><li>Acknowledges that uncertainty and change exist </li></ul></ul><ul><ul><li>Recommends being open to change and evolving </li></ul></ul><ul><ul><li>Is feedback driven </li></ul></ul><ul><ul><li>Encourages ongoing and open communication </li></ul></ul><ul><ul><li>Discourages over-engineering </li></ul></ul><ul><ul><li>Encourages lean thinking </li></ul></ul><ul><ul><li>KISS, DRY, YAGNI </li></ul></ul>Introducing Agile … Agile is not a process. It is a philosophy / set of values
  7. 7. Our Journey
  8. 8. <ul><li>Observations </li></ul><ul><ul><li>Maintain a heartbeat of the project </li></ul></ul><ul><ul><li>Serve as quicker feedback loops (what works / doesn’t work) </li></ul></ul><ul><ul><li>Maintain deadlines and focus / minimize timeline deviations </li></ul></ul><ul><ul><li>Identify hurdles quickly </li></ul></ul><ul><ul><li>Create a sense of urgency </li></ul></ul><ul><ul><li>Demonstrate progress </li></ul></ul><ul><ul><li>Motivate members </li></ul></ul><ul><ul><li>Get a sense of performance amongst team members </li></ul></ul><ul><ul><li>Communicate and trickle down vision regularly </li></ul></ul><ul><ul><li>Create a sense of team ownership and collectiveness </li></ul></ul><ul><ul><li>.. and they take almost no time </li></ul></ul><ul><li>Challenges </li></ul><ul><ul><li>Common time </li></ul></ul>Daily Stand up meetings
  9. 9. Weekly Iterations & Monthly Releases <ul><li>Implementation </li></ul><ul><ul><li>Time box each release to a month </li></ul></ul><ul><ul><li>Schedule weekly demos </li></ul></ul><ul><ul><li>Concept of iteration and completeness </li></ul></ul><ul><li>Observations </li></ul><ul><ul><li>Regular Stakeholder participation </li></ul></ul><ul><ul><li>Reduces Business Risk </li></ul></ul><ul><ul><li>Enables adaption to avoid delays </li></ul></ul><ul><ul><li>Effective Prioritization </li></ul></ul><ul><ul><li>Focus / Clear Targets </li></ul></ul><ul><ul><li>Motivation </li></ul></ul><ul><ul><li>Long enough to get stuff done </li></ul></ul><ul><ul><li>Short enough to maintain predictability </li></ul></ul><ul><li>Challenges </li></ul><ul><ul><li>Chances of Burn out, lack of slack </li></ul></ul>
  10. 10. eXtreme Programming <ul><li>Implementation </li></ul><ul><ul><li>TDD </li></ul></ul><ul><ul><li>Refactoring </li></ul></ul><ul><ul><li>Continuous Integration </li></ul></ul><ul><li>Observations </li></ul><ul><ul><li>Code coverage - safety net </li></ul></ul><ul><ul><li>Drives better design </li></ul></ul><ul><ul><li>Taking baby steps </li></ul></ul><ul><ul><li>The last 5% doesn’t end up taking 95% time </li></ul></ul><ul><ul><li>Early Feedback </li></ul></ul><ul><ul><li>Reusable Test framework (Safety Net) </li></ul></ul><ul><ul><li>Lets face it ... manual testing is boring </li></ul></ul><ul><ul><li>Tests as Training documentation </li></ul></ul><ul><ul><li>Lower cumulative testing cost </li></ul></ul><ul><li>Challenges </li></ul><ul><ul><li>Learning curve </li></ul></ul><ul><ul><li>Easy to fall back to older habits </li></ul></ul>Add a Test Run the Test Make a little change Run the Test Refactor Fail Pass Fail Pass
  11. 11. Release Retrospective <ul><li>Implementation </li></ul><ul><ul><li>Discuss macro lessons learnt / process evolution / challenges </li></ul></ul><ul><li>Observations </li></ul><ul><ul><li>What worked / What didn’t work / What needs improvement </li></ul></ul><ul><ul><li>Inspect and adapt </li></ul></ul><ul><ul><li>Process evolution </li></ul></ul><ul><li>Challenges </li></ul><ul><ul><li>Not everyone is comfortable speaking up </li></ul></ul>
  12. 12. Raising the Bar <ul><li>People matter *much* more than process </li></ul><ul><li>Pair Programming during Interviews </li></ul><ul><li>Very high focus on technical excellence / communication skills </li></ul><ul><li>Diversity in skill-sets </li></ul>We spend extra time in making sure we hire the RIGHT people, so we don’t have to spend time in making sure the job gets done RIGHT
  13. 13. General Tips / Observations <ul><li>Tips </li></ul><ul><ul><li>You need local champions/ambassadors for percolation </li></ul></ul><ul><ul><li>Don’t start out with 100% adoption - prioritize the practices </li></ul></ul><ul><ul><li>Requires changes to your infrastructure and facilities </li></ul></ul><ul><ul><li>Cross-functional agile adoption vs dev team only </li></ul></ul><ul><ul><li>Only buy-in not sufficient / dedicated involvement and commitment required </li></ul></ul><ul><ul><li>Embrace tools </li></ul></ul><ul><ul><li>Learn by Activity / Knowledge Percolation strategies </li></ul></ul><ul><li>Observations </li></ul><ul><ul><li>A fundamental shift in thought process </li></ul></ul><ul><ul><li>Everyone is really excited!! (Moral Boast / Motivation) </li></ul></ul><ul><ul><li>Higher visibility / greater transparency through the organization </li></ul></ul>
  14. 14. The Road ahead <ul><li>Pair Programming </li></ul><ul><li>Automated Acceptance Testing </li></ul><ul><li>Identify right metrics to measure </li></ul><ul><li>Informative Work-spaces and Information Radiators </li></ul><ul><li>User Stories or Clarity in terms of Feature Granularity </li></ul><ul><li>Regular Cross Pollination and Rotation of Team members across different products </li></ul><ul><li>Less Cubical more Dinning Table style seating arrangements </li></ul>
  15. 15. What’s been your experience?
  16. 16. Questions?? [email_address] Download slides: