Agile Software Development with Scrum

Muhamad Yoga Mahendra
5 min readMar 23, 2021
www.digitaltemplatemarket.com

Agile Software Development Paradigm

The Agile SD Paradigm means that developments is adaptive, continual, and flexible. When developing softwares in Agile paradigm, requirement and solution discovery can happen at any time. The development itself requires collaborative efforts from all stakeholders(Including customers) and developer teams, whether it’s a self-organizing team or cross functional teams.

Agile methods is good for developing softwares that requires frequent updates in it’s requirements/implementation. It relies on strong teamwork, and individuals to keep up with the work and changes. Agile teams are self-organized and/or cross-functional.

Self-organized teams means that the work can be split and left to the individuals in the team. Cross-functional teams means that the whole team works to finish a specific work/task.

The Agile Manifesto

The Agile SD Paradigm is popularized and based on the Agile Manifesto, which contains 4 core values and 12 principles which become the basis of Agile Software Development. The document is made by The Agile Alliance in 2001 in response to the slow development progress of Waterfall Paradigm.

Based on the alliance’s combined knowledge and experience, they proclaimed the 4 core values. They are:

  • Individuals and interactions over processes and tools
    Each individuals and it’s capabilities is favored over the process/tools for software development itself.
  • Working software over comprehensive documentation
    Making a working software that is usable is always favored over the documentations/overall cleanness.
  • Customer collaboration over contract negotiation
    In development, contract negotiation isn’t always perfect. This made agile developers always trying to involve customers as much as possible in development and testing. With all the feedback given by the customer, the developers can make sure that the software is working as intended.
  • Responding to change over following a plan
    Just like the point 3, there’s no perfect plan. Agile developers will choose to change plans as needed. The team needs to adapt to changes made, whether it’s planned change or surprise changes.

The manifesto is based on the following 12 principles:

  1. Customer satisfaction by early and continuous delivery of valuable software.
  2. Welcome changing requirements, even in late development.
  3. Deliver working software frequently (weeks rather than months)
  4. Close, daily cooperation between business people and developers
  5. Projects are built around motivated individuals, who should be trusted
  6. Face-to-face conversation is the best form of communication (co-location)
  7. Working software is the primary measure of progress
  8. Sustainable development, able to maintain a constant pace
  9. Continuous attention to technical excellence and good design
  10. Simplicity — the art of maximizing the amount of work not done — is essential
  11. Best architectures, requirements, and designs emerge from self-organizing teams
  12. Regularly, the team reflects on how to become more effective, and adjusts accordingly

Scrum Framework

Scrum is an Agile framework made to help people develop, deliver and sustain products. Scrum is designed for developer teams with 10 people or less. Scrum holds 5 value, which is Commitment, Focus, Openness, Respect, and Courage.

Scrum Events and Terminology

Sprint

Scrum framework develops product iteratively by breaking the workload into goals that can be completed within time-boxed iterations (“Sprints”, which is around 1–4 weeks, and mostly 2 weeks). Any changes related to the goals in a sprint can only be discussed after the sprint ends(in sprint planning ).

Product Backlog Item

The features that needs to be created(acquired from breaking down client specifications and goals), measured by Sprint Points. Different scrum teams uses different Sprint Points measurement. In PPL 2021, the score and time it took for a SP to complete according to DoD is:

  • 1 SP = 30 Minutes
  • 2 SP = 1 Hour
  • 3 SP = 3 Hour
  • 5 SP = 5 Hour
  • 8 SP = 8 Hour
  • 13 SP = 1 Full day
  • 15 SP = 2 Full day

Scrum Board

Nice PeoPLe’s Scrum Board

A Scrum Board is used to keep track of the team’s progress in a sprint(or the whole development cycle). Everyone can monitor each other easier this way, just by moving the PBI cards around. If someone’s completed with their part, they can participate in helping the other teammates. In the team, this board will be used in daily meetings as the overall progress report.

Sprint Planning

At the start of a sprint, the scrum team holds a Sprint Planning meeting to:

  • Decide how many PBI to take in a sprint
  • Preparing the sprint backlog
  • Decide the Sprint Goal
  • Decide who does what

The result of Sprint Planning is used as a guideline for working in that specific sprint duration.

Daily Scrum

The Scrum Master(the leader) tracks the team’s progress with the use of daily scrums(short meetings usually 15–30 minutes). Usually it’s held to tell each other about progress, obstacles, or other things affecting the sprint.

Sprint Review

At the end of a sprint, the team holds an event called sprint review to check, review, and discuss the results of the sprint. The event also might include stakeholders to discuss about the next sprint.

The Client and Product Owner will attend to review the demonstration of the finished PBI. The Client can choose whether to accept or reject the demonstrated PBI. If it’s accepted, then it can be merged to master. If rejected, then it must be reworked and be reviewed again at the next sprint review. Rejection is usually caused by bad results, unexpected error, or changes in the PBI itself.

Sprint Retrospective

Sprint retrospective is held to reflects performance in previous sprint and improve for the next sprint. Team members are also encouraged to discuss, tell about problems and solutions, and increase the overall mood of the team.

Scrum in PPL 2021

In PPL 2021, the scrum hierarchy consists of one Scrum Master, one Product Owner, and the Scrum Developer team, consisting of 5 people. Each of the job’s description is:

  • Scrum Master is responsible to maintain Scrum guidelines and ensures that the team is doing well. Scrum Master also leads and serves the Developer team so that the team can keep improving and moving forward.
  • Product Owner is responsible to maintain communication between the Scrum team and Client, create Product Backlog Item from guidelines and goals set by the Client, and inform the team about the PBI.
  • Scrum Developer team is responsible to implement the Product Backlog Item set by the Product Owner, in coordinated and planned sprints. Dev team is also responsible to work within boundary and rules set by the Scrum Master(along with the Definition of Done).

--

--