Be Agile using Scrum Framework in App Development

Dipta Dwiyantoro
5 min readMar 22, 2021
Source : https://monday.com/blog/wp-content/uploads/2019/10/Introduction-to-Agile.png

Agile? What is That?

According to the Oxford Dictionary, agile is an ability to move quickly and easily. This is a way to deal with uncertain and fast growing environment. Nowadays, technology grows rapidly, each year new technology will appear to the world, maybe each day we see technology is developing little by little,requirements by requirements. We need to adapt to this environment. So the point is, when we are developing an app we must open to any kind of requirement changes in the middle of the development and also we need to deliver the app more frequent

Agile Manifesto

To do this agile workflow, seventeen developers in 2001 has created a manifesto that has some methods and practices to do it. There are 4 key points of the agile manifesto, there are :technology growing little by little Over Process and Tools

  • Individual and Interactions Over Process and Tools

Team work is powerful tool to build something. Interaction between each people in the team is important thing because we can combine all the idea from each people to be something useful stuff that can help the developm
ent.

  • Working Software Over Comprehensive Documentation

As the meaning is move quickly, we need to make a working software first to make a frequent deployment cycle, if we target to make a comprehensive documentation, we need more time to do it.

  • Customer Collaboration Over Contract Negotiation

Customer is crucial in agile because customer will give continuous feedback to your application, so your application quality will be better and also grow bigger.

  • Responding to Change Over Following Plan

New idea can come up at any time, so we need to be able respond that new idea and make a new change if necessary.

Agile Principle

Besides the manifesto, there are twelve principles for agile, some of them are:

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  • Business people and developers must work together daily throughout the project.
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

Scrum

Scrum is one of Agile Software Development framework. It is a framework for delivering a complex and adaptive problems while you develop and deliver the products.

In scrum, the team consists of 3 parts:

  • Scrum Master

Scrum master is a person that will be your team couch and keep your team in the right track while develop and deliver the products.

  • Product Owner

Product Owner is a person that responsible to list all of the product requirements and split it to the product backlog

  • Developers

Part of the team that implement the requirement and do incremental update to the product each cycle.

In this framework, we need to do five main events, there are :

  • Sprint Planning, in this event, the whole scrum team will define the sprint goal with the stakeholders. After that they measure the weight of each backlog and choose what backlog and sprint goal will they take. Usually, they pick a backlog that has high priority and pick the goal that has high value for the stakeholders. And after that they break the backlog of the requirements into small parts and discuss a plan for delivering the task together.
  • Daily Scrum, in this event, the team will held short meeting to discuss about the problem and progress from each person in the development team toward the sprint goal, adapt to the Sprint Backlog, and also adjust their upcoming work plan. Usually, each person of the team will be asked with this three questions: what has been done, what next, and what kind of problem in the development.
  • Sprint, this is the part where the development team do their increment according to the plan that they discuss in the Sprint Planning.
  • Sprint Review, this part will be held in the last day of the sprint. Usually, in this event the stakeholders will be present and the team will show their progress and demoing the app. By doing this, the team will get some feedback from stakeholders.
  • Sprint Retrospective, we will do some reflections about the sprint. We will evaluate any kind of problem that happened in the last sprint and try to reflect to the past sprint and improve the quality of next sprint.

Usually, Sprint will be done for 2 weeks.

Scrum In My Project

This semester, I have a project that using Scrum to manage the workflow in my team. Now i want to share my experience about implementing Scrum.

Sprint Planning

In this event, my group held sprint planning using metroretro.io for using sticky notes feature and discussing the weight of each Backlog that we have. After that, we decide which Backlog that we take in a sprint.

Sticky Notes
Discussing Each Backlog Story Point

Daily Scrum

In this event, my team held it every monday and thursday. We discussed about each person progress in the increment that we develop. The Scrum Master asked about what has been done, what next, and what kind of problem in the development. After Scrum Master gave question to us, we discussed the problem that we have an try to resolve it together.

Sprint

In this event, my team do the increment by building a new feature that matches the backlog that we choose in Sprint Planning. We track our sprint progress using gitlab board.

In the board we split the component of the backlog in to 4 state :

  • Open : For New Component of The Backlog
  • To Do : For Assigning the Component
  • Doing : For Telling that component is in progress
  • Closed :For Telling that component has done

Sprint Review

In this event, my team will demonstrate the increment that we’ve built along the Sprint to the Client and tell about our progress. The Client will give some feedback to our app.

Sprint Retrospective

In this event, my team use metroretro.io again to handle the discussion. In this discussion we will create a sticky notes that tell about good side and bad side in the sprint before, and also what should we start and stop in the next sprint. Besides that,if necessary, we re-adjust the story point that we assign before.

Good, Bad, Start, Stop Boards

References

https://www.scrum.org/resources/what-is-scrum

http://agilemanifesto.org/iso/en/principles.html

http://agilemanifesto.org/iso/en/manifesto.html

https://en.wikipedia.org/wiki/Agile_software_development

--

--