Face to Face Communication is one of the core values of Agile yet here we are building an SaaS product with a 5 person team in 5 time zones spread around the world using agile and we never talk to each other! Come see how we rescued a a small 5-year-old SaaS product that was suffering from an existential crisis by adopting agile practices and innovative communication techniques using free or low-cost SaaS tools .
The original developer had built a complex system that met the business needs but after 4+ years had lost interest in the product. As a result the flow of new functionality had slowed to a dribble and the business people in Australia and New Zealand were very frustrated! The technical architecture was quite complex as it used many frameworks but had no documentation and very few (and very complex) unit tests. There were half a dozen servers doing various things and the build and deployment processes were all manual. As a result, we were in severe danger of being unable to support the product. We had to find someone to take over support and enhancement of the application and we had a lot to learn. Being a very small company with everyone only involved a few hours per day, we couldn’t afford the cost or risk of hiring a full time developer. We’ve had some ups and downs with outsourcing the development work to people in India and Romania but we have now restored the regular flow of value to our customers. This required evolving a highly distributed agile process with each person located on a different sub-continent. We embraced key agile practices including User Stories, ATDD, CI, Unit Testing, Database Refactoring and Automated Deployment (not quite CD, yet!) We build on cloud-based SaaS technologies whenever possible to maximize value and minimize build cost. And we learned how to work as a cloud-based team with good collaboration and communication using cloud-based tools without ever talking face-to-face.