Agile software development, overall follows a “Rolling Wave” pattern, in which milestones are defined, but flexibility on how to reach them is maintained, and some margin is left for the milestones themselves to change if needed. It is by name an adaptive method, therefore each organization and project applies a different combination of its methods and practices to best suit their need.

There are an endless number of different methods and practices which can be followed in agile software development, therefore we will not divulge into all of them, but explore some of the popular ones which we use at Promobi Technologies.

Scrum

A scrum is a flexible product development strategy where a development team works as a unit to reach a common goal.

Scrum Roles

There are three core roles in a scrum: the product owner, the development team and the scrum master.

  • The product owner or customer representative, represents the stakeholders (clients) and is the voice of the customer. The product owner also announces releases, communicates team status, organizes milestone reviews, educates stakeholders in the development process, negotiates priorities, scope, funding, and schedules, and ensures that the product backlog is transparent and clear.

  • The development team is naturally responsible for executing and delivering a working product at the end of every iteration or sprint.

  • The scrum master is not exactly a team lead or project manager, but he/she acts as a buffer between the team and any distractions or obstacles and motivates and encourages them. The role is often referred to as the team facilitator or servant-leader.

    Scrum Artifacts

    Scrum has three tangible artifacts:

  • The product increment is basically a single iteration; a subset of the whole and final product. It is an improved, operating version of the product, meeting the team's Definition of Done (DoD).
  • The product backlog is the list of ideas for the product in order of priority.
  • The sprint backlog is maintained as a detailed plan for development for the next sprint.

    Scrum Activities

    The Daily Scrum/Stand up is an informal meeting, held at the same time every day, for about 15 minutes, during which all members of the development team answers to three important questions.

      1. What did I do yesterday to help the development team meet the sprint goal?
      2. What will I do today to help the development team meet the sprint goal?
      3. Am I facing any obstacles that will prevent me or the development team from meeting the sprint goal?

    Sprint Planning
    Using the product backlog, the scrum team selects, understands, and delegates the work to be done in the upcoming sprint, priority wise. This creates a common understanding of the product backlog items within the team, and the time to accomplish each. Accordingly a forecast of what work will be completed in the sprint is made, along with the plan for accomplishing the work. From this, the sprint backlog is created.

    Sprint Review
    At the end of each sprint, the scrum team and stakeholders review the product increment. This includes presenting an overview of the product increment to the stakeholder, along with a demonstration, and a discussion about the state of the product backlog in case of any changes.

    Sprint Retrospective
    At the end of each sprint, the Scrum team meets for the sprint retrospective, during which the team members review the process and identify potential improvements.

    Product Backlog Refinement
    This is an ongoing activity throughout the scrum process. In which the order of the product backlog items is confirmed, unimportant items are removed, items are added or promoted, larger items are often split into smaller ones, smaller items are merged if required, time requirement for each is estimated and sprint-ready items are identified.

    Scrum is really just one method of Agile Software Development, and while there are many other practices that can be followed, this is the most popular and widely used method. Naturally, the scrum methods and practices are adapted as per the company and project, but given here is the overall framework of the Scrum process. In the next blog we will identify some of the other agile development practices used by Promobi Technologies.

    Written by: Dipika Asnani, Digital Marketing & Content Writer at Promobi Technologies Pvt. Ltd. www.promobitech.com