Agile development with Scrum

josh sudung
4 min readFeb 26, 2020

The big picture

Working in a team environment can be a hassle if said team is inexperienced or is managed with poor and improper techniques. True that every team or group will eventually reach maturity, and adapt proper techniques that fits their specific needs just well.

Issue arises as many newly arranged teams, especially within a new working environment (such as startups, etc) in which work is expected to deliver constant supply of output every specified period of time since early in their maturity process. How will companies that aren’t yet capable of hiring actors experienced in team management manage to mature fast enough, and adapt proper methodologies for their working process?

Scrum

To understand what scrum is, we first need to understand agile development:

Agile development refers to a group of development methodologies with iterative process, where requirements and solutions evolve through collaboration within self-organizing, cross-functional teams.

Basically, teams are disciplined into fast output delivery, yet still maintaining high quality deliverables, managed by frequent inspection within each iterative development timespan. There are more to agile development, such as the twelve principle of agile, called the agile manifesto.

Grasping the basic agile concept, we can now move to Scrum. Scrum is a process framework, subset of agile. It is used by an enormous number of teams, as it is easy to implement, lightweight as the process phase is kept as small as possible (we’ll get to this later), and has high flexibility by leaving a large room for rapid requirement and deliverable changes.

Key scrum features:

  • Increase deliverable quality — the result of frequent review and inspection
  • Expect and cope better with changes — the result of short-lived iterative phases
  • Deliver output (deliverables) at the end of each iterative phase.

Scrum Actors

Each scrum team has to be built based on their individual collaborative capabilities, hence clear communication hierarchy must be established.

1. Product Owner

The Product Owner provides the “single source of truth” for the scrum team.

The product owner is the all-knowing of the product requirements. A product owner knows customer needs and prioritize requirements accordingly, by managing and updating the product backlog. One must also define each task’s definition-of-done, and schedule the final release of each deliverable whenever it has already passes quality assurance.

2. Scrum Master

The scrum master is the scrum process keeper. A scrum master needs to have a strong understanding of the scrum process. One’s responsibility is to organize and facilitating meetings with the scrum team, the product owner, and the stakeholders. The more subtle responsibility is to ensure the process runs as smooth as possible, removing obstacles that contradicts productivity, and encourage the scrum team in anyway possible to ensure highest standard of deliverables, by not neglecting the well-beings of one’s development team.

3. Development Team

The group of people who is capable of implementing the product. All technical decisions are made by the development team, hence an established hierarchy of communication is vital to them. The development team also has responsibility of testing the implementation, and ensures that the product passes quality assurances.

Scrum Development Phases

1. Product Backlogging

The phase where a scrum team collects user requirements, and turns them into tasks in which priorities are desired by the client

2. Sprint Backlogging

Scrum team filters product backlog and determines group of tasks scheduled to be done within the next sprint.

3. Sprint

A short-lived development phase (up to 30 days), in which the development group within the scrum team works to implement the chosen group of tasks.

4. Daily Scrum Meeting

15 minute daily meeting within a scrum team. Each team member are expected to describe:

  • What I’ve done since the last scrum meeting.
  • What I plan to do before the next scrum meeting.
  • Issues that I encounter and need help to resolve.

5. Sprint Review

A meeting which the scrum team, product owner, and occasionally the stakeholders will attend, at the end of each sprint. The scrum team are expected to demonstrate potentially shippable deliverable to the stakeholders, and transparently review done tasks, pending tasks, and problems encountered within the sprint. Stakeholders are expected to give feedback regarding the delivered product, and finally present a new product backlog, or possibly rearrange existing ones for the next sprint.

6. Sprint Retrospective

A meeting within the scrum team only, arranged by the scrum master at the end of each sprint. Each team member expresses what went well and what went wrong with the last sprint, what they have learned and what to introspect for the upcoming sprint.

Conclusion

Using scrum as the framework of development process is undoubtedly the way to go in today’s work culture, especially for software companies who are constantly competing in delivering the best product in highly competitive industry. Thanks for reading!

Written as an assignment for my software engineering project individual review.

References

https://www.cprime.com/resources/what-is-agile-what-is-scrum/

--

--