A viewpoint by Adrien Handjani, Experienced Consultant.
Whether it is directly taught or implicitly instilled, developers often start out their careers using either the waterfall or V-model. And yet, these are not the only software development options. As they advance in their careers, improving their skills and gaining experience, it is becoming increasingly common for developers to make the switch to agile software development.
What is agility?
The agile manifesto was established in the early 2000s: based on four values and twelve principles, agility places the individual at the heart of the project. Team members are no longer seen as interchangeable parts of a whole, but rather as individuals, with unique strengths and skills that can be unified to achieve shared objectives.
There is no authoritarian project manager assigning tasks to each team member – in their place is a self-organized and autonomous development team that makes the most out of the advantages of agility. Agile teams are not subjected to vague and dense specifications, outlined at the start of the project and which do not align with the project’s actual needs as time progresses. Instead, agile teams maintain open lines of communication with all parties involved, to better suit requirements which are subject to change throughout the course of the project.
What does an agile developer look like?
Agile developers are involved in every stage of a project.
They are engaged as soon as the need is specified. Their first step is to reach a full understanding of all elements described, and to ensure that the team has sufficient information to get started. Their next step is to estimate the time required for each task.
Developers are more likely to feel truly committed to projects when they have been involved from the very beginning. Moreover, they become major assets when they can see that their opinions are valued and respected.
Today, agile developers are no longer expected to take on projects without hesitation. The size and scope of the project must first be fully understood, and, above all, its feasibility assessed prior to making any guarantees. The development team themselves are responsible for accepting deadlines and, consequently, for making any commitments.
With these new responsibilities, agile developers are equally involved in team decisions: from the daily distribution of tasks to the continuous improvement of the work environment and process. They make decisions alongside the rest of the team, accepting certain responsibilities and constantly working to improve the project structure.
Agile developers are also directly involved in making technical decisions. Even though they obviously align with global directives, they play an important role in deciding how to better develop the solutions.
From traditional to agile project management
A single individual cannot overhaul project methodology by themselves. The developer, like any other team member, needs to be able to rely on a supportive and empowering management team and organization, in order to take advantage of new opportunities or take advantage of already-existing agile practices.
When opportunity knocks, the developer’s mentality must evolve accordingly.
Thus, they cannot remain passive, an endless well taking in a continuous flow of requests without adding any value. Instead, they should be proactive, a driving force to become an integral and autonomous part of the team.
Not everyone can become agile developers
Agility will not suit all people, all projects, all companies. More than anything else, it is a change in perspective which gives people the means and ability to become assets: advancing and improving every part of their work environment, from the process and functional elements to the technical details.
This type of project management requires motivation, energy and ambition. Some people prefer relying on expert opinions and following guidelines. Others, including by their very nature agile developers, build projects with their own opinions, albeit at times informed from external points of view, and move forward together autonomously.
Amaris Consulting’s agile community
Within Amaris Consulting, we apply agile solutions with the help of our agile community.
By gathering all junior and senior consultants, confirmed agilists and curious observers, we form a versatile and unified working group.
We set up various learning workshops to develop the skills of all team members, from quick tutorials that teach the basics of agility to full certification trainings.
We rely on classic agile solutions that are adapted to our context to support newcomers, to improve our services and develop our skills.
If you are interested in tackling new challenges and growing your skill set with agile projects, contact us now – we are actively recruiting software developers.