Now more than ever, we see many software companies adopting the Agile orientation of project management. And while there are many frameworks subsumed under the Agile banner, only one seems to be gaining appeal among dev ops firms, and that’s the Scrum framework.
But how well-acquainted are we on the whole nine yards of Scrum? Are we following the Scrum framework to the letter? Here we discuss the 6 principles that serve as guidelines in applying the Scrum framework:
- Empirical Process Control
By empirical, we mean “experience-based.” When making decisions about the process, Scrum practitioners place heavier emphasis on experience and observation than on detailed upfront planning. They ask, “What will work/ has worked for us?” instead of “What was written on the contract or plan?”
To do this, three ideas comes to mind:
- Anyone from the Scrum Team is free to observe anyone in any step of the Scrum process.
- The Product Owner inspects all deliverables and collects feedback from the customer.
- The Scrum team is willing adapt to any process approach and development methodology that will improve the quality of the deliverables.
In an Agile-Scrum environment, the superintending assumption is that the team members are self-motivated, trustworthy, and full of initiative. They accept greater responsibility and incorporate quality in their individual outputs. It removes the need for constant supervision and micro-management.
The most preferred style of leadership in an Agile-Scrum workplace is “servant leadership.” Instead of seeking control on every aspect of the project, the management believes that to maximize quality and deliver fast results, the key is to address the needs of the Scrum Team and remove all possible barriers to success.
A Scrum role can fall into two classifications: Core Roles and Non-Core Roles. Core roles are those whose actors are indispensable to the completion of the project’s outcome, whether it’s a product or service. As you may guess, the Product Owner, the Scrum Master, and the Scrum Team compose the core roles.
Non-core roles, in contrast, are those with no formal role in the project. They may interface with someone who has a core role, but they’re not responsible for the success of the project. Vendors, Scrum Guidance Body, or stakeholders fall into the non-core roles.
In a Scrum team, the members and stakeholders engage in an open communication to confirm requirements, create deliverables, and validate them.
The core dimensions of collaborative work come in three As:
- Everyone is aware of one another’s work.
- Although team members get to choose their own tasks, partitioned into work units, ultimately, the deliverables have to be reintegrated.
- Technology is just a means to an end. The tools can be used in a fashion different than expected, as long as it works for the team.
- Value-Based Prioritization
Value-based prioritization drives the structure and functionality of the entire Scrum framework. When prioritizing tasks, the team assesses them on three factors – value, risk or uncertainty, and dependencies.
Native to Scrum is the term “time-boxing,” which proposes a fixed amount of time for each activity. For example, a sprint usually is time-boxed in two weeks. The purpose of a time-box is to ensure that the Scrum development team doesn’t work too much or too little on something for which they have little clarity.
The time-box supports the idea of an iterative development, which welcomes change anywhere in the process, to be addressed in the next sprints.
- Iterative Development
The Scrum framework puts a premium on efficiency. Its goal is to deliver maximum value in the least amount of time. In iterations, a team member writes the codes, and tests them, and accommodate changes or defects found in the previous sprint.