Spend as little time as possible while maintaining quality and performance is imperative for every project manager. How to optimize the implementation of your next IT solution implementation project and deliver the best? The answer may lie behind the name Scrum – a very popular methodology in recent years.
What is Scrum?
Like all other agile methodologies, Scrum is an incremental and iterative approach to software development. Incremental development is the development of software step by step, while the iterative way is a time planning strategy in which the software is further improved over each defined period of time.
The basic time unit of Scrum is the sprint.
A sprint is a rounded unit of the development process that usually lasts 15 or 30 calendar days. Within each sprint Scrum goes through all stages of the development process:
- testing and
Within each sprint, Scrum prescribes four formal events to check and adjust:
- sprint planning,
- daily meeting,
- sprint examination,
- sprint review.
At the end of each sprint, the development team delivers a rounded portion of the product, or a potentially deliverable increment of the product.
By breaking down the development process into sprints, Scrum reduces the risk of delivering bad software, software that will not meet your needs, and at the same time it is easier to adapt to new and changed user requirements that are inevitable.
Daily scrum - responsibility of the entire development team
Each individual sprint is further broken down into even smaller sections that last exactly 24 hours and begin and end with a daily scrum.
Daily scrum is one of the responsibilities of the entire development team and is necessary to achieve internal transparency in the team. It is a stand-up meeting where all members of the development team in an informal 15-minute gathering answer exactly 3 questions:
- What was done yesterday?
- What will be done today?
- What obstacles stand in our way?
Who is the Scrum master?
The Scrum master is responsible for conducting the daily scrum, as well as the entire development process.
The Scrum master to some extend corresponds to the role of project manager, although Scrum strictly tends not have the role of project manager. The scrum way of software development is essentially a self-organizing process and as such does not require a leadership role, at least not in the sense that such a role is traditionally described.
The scrum master has the role of primarily controlling the process, but not the people on the team. Instead of scheduling work and telling all team members what to do, the Scrum master oversees the process and takes care of respecting all process parameters.
What does a sprint look like in the Scrum development process?
Sprint begins with a Sprint planning meeting. During the meeting, a sprint backlog is defined – a list of properties to be built into the upcoming sprint.
Sprint backlog is created on the basis of product backlog – a list of all the properties that should be built into the product sorted by priority as seen by the user. At the top of the product backlog are the most important features, and at the bottom are the ones with the lowest priority.
During the meeting, the team estimates how many properties from the product backlog it can put in the sprint backlog. Based on the sprint backlog, the goals of the sprint are compiled, and the meeting ends with the consent of the entire team to take responsibility and commit to meet those goals in the next 10 calendar days.
During the sprint, any possibility of external influence on the sprint goals is avoided, and any possible changes requests are added to the product backlog and are discussed for the next sprint.
Scrum says to user requirements "YES, but not in this sprint!"
During the sprint, members of the development team have only two responsibilities: to meet the goals of the sprint and to come to the daily scrum meetings regularly.
At the end of the successfully completed sprint, the package, or the increment of the sprint, is packed and presented to the product owner, users and other interested parties. After a sprint retrospective is made and data is entered into the product backlog, the sprint is officially over, and thus the next one has begun.
Optimize the size of the development team
The development team needs to be small enough to be fast, but also large enough to be able to do a significant amount of work within each sprint.
Less than 3 members reduces interaction, but also the profit due to reduced productivity. They also have a limited set of skills which increases the likelihood that a potentially deliverable increment of the product will not be completed on time.
On the other hand, large development teams are too complex for experiential process control to be useful.
The roles of product owners and Scrum masters are not included in this issue, unless they themselves are involved in doing the works from Sprint Item List.
What do we get with the Scrum methodology?
To summarize the answer to that question, let’s return to the definition – Scrum is a framework for the development, delivery and maintenance of complex products. In practice, it is most often applied in areas such as:
- research and identification of potential markets, technologies and product opportunities;
- product development and improvement;
- product maintenance and update.
Transparency, verification and adjustment are the pillars of the realization of Scrum, and by their application:
there is a fully functional delivery in a relatively short time, while the incremental approach avoids many risks of deadlines and expectations;
by analysing previous deliveries and the performed Scrum cycle on a small sample, it is possible to notice what the values and possibilities of the final product will be and to make decisions on changes accordingly;
allows flexibility for product owners to influence functionality to ultimately maximize product added value.
There is a lot of controversy about the definition of what makes a project successful. For some, a successful product is one that is delivered on time and meets budget constraints, and for others it is more important what value it brings and how quickly it offers a return on investment. Although in different percentages, research shows the advantage of agile work in relation to the waterfall method. The document, prepared by 17 development experts known as the Manifesto for Agile Software Development, states, among other things, that the agile approach has taught us to appreciate more:
In other words, although values are valued on the right, there is more confidence in those on the left.
In the end, whichever method you choose, it is important that it corresponds and is applicable to the product and the organization of the client’s work, and the most important are the people involved in defining and realizing the product.
Business development manager