Joy Shafer, Microsoft
About eight months into our first Agile development projects, the Development Lead, the Lead Program Manager, and I, the Test Lead, attended a seminar titled “Agile meets Offshore.” The presenter, a gentleman with considerable experience in this arena, told the audience not to try Agile offshore on “… first releases of complex and high-technology-risk projects, if your onshore development process is not in place, [or] if you don’t have any onshore Agile experience.” My colleagues and I looked at each other, and the Dev Lead said, “No wonder this is so hard. We’re doing all of those things!”Six months later, we had fallen into a cadence of releasing both of our online services on time every two months. These were the easiest releases I’ve experienced in my fifteen-year career in software testing. We were even able to release a week early in one case. Our software quality and team morale was high, we worked productively in round-the-clock shifts, and the offshore teams were truly an extension of the core team.
This paper details our journey from chaos to concord. It highlights the challenges and successes we experienced while developing software as a service with a globally distributed team using Agile methodologies. We concurrently developed two small, first-version online services using a development team that was located in Redmond and Moscow, and a test team that was located in Redmond and India. We encountered many interesting and difficult challenges, but were able to successfully overcome them and release high quality software on time, delighting our stakeholders. This experience report highlights our learnings, focusing on several critical success factors, such as well-defined processes, cultural awareness, continuous integration, open communication, and relationship building.
2008 Technical Paper, Joy Shafer, Abstract, Paper