In recent years, agile methodologies have revolutionized the world of project management and software development. More than a method that provides speed and flexibility when carrying out a project, agile is a philosophy that implies a different way of working and organizing different tasks. It aims to create quality products and services that adjust to the needs and goals of customers, which change at an ever-increasing speed.
At Syloper, we work with different applications of these methodologies. We use Scrum, an Agile framework that allows us to make quick and flexible decisions and it avoids consuming time on variables that, we already know in advance, can be changed.
Agile work methodologies emerged within the software development industry when companies of the sector realized that the traditional way of working delayed the delivery of the final product.
Traditional methodologies work with a fix-term and permanent contract without communication between workers, and this led to delays and poor quality deliveries. The processes were based on detailed planning: delivery schedule, Gantt charts, budgets, etc. This planning was time-consuming for the project itself, and if there were any changes in the development, it was necessary to spend a lot of time changing the plan and starting over.
In short, when a new project was developed, it used to take one or two years to deliver the product, with a high risk it would no longer adapt to customer demand. In most cases, they opted for emergency solutions or even starting the project again from scratch.
While the traditional system focuses on initial planning giving importance to factors such as costs, scope and time, agile methodologies prioritize flexibility, teamwork, and collaboration with the client. It is a continuous improvement method that focuses on customer feedback and the versions that are delivered in each iteration throughout each project.
The dominant characteristic of agile software development is that it focuses on evolutionary changes and team collaboration to get excellent results instead of going through a pre-defined process. It seeks to react quickly to change and to be flexible without sacrificing the stability of the project. Knowing how to combine project stability with flexibility in the face of change is the key.
Agile methodologies for project management give us countless advantages. Some of them are:
There are different specific applications of agile methodologies: Scrum, Kanban, Extreme Programming (XP), Lean Startup, etc.
At Syloper, we work with all these applications to a greater or lesser extent. The one we use the most is Scrum, an Agile framework that has gained recognition in the field for encouraging decision-making and avoiding time consumption in variables that are already destined for change. It focuses on customer satisfaction and uses available resources to speed up software development in each of its stages.
Scrum is used for software development, but it can be applied to any project development. It is a method used to make complex products, in which a set of good practices is applied to work as a team and get the best possible result in the shortest possible time. Scrum accepts the needs and modifications that may arise.
It is flexible enough to adapt to each project and is the ideal framework for projects in complex environments, where quick results are needed and requirements are unpredictable.
According to the Official Scrum Guide, for the use of this method to be successful, the team must follow these five values: commitment, focus, openness, respect and courage. They direct the team regarding work, actions and behaviour.
People must understand and internalize this value system. It allows unifying team behaviours and forming a highly effective workgroup.
Scrum’s empirical pillars of transparency, inspection, and adaptation come to life and build trust, both among members and in their ecosystem (management, community, customers, etc.).
There are many benefits that this framework offers us. We list some of them:
The Scrum team is usually small, and there are no sub-teams or hierarchies. It is a unit made up of professionals focused on one goal at a time, which in the long run will constitute the final product.
One of its key characteristics is to be multifunctional since all members have the skills to create value in each Sprint. It is also self-managed since the members decide the roles, the techniques and when each task is carried out. The organization structure and empower them to manage their work.
The Scrum team handles all activities related to the product to be developed. This includes research, experimentation, development, operation, verification, maintenance, collaboration of all interested parties, among others. The responsibility of creating a valuable and useful increment in each Sprint is the responsibility of the entire group.
In the Scrum team, three major roles are defined for a better organization:
To work in an agile environment, the Scrum methodology defines several events. These are blocks of time that have a predetermined maximum duration and should create regularity and consistency.
The Scrum work cycle comprises the following events:
Product development is done in successive iterations called Sprint. They are short and fixed time blocks. They usually last between two and four weeks and their content cannot be changed.
Each Sprint must have a defined aim and deliver a sample that increases the value of the product. Its duration is fixed, and it always starts as soon as the previous one ends, with no dead time between the two.
Everything is fixed in the execution of a Sprint: the duration, the people who work and the scope. Therefore, it does not allow alterations of any kind. But as they are short iterations, they allow changing the course of the project.
It is a meeting that is held to define the aim of the Sprint and the items of the backlog that will be developed or executed. The entire Scrum team takes part in it and together they determine what can be delivered in the iteration that begins and how the tasks will be carried out to achieve it.
A Sprint Planning meeting should not last more than two hours for each Sprint week, and it covers topics such as the value of the iteration, what can be done in it, and how that work will be carried out.
The Daily Scrum is a fifteen-minute daily meeting in which the development team takes part. It is held at the same time and place every working day of the Sprint.
This meeting is oriented to inspect and make adaptations by a self-organized team. Each member must talk about three essential points:
The purpose of the Sprint Review is to inspect the outcome of the Sprint and determine future adaptations. At a certain moment, the Scrum Team presents the results of their work to key stakeholders and progress toward the Product Goal is discussed. The Product Backlog may also be adjusted to meet new opportunities by adding new items, modifying existing ones and/or deleting some of them. Then the Sprint Review is the second to last event of the Sprint and is time-boxed to a maximum of four hours for a one-month Sprint.
The purpose of the Sprint Retrospective is to plan ways to increase quality and effectiveness.
The Scrum Team inspects how the last Sprint was developed regarding individuals, interactions, processes, tools, and the final project. Also the Scrum Team discusses what was well done during the Sprint, what problems it encountered, and how those problems were (or were not) solved.
The Sprint Retrospective concludes the Sprint. It is time-boxed to a maximum of three hours for a one-month Sprint. For shorter Sprints, the event is usually shorter.
In Scrum, artifacts represent work or value. They maximize the transparency of information.
The main artifacts are:
The product backlog is a list of everything that is needed to improve the product: requirements, use cases, tasks, functionalities, etc. It is the primary source of information about the project in Scrum. It can be made in any format, and must always be managed by the Product Owner.
It is a list of all the items to work on during the Sprint. It is used to visualize the tasks to be carried out at each stage and is managed by the development team. Its purpose is to maintain transparency during the development process. It is updated throughout the iteration, especially from the information provided by the Daily Scrums.
This results from the Sprint. It is the sum of all the tasks and elements that were developed during the iteration. Each increment is added to all previous ones and is carefully checked to ensure that all increments work together. To provide value, each increment must be usable.
In today’s world, all organizations operate in a context marked by uncertainty and complexity. The changes are constant and fast and the life cycle of the products is less durable.
To maintain competitive value, companies must adjust to this new environment. Adopting ways of working that facilitate reaction and adaptation to change will always result in innovation, simplicity, autonomy and quality. Therefore, agile methodologies constitute a great tool for the customer, the business, and the market.
At Syloper, we embrace the Agile philosophy because it fits perfectly with our goals and values. One of our priorities is to make the opportunities that this new digital era offers us available to everyone. And that is reflected in our values: the customer in a central place, our team as a whole, and digital innovation.
Agile methodologies fit perfectly with our three pillars. It helps us to be organized, to have clear priorities and to align the forces of the different areas of our company. And, above all, it allows us to function integrally as a team, place the customer first and innovate, adding value.
▶ Other recent projects:
❖ We are Syloper, a software development company based in Rosario, Argentina and with projection throughout Latin America and the entire world.
✉ If you need us to help you make your idea come true: contact us.