Abstract: 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.
Learning Outcomes: - * Adopting Agile doesn't have to be expensive.
- * Distributed development challenges can be overcome using low-cost (or even free!) SaaS tools.
- * There is an amazing variety of SaaS tools available to choose from (Good news: don't have to build; Bad news: Have to choose from many options)
- * Avoid analysis paralysis; Just pick something "good enough" and start running with it
- * Voice communcation is highly overrated - Poor communications links and accents can make it useless
- * "Good-enough" communication is better than no communication; good chat tools are key;
- * Supplement with Multimedia (quick screen shots, mock-ups, interactive prototypes, etc)
- * People will adjust behaviour to optimize the situation; many of us make ourselves available in non-core hours to answer developer questions quickly
- * Start with small improvement features that affect small parts of the code; learn as you go
- * Plan on things to take longer than you expected and don't despair when they take even longer; everyone is learning lots and will get faster over time
- * Be prepared to get the wrong people off the bus! (Our first attempt at outsourcing was a dismal failure; we had to rewrite all the developers code; we should have fired him a lot sooner.)
- * Focus on quality, productivity will come later.
Attachments: