Learning software development practices for Scrum
Scrum inherently supports an iterative and incremental development cycle. A Sprint is an iteration during which the Scrum Team produces a potentially shippable increment. A Product Increment is working and usable software that is built on top of other increments. This is a powerful approach that enables constant and focused releases while allowing for constant inspection, adaptation, and transparency (see Chapter 2, Scrum Theory and Principles).
To make the most out of this cycle of short and focused develop-build-release cycles, which is the Sprint, we need to adopt software development practices that are best suited to it. In this section, we'll learn about source control models and the importance of continuous integration, deployment, and delivery.
Source control model for continuous integration
The issue of how to control and manage different versions of the same source code has existed since software developers started...