PPL 2021 — Scrum Framework — Beautifully Incomplete

Software development is not a rational process. It’s a process made by people with feelings with bodies and with thinking. And by putting all those together I can be a more effective software developer. Kent Beck.

Photo by Leon on Unsplash

This article was made as a part of Individual Review of PPL 2021

Brief Introduction to Agile Software Development

According to Oxford Dictionary, agile means the ability to move quickly and easily. In Software Development, the agile principle in software development means that the development has a quick and adaptive response to change. Like some method, agile has some principle and manifesto that make it different from prescriptive models.

  • Incremental Delivery
  • People, not process
  • Embrace changes
  • Maintain simplicity.
  • Working software over comprehensive documentation: When using agile working software that can be used is far more important than any documentation that we may usually find on prescriptive methods.
  • Customer collaboration over contract negotiation: Just like the name suggests, the agile method encourages the customer (or stakeholder) to collaborate more with the developer team rather than a long negotiation over the contract at the beginning.
  • Responding to change over following a plan: Agile processes prioritize a change in the middle of the development cycle rather than rigidly follow a plan from the beginning.

Brief Introduction to Scrum

Much like a rugby team (where it gets its name) training for the big game, scrum encourages teams to learn through experiences, self-organize while working on a problem, and reflect on their wins and losses to continuously improve.

Scrum Team

Scrum team is a fundamental unit of scrum that consist of a small team of people. A scrum team must be small enough to be agile and large enough to get the job done on that Sprint (will be explained later). Usually, a scrum team is no smaller than three people and larger than ten people. According to Scrum Guide, if the team is too large, it is recommended to breakdown that team into two or more separate teams working on the same product. Each scrum team member is held responsible for their work and must have good communication to maintain a reasonable and clear understanding of Sprint Backlog.

  • Make a product that meets all the requirement in the Definition of Done.
  • Plan their daily activity to reach the Sprint Goal each Sprint.
  • Make sure that the Product Backlog Item is apparent all team member understood
  • Make sure that all the Product Backlog Item for that sprint is feasible to be done within the sprint period.
  • Helping the team to meet high-value increments in the Definition of Done(in which the feature is called done if fulfil each requirement in Definition of Done)
  • Ensuring each team member have no obstacle and can work as efficiently as possible so that each sprint can be made successfully.
  • Facilitating the stakeholder for any requirements change to the Scrum Team.
  • Ensuring that there is no barrier between the Scrum Team and the Organisation.

Scrum Activities

Sprint

  • Product Backlog Item can be refined as needed.
  • The scope of the project may be negotiated as the team learn more.
  • What can be done in this Sprint?
  • How will the chosen work get done?
  • Is there any blocker to perform the Sprint?
  • What will each member do next?

Under-graduated Students Majoring in Computer Science