In rugby, a scrum is where the players restart play on opposing sides, bodies interlocked and heads down, pushing forward and trying to gain possession of a ball by kicking it backward towards their own side of the field. My favorite definition of scrum is, “A disordered or confused situation involving a number of people.” When talking about Agile Methodology, a scrum is generally considered to be a more orderly, self-formed team of developers and visionaries committed to delivering value to customers on behalf of the company.
In practical terms, a scrum team is a set of employees grouped together to accomplish a task, or number of tasks, to complete the development of a new feature, or features, for a given software product. The scrum team consists of a product owner who provides general guidelines for feature priorities, a scrum master who facilitates the development activities of the scrum team, and the scrum team members who complete the necessary tasks needed to deliver the new product features.
The practical application of the activities required to complete the development tasks are time-boxed in a development cycle referred to as a sprint, which is usually a 10-day period of time.
During this time, multiple meetings take place, including:
- Sprint Planning: Team decides what to accomplish during a sprint
- Backlog Grooming: Team prepares features for development
- Daily Stand-Up: Team reports on feature development progress and any blocking issues
- Sprint Retro: Team discusses what went well and what could be improved upon during the course of a sprint
- Sprint Demo: Team provides a demonstration of the feature(s) completed during a sprint
Whatever the label, each of these meetings is still all about planning and communication. Instead of using the way-outdated “finished-my-part-and-tossed-it-over-the-wall” method of development, a scrum team comes together to share in a simultaneous, deliberately planned and executed style of process implementation designed to deliver value to a company’s customers.
The bottom line being that the Agile Methodology simply facilitates communication – both within and outside of the scrum team. By systematically bringing people together to continuously plan, the by-product is communication. This constant communication alleviates the missteps that can take place during any large scale effort involving a number of people. Imagine if the Central Pacific and Union Pacific railroads had not communicated and had a mismatch at Promontory Summit in what was then the Utah Territory!
The constant planning and resultant communication in a scrum team is what drives success and gives the desired results for delivering features to delighted customers. With continual feedback and examination of the process, this development model creates a scrum team that is sustainable and can deliver repeatable, successful results over a long period of time.