Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi) <ul><li>By Bhavin Turakhia (CEO)  </li></ul><ul><li>& Na...
Agenda <ul><li>Why Agile is important to us? </li></ul><ul><li>Our Journey </li></ul><ul><li>General Tips and Observations...
Safeguard Ballistic Missile Defense System <ul><li>1969-1975, 5407 person years  </li></ul><ul><li>Hardware designed at th...
In Conventional Software Development Processes <ul><li>Features are fixed </li></ul><ul><li>Release spec is fixed </li></u...
The Reality is – Change is the only Constant
<ul><li>Agile as the word suggests </li></ul><ul><ul><li>Acknowledges that uncertainty and change exist </li></ul></ul><ul...
Our Journey
<ul><li>Observations </li></ul><ul><ul><li>Maintain a heartbeat of the project  </li></ul></ul><ul><ul><li>Serve as quicke...
Weekly Iterations & Monthly Releases <ul><li>Implementation </li></ul><ul><ul><li>Time box each release to a month </li></...
eXtreme Programming <ul><li>Implementation </li></ul><ul><ul><li>TDD  </li></ul></ul><ul><ul><li>Refactoring </li></ul></u...
Release Retrospective  <ul><li>Implementation </li></ul><ul><ul><li>Discuss macro lessons learnt / process evolution / cha...
Raising the Bar <ul><li>People matter  *much*  more than process </li></ul><ul><li>Pair Programming during Interviews </li...
General Tips / Observations  <ul><li>Tips </li></ul><ul><ul><li>You need local champions/ambassadors for percolation  </li...
The Road ahead <ul><li>Pair Programming </li></ul><ul><li>Automated Acceptance Testing </li></ul><ul><li>Identify right me...
What’s been your experience?
Questions?? bhavin.t@directi.com  [email_address] http://directi.com http://careers.directi.com   Download slides:   http:...
Upcoming SlideShare
Loading in …5
×

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

10,725 views

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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
10,725
On SlideShare
0
From Embeds
0
Number of Embeds
6,855
Actions
Shares
0
Downloads
52
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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 (http://www.directi.com) </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?? bhavin.t@directi.com [email_address] http://directi.com http://careers.directi.com Download slides: http://wiki.directi.com

    ×