What is SCRUM?
SCRUM short description
SCRUM is a work system that focuses on project management and development using an incremental system. This helps you going through previous steps such as complete planning and execution of the process. SCRUM also makes it possible to work simultaneously on different process tasks, instead of requiring them to be performed one after the other.
This work system puts the emphasis on the knowledge obtained at the end by the people and teams involved, rather than on the quality of the development process.
It may be the first time you hear about that, or perhaps you are already familiar with it even if you don’t know exactly what it is. If so, my advice would be to stay with us, as we are introducing the subject below.
SCRUM involves a cooperative process where several good practices are included in the same development process in order to achieve a good final result. By using the SCRUM methodology, the final product is handed in in a partial, regular manner, and the benefits for the person or organization that receives the product are given top priority.
The SCRUM methodology is mostly seen in complex work environments, in which results are expected in a very short time, and external conditions are changing and extremely difficult to foresee.
SCRUM plays an important role in such environments, which strongly focus on productivity, production agility, innovation and competitiveness.
SCRUM usually comes into play when there’s something wrong in the production process.
Some problems may have arisen, including:
- Your client did not get exactly what he ordered
- Waiting periods are too long
- Product or service quality is not enough
- Costs are higher than profit margins
- It takes you too long to react to actions undertaken by your competitors
- Work teams lack motivation
These are some of the situations SCRUM may help solve, but before you can introduce it you need to find out how it works.
How does SCRUM work?
SCRUM is an iterative system; each iteration involves working to improve the final product the client will obtain. Customer satisfaction is the main goal to be achieved. The system is divided in several stages:
Here’s where the features of the product or project that are most relevant for the final customer are defined. At this point, the team may interact with the client in order to ask any questions and define a priority ranking for tasks.
Internally, the team will be expected to develop a process that includes all the tasks, with a view to tackling the aspects that were previously defined with the client. Tasks will be assigned and distributed among team members, so that they may be undertaken simultaneously.
Neither the first step of the process nor the second one should last longer than 4 hours.
In order to work with SCRUM, several steps must be undertaken. A very important step involves the meetings the work team should have every day. Several subjects may come up in the meetings, such as the following: “What did I do today, how did I do it, which hindrances did I encounter...” This is done with a view to improve the process every day, until a final product or service that is up to client’s expectations is achieved.
The SCRUM master plays a fundamental role in the process: this is the person that will be in charge of making sure the work team stands up to client expectactions, and of making sure that team productivity does not decrease. In order to achieve this goal, the SCRUM master will need to overcome any obstacles that the team itself could not overcome. Besides, the SCRUM master will also be in charge of shielding the team from outside events that may hamper the productivity level.
Iteration checking in SCRUM
During the last step in which iterations take place, a checking process is undertaken. The process is made up of two different parts:
The work team will finally provide the required information to complete the requests of the final customer. This is where the client will check on the final outcome and decide whether the process needs to be repeated.
Along with the customer evaluation of the final result of the process, the work team will assess how the process evolved, and they will try their best to identify all the hindrances encountered so that the SCRUM master may start working to solve them.
SCRUM in software development
As we mentioned above, the SCRUM methodology may be used in several areas. Nevertheless, it is in software development when it works at its best.
When it comes to software development, customer needs may constantly change, and the SCRUM methodology improves the team reaction capacity in terms of requirements of highly complex projects.
Besides, SCRUM will make it possible for the client to start using the software while still in the beta development phase, even before it is completely finished.
When using SCRUM, the quality of the software obtained is usually better, as every iteration requires the obtention of a functional version of the product. Besides, the team has more freedom to organize itself as necessary, given that the level of internal bureaucracy is considerably reduced.
Another important advantage involves the maximization of the return on investment, as the requests that make the most of the business value have already been given top priority previously.
Forecasting how long each iteration may take and reducing risks to a bare minimum are two other relevant aspects to be taken into account. By doing so, it will be possible to determine software functionality at every point in the process.
Did you like this article?
If you liked it and would like to participate in the discussion, I encourage you to give us your opinion as a comment. You may also ask any questions you like.