Scrum is an agile software development framework that also conforms to the similar success story of the performance gain and hyper-productivity [3-6,7]. J. Sutherland, et al., have defined Scrum as follows[1]-
Scrum is an Agile software development process designed to add energy, focus, clarity, and transparency to project teams developing software systems.
C. Larman and B. Vodde describe Scrum as a framework for development in which the concrete details are being added by the relevant teams and evolved iteration by iteration[8]. Scrum is a very light-weight and flexible process. It is said that, Scrum is easy to understand but hard to use, because it brings light to the weakness, rather hiding those. Being flexible in nature, Scrum always promotes the process that works by encouraging transparency and visibility. Hence, adapting Scrum as necessary, while conforming to its basic principle is the key strength of this process model. Though, initially Scrum is meant for small co-located team of 5-10 persons, it can be scaled up and used in large-scale product development context. To do so, two additional concepts are incorporated along with the traditional Scrum principles: “large-scale” and “fully distributed” Scrum. In this section, we discuss these concepts, how we can accommodate those in the flexible framework of Scrum and their realized benefits in the GSD context.
Fully Distributed Scrum(FDS) is a variant models(( for other models , see [1, 8]) of Scrum to support GSD where Scrum teams are cross-functional with members distributed across geographies[1]. FDS as a process leverages all the inherent qualities and complexity of Scrum and at the same time, it addresses an way of scaling Scrum to Large-scale Fully Distributed Scrum(LFDS)[8] by promoting GSD. LFDS is similar to FDS along with a set of additional strategies/rules that we have seen to work in large, multisite, multi-team software development with Scrum. Among various aspects of LFDS, the few realized advantages are as follows.
- Adaptive changes. Realizing and handling the core impediments early in the development phase, eventually results in increase in productivity. Case study in [1] also depicts a similar situation.
- Structured Communication Framework. Through Scrum, team members can communicate clearly (although they are distributed geographically), which is an essential aspect of GSD.
- Shared ownership. It promotes better team work, higher velocity and intuitively, eliminates various soft issues in team orientation.
Above all, LFDS is identified as the force to change the organization by making the rocks visible[2]. C. Larman and B. Vodde state that adopting LFDS in a larger product group explores the weakness of the whole setup– in the structure , process, planning and so on, which in turns, necessitate relevant changes[2]. However, empirically it is well-known that, lowering the water to make the rocks visible is the easy part of the whole change process. Hard part is to remove the rocks which require careful redesign of different aspects of GSD process model. That is way, the coordination strategies are presented later in the post to deal with the challenges of the LFDS in the context of GSD.
References
1. J. Sutherland, et al., “Fully Distributed Scrum: The Secret Sauce for Hyperproductive Offshored Development Teams,” presented at the Proceedings of the Agile 2008, 2008.
2. C. Larman and B. Vodde, Scaling Lean \& Agile Development: Thinking and Organizational Tools for Large-Scale Scrum: Addison-Wesley Professional, 2008.
3. J. Sutherland, et al., “Fully Distributed Scrum: Linear Scalability of Production between San Francisco and India,” presented at the Proceedings of the 2009 Agile Conference, 2009.
4. J. Sutherland, et al., “Fully Distributed Scrum: The Secret Sauce for Hyperproductive Offshored Development Teams,” presented at the Proceedings of the Agile 2008, 2008.
5. J. Sutherland, et al., “Distributed Scrum: Agile Project Management with Outsourced Development Teams,” presented at the Proceedings of the 40th Annual Hawaii International Conference on System Sciences, 2007.
6. P. A. Beavers, “Managing a Large “Agile” Software Engineering Organization,” presented at the Proceedings of the AGILE 2007, 2007.
7. M. Marchesi, et al., “Distributed Scrum in Research Project Management,” Agile Processes in Software Engineering and Extreme Programming, vol. 4536, pp. 240-244, 2007.
8. C. Larman and B. Vodde, Practices for Scaling Lean \& Agile Development: Large, Multisite, and Offshore Product Development with Large-Scale Scrum: Addison-Wesley Professional, 2010.
9. A. Välimäki and J. Kääriäinen, “Patterns for Distributed Scrum A Case Study,” Enterprise Interoperability III, pp. 85-97, 2008.