Agile Methodology and The Phoenix Team

1 Mar 2022    |    4 min read

Processes don’t do work, people do” [John Seely Brown]

In 2hire there were 4, then 5, then 10, and now there are 30 of us. 

When we were five, the process concept was simple as you can get: input → development → output. We all knew all the issues, the product, the destination of the product, the development. 

As we became more, the concept of establishing a process took hold. It is not easy to take care of a process, whatever you choose.  A well-designed board is not enough for the process to be simple. On the other hand, we were immediately struck by the concept behind Agile: “people before processes.” 

It is long, and maybe even not interesting, to point out every step we took from day 0, but the turning point was July 2021: we decided to fully commit, all together, to the “process of establishing a process.”

We had in mind four main lines: 

  • Divide development into defined projects,
  • Prioritize the various processes according to clear deadlines,
  • Choose reference people who could follow up on development projects,
  • Start writing stories to simplify the work of the developers and produce documentation to track the work done and be able to improve and maintain it.
Agile

Stepback into Agile

Agile methodologies are ways of development that align with the principles and values laid out in the Agile manifesto for software development. Agile approaches aim to produce the correct product using gradual and regular delivery of smaller portions of functionality. This is accomplished by small self-organizing teams that are cross-functional and allow frequent feedback from customers with subsequent adjustments where needed.

The advantages of Agile include its capacity to support teams in adapting to a changing environment, focusing on the efficiency of delivering business value. The collaborative environment created by Agile can also boost efficiency across the company since teams work in tandem and recognize their respective role within the process. Moreover, companies that  employ Agile Software Development can be certain that they are releasing quality products since testing is conducted throughout the development process, the ability to make adjustments as needed and notify teams of any issues that might arise.

By doing this, Agile aims to right the problems posed by traditional “waterfall” techniques of delivering large items over prolonged periods in which customers’ requirements often change, which results in the wrong items being delivered.

What exactly is Agile?

Agile software development refers to an assortment of software development techniques based on iterative development in which requirements and solutions are being developed through the collaboration of self-organizing, cross-functional teams.

Agile methodologies (or Agile processes) generally advocate a disciplined and systematic process of managing projects that promotes regular review and adjustments and a management philosophy that encourages teamwork, self-organization, and accountability. 

It is a collection of best practices in engineering designed to facilitate the rapid release of high-quality software and an approach to business aligned with the customer’s requirements and business goals.

Agile development is any method of development that is in line with the principles in the Agile Manifesto. The Manifesto was formulated by 14 prominent figures from the software industry and reflects their knowledge of the various approaches that work and do not work for software development.

The Four Core Values That Agile Has to Offer

  1. Personal interactions are more important than the methods and tools: People are the driving force behind the development and respond to business needs. This is the single most critical development component and must be considered above procedures and tools. If processes or tools are driving development, then the team will be less likely to react and respond to change and, consequently, less likely to meet customers’ needs.
  2. Focus on the functionality of software rather than detailed documentation: Before Agile, a significant amount of time was dedicated to documenting the development process in preparation for its delivery. The list of requirements that were documented was long and caused a long delay in the development process. Although Agile does not completely eradicate the necessity of documentation, it does streamline it to the degree that it gives the developer the data required to complete the task, including user stories. The Agile Manifesto still places importance on documentation. However, it places greater importance on the working software.
  3. Collaboration rather than contract negotiations: Agile emphasises collaboration between the client and the project manager instead of negotiations between the two to decide on the particulars of the delivery. Collaboration with the customer implies that they are involved throughout the entire development process, not only during the process’s beginning but also at the end, making it simpler for teams to satisfy the requirements of their clients. For instance, when working in Agile developing software, customers could be invited at various times to see demonstrations of the product. However, the user might even be available and regularly communicate with the team, participating in every meeting and ensuring that the product meets their expectations.
  4. The focus is on adapting to changes: Traditional software development tried to avoid changes, which was unnecessary. Agile software development allows the team to make changes easily, which allows them to adapt to their needs. In general, Agile software development believes that change is always an opportunity to enhance the quality of the project and increase the value of the project.

Twelve principles From the Agile Manifesto

Pics credits to Olga Heismann

Final Thoughts

Since 2001, Agile methodologies have gained acceptance, and with the advent of Agile methodologies, more and more companies and teams embrace the techniques and practices.
An ecosystem has been developed which includes everyone who uses Agile software development, as well as the individuals and organisations that aid in the process by providing workshops, consultation, and structures and tools.

What we have now
  • Projects with clear deliverables and reasonable forecasts.
  • The visibility of project progress and direction.
  • Teams divided by technical competence.
  • Onboarding of new devs in one working week.
  • Collaboration between team members to achieve the goal.
  • Ability to scale the number of team members and the number of teams.

In July 2021, we began planning for this change. In October 2021, we formed the first development team, and we started the first project, within the estimated deadline of January 2022. It seemed impossible, but it just turned out to be difficult. 

It’s not “just” having a process that works, it is being more confident in our reliability as developers when it comes to giving a feature delivery date, and our ability to get new members of each team productive as soon as possible. 

Having a process is not a panacea to every problem, but it is a way to gain structure and be more efficient. It’s then up to people to make sure the structure has a good foundation, and every one’s work is more efficient. 

Those were the first lines of the article, and the last lines as well: 

Processes don’t do work, people do“.

Want to join the team? Check out our open positions or feel free to send a spontaneous application!

Agile

About the author

Agile

Andrea D’Aleo

Project Manager at 2hire

I’m not a big fan of the self description, but if I have to do it, and this is the case, I’d say that my brightest trait is curiosity.

Discover more from 2hire

Subscribe now to keep reading and get access to the full archive.

Continue reading