Marco's Blog

Here you can find my thoughts

Agile Methodology 1.0

Agile is a management methodology, developed mainly in the software development environment.

Why was it created?

The old management systems, Waterfall in particular, no longer met the needs of new types of projects. As often happens, over time, things change and the same happens with Project Management, which by definition must vary, and must be tailored around the project.

This methodology tries to adapt as much as possible to the software development paradigm. In this world, everything changes quickly and we cannot go slowly.

Composition

I won’t go into detail in describing the famous Agile Manifesto which consists of

  • 12 basic principles
  • 4 founding values Founding values

I quote verbatim:

We are uncovering better ways of developing software by doing it and helping others do it.

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following the plan

These are the inspiration for the methodology itself, on which different frameworks have then developed that have tried to fit these principles into practical guidelines.

Scrum Framework

Let’s start with the main definitions to understand this methodology

BACKLOG

The backlog represents the set of activities to be completed.

  • Product Backlog: a set of activities to complete the project
  • Sprint Backlog: a set of activities to complete the sprint

From these two basic definitions, we move on to describe the key aspects that define the model, who should do what, what to do, and when to do it.

Reference figures

There are essentially 3 roles

  1. Scrum Master: represents the key figure responsible for ensuring that the Agile methodology is implemented.
  2. Product Owner (PO): has the responsibility of producing an excellent product. He carries forward the interests of the client (often he is the client himself). There should be only one PO per team. He is focused on the business side and on bringing value.
  3. Developers Team: this is the group of people responsible for developing the product.

Workflow

The development of a project involves 4 fundamental moments

  • Sprint: lasts 1-4 weeks. The goal is to produce all the features decided in Sprint Planning. The two main events that distinguish Sprint are:
    • Sprint Review: when you show stakeholders the result of the sprint. A demo is usually produced
    • Sprint retrospective: aimed at the team to give feedback as a team. How to improve and what went well. There are many interactive “games” to get maximum team collaboration in this fundamental event and to make improvements to everyone’s work.
  • Sprint Planning: at the beginning of the sprint you meet to
    • Agree on sprint goals priorities are given by PO
    • Select items from Product Backlog that lead to goal
    • Create Sprint Backlog
  • Daily Scrum: a 15-minute meeting every day to understand sprint progress. It serves to understand if there are impediments, it must be brief and concise.
  • Backlog refinement: it is important to act on the backlog and modify/update it during the course of the work to bring maximum value.

Further information

I recommend delving into some topics such as

  • Definition of Done: having a clear and shared definition of when a task is completed is essential
  • Burndown chart: useful chart to understand how we are proceeding in achieving the final product
  • Definition of Velocity: ability to produce value in a sprint

Kanban

The second implementation model of the Agile philosophy is kanban, it derives from the manufacturing world and from the Just-in-time practice, that is, at any moment the amount of tasks to be processed is equivalent to my production capacity.

To do this, the whole methodology is based on the Kanban board, which is a board with 3 main columns. Tasks are moved from left to right as they are completed.

The type of system that best defines this framework is the Pull system, that is, a methodology that replenishes tasks when they have been completed, without waste.

Best Practice

The key points of the framework are:

  • Visualization of the workflow: I must see the entire project on the board;
  • Reduction of Work in Progress: all tasks are based on the team’s production capacity to ensure maximum efficiency;
  • Efficient workflow: measurement of lead time, the total time required to complete a task;
  • Explicit management policies: clarity of common goal;
  • Feedback: positive feedback cycle to improve work.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *