Offshore Agile Maintenance
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Offshore Agile Maintenance

  • 7,604 views
Uploaded on

Agile 2006 Conference eXperience report by Naresh Jain on his experience maintaining a project from offshore using Agile values and principles.

Agile 2006 Conference eXperience report by Naresh Jain on his experience maintaining a project from offshore using Agile values and principles.

More in: Technology , Business
  • 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
7,604
On Slideshare
5,994
From Embeds
1,610
Number of Embeds
6

Actions

Shares
Downloads
230
Comments
0
Likes
4

Embeds 1,610

http://agilefaqs.com 1,211
http://nareshjain.com 367
http://localhost 13
http://www.agilefaqs.com 12
http://www.slideshare.net 6
http://web.archive.org 1

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. Offshore Agile Maintenance - Agile 2006 Conference eXperience report Naresh Jain naresh@agilefaqs.com http://agilefaqs.com Licensed Under Creative Commons by Naresh Jain 1
  • 2. Project background Challenges with distributed/offshore team My observations The Holy Grail Small things that made a big difference Lessons for life Improvements on my future projects Licensed Under Creative Commons by Naresh Jain 2
  • 3. Where, why and how did it all start? EAI project for back office data validation and billing system for a pay-per-view cable company in New York 2 years later, lack of funds to maintain the app Decision to offshore the project Ended up with one year maintenance contract. Licensed Under Creative Commons by Naresh Jain 3
  • 4. Challenges: Distributed/offshore teams Decrease in communication bandwidth Lack of visibility into project status Configuration management Art of Command and Control structure Time difference Cultural difference Licensed Under Creative Commons by Naresh Jain 4
  • 5. Painful Distributed Development: Root cause My observations Lack of trust Loss of context, both business and technical Delay in feedback cycle due to increase in distance and time difference Duplication of efforts Change is inevitable Licensed Under Creative Commons by Naresh Jain 5
  • 6. XP Practices used on the project Planning game – 2 week iterations, story cards, Iteration Planning Meetings Small releases – 2 to 3 months Refactoring Pair Programming Collective code ownership Continuous integration/Automated Release Test Driven Development Standup meetings Coding standards Licensed Under Creative Commons by Naresh Jain 6
  • 7. What we did not have/could not do? Onsite Client Metaphor Simple Design 100% Automated testing 40 hour week / sustainable pace Licensed Under Creative Commons by Naresh Jain 7
  • 8. Small things that made a big difference General practices: Empowered small teams Freedom to try new things Fun work place with lots of outings, parties, ice-creams, food, etc Licensed Under Creative Commons by Naresh Jain 8
  • 9. Small things that made a big difference To address lack of trust: Results matter Life is more than just a pay cheque Building a personal rapport Brand ambassadors and cross pollination Licensed Under Creative Commons by Naresh Jain 9
  • 10. Small things that made a big difference To address delayed feedback cycles: Retrospectives Involve the customer Daily client driven demo on Dev env EOD Status mail Seamless collaboration between Developers and QA 100% Automation Refactoring fests Realistic measures of progress Licensed Under Creative Commons by Naresh Jain 10
  • 11. Small things that made a big difference To address loss of context of business/technical problems and decisions: Involve the customer IM Chats Regular Conference call Demos and functional walk thru by Client Acceptance tests Brand ambassadors and cross pollination Pairing SCube sessions Licensed Under Creative Commons by Naresh Jain 11
  • 12. The Holy Grail Structure and execution of the project Planning During the iteration End of iteration Release process Big win! Licensed Under Creative Commons by Naresh Jain 12
  • 13. The Holy Grail… How did we manage with lack of tests and documentation? Unit and functional tests QA Automation Red light goes on to say its time to begin Log files and other artifacts are your friends Positive feedback cycle: Refactoring Licensed Under Creative Commons by Naresh Jain 13
  • 14. The Holy Grail… Automation is your friend till THE END Installation process Release process Configuration management Database change management Functional tests Licensed Under Creative Commons by Naresh Jain 14
  • 15. Improvements on my future projects Heavy focus on automated tests and refactoring. Exchange programs Good roll-off plans for the team members. Scratch your personal itch day. Licensed Under Creative Commons by Naresh Jain 15
  • 16. Conclusion Decrease in communication bandwidth Communicate, communicate and over communicate Lack of visibility into project status Correct and timely feedback Open and honest work culture Configuration management It’s the tool, that differentiate Humans from the rest Art of Command and Control structure Self organized team of motivated individuals Cultural difference Is it a problem? Was fun! Creative Commons by Naresh Jain Licensed Under 16
  • 17. References Distributed Agile Development and the Death of Distance http://www.thoughtworks.com/press-releases/Distributed-Agile- Development-and-the-Death-of-Distance.html Case Study: Distributed Agile Development http://www.pivolis.com/pdf/Distributed_Agile_V1.0.pdf Distributed Agile http://www.agilealliance.com/articles/steindlchristophdistr/file Using an Agile Software Process with Offshore Development http://www.martinfowler.com/articles/agileOffshore.html C2 Wiki - http://c2.com/cgi/wiki Licensed Under Creative Commons by Naresh Jain 17