What is SCRUM and what is Agile?
In recent years, in the area of software development and implementation, SCRUM has become the dominant approach to organising project work. In many areas of business, companies focus on optimising costs, procedures, and processes. The high variability of the economic and legal environment forces companies to increase the speed of adaptation. This is why the concept of agile management was created, and the SCRUM framework is a good example here.
Agile is an project organisation that is based on guidelines expressed in a manifesto. Agile enables to:
- quickly respond to change,
- deliver products in an incremental mode,
- increase of team motivation,
- improve communication,
- effectively monitor project progress.
SCRUM is in line with the above-mentioned advanages of agile methodologies expressed in the Agile Manifesto, at the same time, it is introducing additional value in the form of specific principles and rules (framework) used to organise project work. In SCRUM product development is divided into iterations (sprints) – each of which should not last longer than one month. In one sprint the team should be able to deliver working functionality. At the beginning of the work on the product a list of user requirements is collected, which ultimately form the product backlog (in simple terms, it is an initial but possibly complete list of expectations). In SCRUM the requirements are expressed in the form of user stories, each of which defines a specific product feature along with its priority and attribution to the owner. The product backlog is the starting point for the organisation and flow of project work according to the SCRUM framework.
Why implement SCRUM?
One of the main challenges encountered in project implementation is planning and then executing the plan. As experience and research on project implementation show, preparing a comprehensive plan (involving schedule and cost estimate) for abstract and complex initiatives is very difficult if at all possible. In practice, this forces managers to build a rough model and then make plans based on it. This is the only way to go without complete data set. This approach also results in focusing efforts on executing plans instead of delivering business value. It is also worth to point out, that such a plan in time may reveal numerous imperfections, which in classic methodologies are extremely difficult to eliminate during the work.
SCRUM assumes a completely different way of thinking about the organisation of work. It puts experience in planning and reacting to emerging situations in the first place. This approach assumes short-term planning and achieving specific phased goals that will make up the product. These objectives must be specific, measurable, achievable, relevant, and timely defined, i.e. SMART.
Each sprint must end with a measurable effect and presentation of achievements. This allows for ongoing verification of progress. SCRUM is focused one continuous adjustments of the production process based on the conditions introduced by given project and planning based on always up-to-date information about the project’s progress, as well as conclusions drawn by the SCRUM team on an ongoing basis.
Client’s perspective versus supplier’s perspective
A Client whose project is implemented in SCRUM always knows the progress of the work, can supervise the budget, and plan further activities. In SCRUM the Client is not only the recipient of the product but above all an active participant of the project having a direct impact on the scope of the built solution. In projects organised according to SCRUM the Client may appoint his representative who plays the role of Product Owner. If he decides to do so, he can also influence (through his representative) on the order and manner of delivery of subsequent functionalities by the Development Team.
The Product Owner works directly with the team responsible for the creation of the ordered product, i.e. participates in all activities in accordance with the rules described in SCRUM framework. The Client in SCRUM always knows at what stage the project is, who is performing the tasks, how much time was spent on the work, how many requirements have already been completed, and how many are still waiting in line. With SCRUM, the Client has full control over time and budget, so they can run the project to get the expected product.