Introduction to Agile methods

In software development, Agile practices approach discovering requirements and developing solutions through the collaborative effort of self-organizing and cross-functional teams and their customers. It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages flexible responses to change.

The goal is to quickly show something to the stakeholder and have their feedback quickly and often and adapt as fast as possible. The idea is to be able to make mistakes but to fix them quickly and be responsive.

Which is the opposite of a common project management with which you will have your goal defined at the beginning.

The following graph shows you major benefits of that approach compared to a common one :

As you can see, we will have a constant visibility on the project, will remain adaptable and limit risk while maximizing the business value !

The Agile Manifesto consists of four key values with 12 principles :

  • Individuals and interactions over processes and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.

The process is iterative and incremental, the general idea is to split the development of the software into sequences of repeated cycles (iterations). Each iteration is issued a fixed-length of time known as a timebox. A single timebox typically lasts 2-4 weeks.

SCRUM – Basic Concepts

Scrum is an agile framework for developing, delivering, and sustaining complex products, with an initial emphasis on software development. 

Let’s discuss here all basic concepts you need to understand.

Roles

In this image, you can see all roles you will find in the scrum method :

Stakeholder : The customer, the business owner.

Development Team (bottom right) : a crossfunctional team of 3-9 people in charge of the sprint. They are self-organizing.

Scrum Master : manages the Scrum Process and remove impediments.

Product Owner : manages the Product Backlog, organizes the value of the product with stakeholders.

Scrum Team : is composed of the Product Owner, the Scrum Master and the Development Team.

Scrum Artifact

Product backlog :  is an ordered list of everything that is known to be needed in the product. It is built during the backlog refinement (Grooming), when the product owner and some, or all, of the rest of the team review items on the backlog to ensure the backlog contains the appropriate items, that they are prioritized, and that the items at the top of the backlog are ready for delivery. It is the single source of requirements for any changes to be made to the product and is never complete as long as the product exists.

As you can see on this image, top priorities are on the top with a precise description, whereas the last tasks are less described :

Sprint Backlog : is a list of everything that the team commits to achieve in a given Sprint. Once created, no one can add to the Sprint Backlog except the Development Team. 

PBI (Potentially Releasable Product Increment) : At the end of every Sprint, the team must complete a product increment that is potentially releasable, meaning that meets their agreed-upon definition of done. (An example might be fully tested and fully approved.)

Events and Workflow

Sprint Planning: the entire Scrum Team collaborates and discusses the desired high-priority work for the Sprint and defines the Sprint Goal. (max 8 hours)

Sprint : The Sprint is the heartbeat of Scrum, and it’s where the Scrum Team delivers a new iteration of the Working Product. Each Sprint lasts, at most, one calendar month.

Daily scrum : The Development Team meets for 15 minutes (or less) every day of the Sprint to inspect progress toward the Sprint Goal. They describe for each other how their own work is going, ask for help when needed, and consider whether they are still on track to meet the Sprint Goal.

Sprint Review : focus on the product being development, specifically on the potentially shippable product increment created during the sprint. During a sprint review, the Scrum Team invites stakeholders to discuss what was completed during the Sprint. (max 4 hours)

Sprint Retrospective : focus on the process. During a sprint retrospective the Scrum Team discusses what went right and areas for improvement in the Sprint.

Sources

Wikipedia

Scrum.org

Scrumalliance.org

Leave a Comment

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