What it means to be agile
Agility is always present, even more so in the corporate world. With tight deadlines, strong competitors and competitive prices, agility in the market has been an important topic in many companies, mainly in the IT sector. But where does this agility come from? And what exactly does it mean to be agile?
With the need to be fast in delivering products to clients and consumers, IT companies have begun to adopt Agile methodologies to develop, prototype and manage projects. In this article, I will talk about an agile methodology called Scrum, used in project management.
The need for and the agile concept emerged in 2001, with a group of innovative programmers interested in the ways and processes for software development. They met to discuss project management methodologies. As a result, they created the Agile Manifesto, which formalizes methodologies and principles of the proposal, which are:
- Individuals and interactions over processes and tools;
- Working Software over comprehensive documentation;
- Customer collaboration over contract negotiation;
- Responding to change over following a plan.
The Agile Manifesto prioritizes adaptability so the needs and desires of customers can be met with the work of developers. This is carried out through constant deliveries, which are accompanied by verification of requirements. For this, different methods are used, among which Scrum methodology is an example.
The Agile methodology emerges as an advantageous option over traditional project management methods, such as the Waterfall Model — a commonly used approach in which steps are followed sequentially, but that has the disadvantage of taking longer to deliver a project, due to the fact that new steps can only be started after the end of the previous step.
In addition to the goal of delivering fast value to customers, in a fractional and incremental fashion, Agile methodologies are also used by self-organized multidisciplinary teams to achieve goals set at each stage of the project.
Agile methodologies are already being put into practice. Since they are management tools, they cover several methods that contribute to teams developing solutions with higher quality, speed and efficiency. They also optimize workflows, improve project productivity, and accelerate partial deliveries and, consequently, the final delivery, reducing the possibility of disappointment from customers.
Scrum in practice
Created in the ‘80’s, Scrum is one of the most popular methods of Agile methodology. It is a methodology for managing and planning software projects that allows teams to adapt to complex problems in their projects. Basically, it is a way to organize and perform the work to be performed, following the PDCA method (Plan, Do, Check, Act).
In Scrum, projects are divided into work cycles called Sprints, which usually last between 2 and 4 weeks. Each Sprint represents a timebox, that is, a unit of time where a set of activities must be completed.
Based on the customer’s requirements, the team holds a meeting called Sprint Planning, in which it is defined which parts of the Backlog (list of project requirements) will be developed in each Sprint. In this meeting, the amount of hours required to perform Sprint activities is estimated.
The activities are accompanied by daily meetings called Daily Scrum, which are done always standing, with a maximum duration of 15 minutes, always at the same time — to optimize their performance and create regularity of communication in the team. In these meetings, each team member must tell what they did the previous day, what they will do that day and whether there is any impediment to the execution of their tasks. With this, the team is aware of what is being done.
If there are any impediments, the Scrum Master — a person with the function of promoting and facilitating the use of the Scrum methodology in the team and in the development process — must act in order to streamline the solution and to allow the team to continue working.
After the Sprint is completed, a partial delivery is performed to the customer, who validates the results according to the agreed/prioritized requirements. After verification and acceptance, this cycle repeats as many times as necessary to complete the project.
After the entire project is completed and delivered to the customer, the Sprint Retrospective meeting is held, which focuses on lessons learned in the project. This meeting allows the team to reflect on what was good and what can be improved and allows a basis for other projects to be created.
Agile in IT and in VNT
Agile methodologies in IT projects
When starting a software development project, in the requirement gathering meetings, we deal much more with the expectation of the customer than with the development of the product or service itself. The client, on the other hand, eagerly awaits the solution of the problem, which we can call added value.
Thus, it becomes essential to balance the internal processes that allow the development of products/services and the needs and deadlines of customers. In this scenario, agility can make a big difference.
In the IT sector, in addition to the aforementioned Scrum methodology, the methodologies XP, MSF, DSDM, Kanban, Lean, FDD (Feature-Driven Development), Design Sprint, among others, can also be used. These methodologies may also be combined with each other or with traditional methodologies such as the Waterfall Model, depending on the complexity and needs of the project.
At Venturus, we have both cases: projects executed with Scrum methodology in its entirety and projects that use concepts of the methodology mixed with other specific methods, according to the customer’s needs. More than 80% of the projects active today in Venturus use Scrum methodology.
Running large or small projects, most of them complex, is part of the day-to-day life of an IT company. Most people seek to find ways to make their processes simpler and more efficient, which is essential for them to succeed. Knowing Agile methodologies and how they can be applied in your projects, in addition to directing their use also allows you to evaluate the gain not only for the company, but, also, to satisfy its customers.