Scrum as a framework
Before we start the discussion on Scrum workflows, we need to understand the ramifications of Scrum being a framework and not an overly prescriptive methodology. In this section, you will learn how to apply the basic Scrum approach to agile as a framework and not an overly prescriptive methodology. By describing Scrum as a framework, the implication is that Scrum is a container that provides only minimal guidance on baseline practices, rules, artifacts, and events. The objective of the Scrum philosophy is to keep the essential framework lightweight and relatively simple to understand. Even then, Schwaber and Sutherland note, in The Scrum Guide™, that Scrum is still challenging to master.
Since Scrum is a framework, those who implement Scrum are free to include other business and engineering practices that support their approach to software and systems development. The framework concept is critical to understand as the intent of Scrum is to apply agile practices and empirical process control theories to resolve complex adaptive problems across any type of development or operational requirement. However, each organization and their Scrum Teams must choose the life cycle development and delivery practices that best support their needs in the moment.
For example, your development team may use different software tools than other development teams and therefore require a different set of lower-level activities and best practices surrounding the use of those technologies. Likewise, your team may choose to implement test-driven development or model-driven development concepts within the framework of Scrum. Also, your team may implement variants for testing your software, based on the complexity and scale of the code you are developing. More importantly, as your team works together over time and continues to seek constant improvements, you may develop a set of best practices within the Scrum framework that are unique to your team.
As with any development methodology, there is a flow to working within Scrum. The events and artifacts within the Scrum framework support empirical process control through transparency, inspection, and adaptation. But the events and artifacts of Scrum also provide guide rails that constrain work within the iterative and Incremental Sprints of Scrum. The remaining sections of this chapter explain the basic flow of work across each Sprint.