Hello, everyone! My name is Sérgio Fernandes, I’m a graduate Software Engineer, and currently Development Manager at O-Pitblast.
Today I write about agile methodologies, their importance, and their challenges. This article will be divided into two parts: In this first one, I’m going to delve into the topic and present some of the most used methods in the world.
In the second part, I’ll talk about how O-Pitblast uses this methodology, the implantation difficulties, and how a company with no defined development processes became an agile company.
The agile methodology emerged to propose an alternative to traditional project management and gained strength by being able to turn the various type of projects into more dynamic, flexible and with high productivity.
Traditional methodologies have sequential processes, such as the Waterfall Model, which consists of advancing stages only when the current one is completed and without the possibility of returning.
Yes, it sounds strange in our days. There is a universal awareness that software changes, and that is a certainty, but it is necessary to understand the context of that time, where software was much less complex in its requirements and had smaller and well-defined scopes.
As projects became more complex over time, the need for changes during more advanced stages of the process (development, testing, deployment and maintenance) arose. And as the Waterfall Model is not iterative, i.e.we don´t go back to previous phases after they are finished, it became too painful (time and cost) to make changes.
Characteristics that stand out from agile methodology based on the Agile Manifest:
Iterative and incremental development: continuous improvements;
Flexibility in project scope;
Be receptive to change, at any stage of the process;
Cooperation between team and client: constant feedbacks;
Progressive value creation and according to the customer’s need;
Continuous and value-added deliveries;
Software must be working on all deliveries;
Motivated, innovative and self-organizing teams;
The pace must be constant and the team always seek to evolve;
There are many different agile methods, and it’s important to understand which ones work best for the needs that arise in each environment. These are the two most widely used:
This is the oldest agile methodology. It consists of visually representing, in the forms of cards, the tasks of a project, their status and those responsible.
Thus, it’s possible to track progress across the team in a practical and transparent way.
The differential is the focus on completing tasks, with the motto: stop starting and start finishing.
Apparently, a simple mission, but many bottlenecks happen in teams that start new tasks without being able to finish the current ones. Therefore, there are countless unfinished tasks and the project doesn’t move forward.
It is an agile method that optimizes project management. It’s considered one of the most versatile methods, but it also has a high complexity. Thus, it generates a unique dynamic for organizing the most varied type of projects.
This is a cyclical method, consisting in performing several iterations during the project life cycle. In each round it’s possible to update requirements, change priorities, plan the next steps, identify impediments and solve them, in addition to making deliveries at the end of each cycle.
That’s all for today. In part 2 of this article, I will talk about how O-Pitblast adapted these methodologies, starting from the needs, going through the difficulties, and presenting the impacts that the implementation of this methodology brought.
Stay tuned and see you soon.
+351 927 596 550