Scrum software development

What is Scrum?

Scrum comes from Agile Manifesto, which is a movement in software development.

Scrum is a type of procedural structure that helps to organize creative processes during software (but not exclusively only software) development. It is also a set of basic: Roles, Events, Artifacts and Rules that support the efficiency of the team. It is a framework that allows the staff to decide how and when they want to carry on with the project.

In a case of IT implementations, it is important to remember about constantly changing technology. The need for rapid adaptation to unstable conditions makes working in Sprints (components of Scrum) even more efficient.

It is worth remembering that even the incomplete system implemented in accordance with the provisions of Scrum is suitable for use! In subsequent stages of development, it can simply be expanded with other operating modules. It is also the customer’s decision to stop the whole process. The project can be paused at any time and moved to the phase of system maintenance. Even previously abandoned project can then always be resumed.

Scrum - advantages

Results control
 

The possibility of reviewing various stages of the production, as many times as necessary. Developers also have the right to modify the set of following tasks, in order to meet evolving customer’s demands.

Current results’ tests

A comprehensive IT project is always divided into stages (Sprints), which allows to focus on currently developed sections of the code. This ensures reliability and quality of the final product.

Full customer orientation

Scrum allows  building a system fully tailored to individual customer’s needs. It also facilitates rapid identification of errors. SCRUM development team is always able to bring their project back on track, even if the requirements have changed.

Scrum software development at eVolpe Software House

At eVolpe Software House Scrum is already a standard. At the beginning, it was mainly used for large, relatively complex projects. Nowadays it has become a principle of our organization.

In order to ensure a high level of our service, we have decided to adopt Agile Development to our daily practices. It is important to always start a project with the pre-implementation, complex analysis. In addition to the software requirements, it should also include the methodology of how the system will be deployed. A deliberate decision on the matter helps to avoid many misunderstandings, time-consuming, complicated contract annexes, dilemmas related to the merits of further cooperation etc.

Components of Scrum

Finally, some theoretical knowledge about the proper organization of Scrum. The rules of the framework fully reflect the assumptions made in the Agile Manifesto. Rule number one is customer’s satisfaction. To achieve it, it is necessary to adapt the following components:

Roles (Team Scrum)

Product Owner

responsible for choosing the tasks (What?)

Development Team

responsible for the way of performing the tasks (How?)

Scrum Master

ensures the progress of work in line with the agreed principles

Events (Sprint components)

Sprint planing

determination on what, how and for what the team will be working

Daily Scrum

verification of the status and possible adjustment of scheduled tasks

Sprint review

presentation of the completed work to the stakeholders

Sprint retro

identification and decisions on continuous process improvement actions

Artifacts

Product Backlog

ordered list of requirements that a Scrum Team maintains for a product

Sprint backlog

list of work the Development Team must address during the next Sprint

Product increment

effect of the work done during a single Sprint

Rules

Transparency

full access to the whole of the work at every stage

Sprint backlog

ongoing monitoring and verification of the product and the methods of team work

Product increment

the necessary changes homing the work back on track