Background: Agile and distributed software development are two trends that continue to increase rapidly in today's software industry. Even though the benefits achievable by combining them are potentially many, the intrinsic challenges of such marriage often lead to severe complications that can jeopardize the successful completion of software projects. Method: To investigate empirically how these two trends can coexist without compromising on the agile core values and principles, we conducted an exploratory holistic case study. Focusing on the development team of a Danish SME having both distributed offices as well as teleworking arrangements, we showcase (the evolution of) their practices. Results: The case is an example of the effective application of the agile reflective culture that allowed the company to evolve to a level in which the collocation restrictions of agile software development are overcome by a continuously evolving software process geared towards reducing waste to achieve speed and simplicity. Conclusions: Even though results need to be considered carefully due to the single nature of the reported case, we highlight five elements that have been fundamental in such journey: agile servant-leader, agile team, trust, virtual work environment, inspect & adapt, and reduce waste. Extensive information is provided to frame the context and to allow meaningful future comparisons.
- agile software development, case study, continuous deployment, continuous software engineering, distributed software engineering, software process improvement