How projects run the Agile way?
By Francisco Fernandez, Project & Account Manager of etermax AI Labs
Working with agile methodologies
etermax AI Labs is characterized by promoting the agile methodology as a work approach. Adopted mainly in software development, the agile methodology allows for quick decision-making, aiming at creating a product iteratively and incrementally, where requirements and solutions evolve with time depending on the project’s needs.
In agile methodology, each project is broken up into small pieces that must be completed and delivered in only a few weeks. This series of iterations, called sprints, breaks up big and complex projects into small portions to plan, create, check the result, and improve the development. Sprints usually last two weeks, but this unit might equal to a week or a month, depending on the reach of the project.
What do sprints consist of?
Sprints are set periods of time made up of a limited number of User Stories. User Stories are informal and general explanations of a software feature written from the perspective of the end user. Their purpose is to articulate how a software feature will provide value to the customer, for example, the development of an application. As user stories are written from the perspective of the end user and might exceed a sprint, they’re subdivided into epics, where the desired final result is detailed, such as an entire code developed in production environment. Finally, epics can be subdivided once more into cards with user stories.
Some key concepts in the construction of user stories are the Definition of Ready, which are all the requirements defined together with the user before the sprint starts, and the Definition of Done, defined as the user’s approval of the delivered product. If this approval is not given, the requirement goes back to the backlog, or in other words, the list of work that’s prioritized before each sprint.
Roles and effort estimation
Depending on the size of the team, one or more of the following roles can be found in an agile team.
Product Owners: they are in charge of maximizing ROI and the value delivered by the team. They represent customers, serving as the ‘voice of the customer’ for the team.
Scrum Masters: they train and facilitate scrum teams. They also help the team keep focused on the project’s goals, and get rid of emerging hurdles. This role is in charge of leading planning meetings, facilitating daily meetings, and solving operative issues.
Development Team: this team is responsible for analyzing and designing, developing solutions, testing them and putting them into production. It’s normally made up of 3 to 9 professionals in charge of developing the product, who organize and manage themselves to deliver an incremental version of the product at the end of the development cycle. Its composition is one of the most peculiar characteristics of each client.
Finally, the end user or business owner gives the team their approval and feedback on the work done.
All these roles working collaboratively are responsible for doing the Effort Estimation. One of the most complex concepts to assimilate into different teams is that, in Scrum, effort is not estimated in hours, but in terms of complexity or time demanded by stories up to completion. One of the most used estimation scales is the Fibonacci sequence, which includes the values 0, ½, 1, 2, 3, 5, 8, 13 and 21 to illustrate the complexity of each task.
Working with agile methodologies ensures full transparency and coordination of the work process between the development team, the customer, and the end user. This is an inestimable advantage that allows the etermax AI Labs teams to deliver value to customers permanently.
How Agile is your team?