Introduce Agile and Scrum in BuildFocus

Rindu Salsabilla Chandra
7 min readFeb 25, 2020

--

Main Page from BuildFocus

BuildFocus is an app for people to stay focus by their phone with an app, and their focus time can also be turned into charity. BuildFocus is owned by Gotong Royong Start Up. Our vision is to make each individual stay focused and not distracted from their activity, by still being able to donate socially by empowering application technology. Our goals are turn productive focus time into coins and heart in our application, manage focus time (statistics), change hearts into donations, and change coins become the desired building/item. To reach our vision and goal we need a perfect methodology with great quality and deliver value faster. That is why we choose agile as our methodology.

Souce: https://resources.collab.net/

BuildFocus use Agile software development because it refers to software development methodologies centered round the idea of iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. We use it because agile enables teams to deliver value faster, with greater quality and predictability, and greater aptitude to respond to change.

The Four Values of The Agile Manifesto

We apply The Agile Manifesto in developing BuildFocus because we want to deliver our product as good as we can. And here is The Agile Manifesto that we use:

  1. Individuals and Interactions Over Processes and Tools
    Valuing people more highly than processes or tools is easy to understand because it is the people who respond to business needs and drive the development process.
  2. Working Software Over Comprehensive Documentation
    Agile does not eliminate documentation, but it streamlines it in a form that gives the developer what is needed to do the work without getting bogged down in minutiae. Agile documents requirements as user stories, which are sufficient for a software developer to begin the task of building a new function.
  3. Customer Collaboration Over Contract Negotiation
    The Agile Manifesto describes a customer who is engaged and collaborates throughout the development process, making. This makes it far easier for development to meet their needs of the customer.
  4. Responding to Change Over Following a Plan
    With Agile, the shortness of an iteration means priorities can be shifted from iteration to iteration and new features can be added into the next iteration. Agile’s view is that changes always improve a project; changes provide additional value.

That’s all about The Four Values of The Agile Manifesto, let’s jump to the next part.

The Twelve Agile Manifesto Principles

Not only the fourth values we also use the twelve principles of agile development so we can run this software development perfectly.

  1. Customer satisfaction through early and continuous software delivery — Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.
  2. Accommodate changing requirements throughout the development process — The ability to avoid delays when a requirement or feature request changes.
  3. Frequent delivery of working software — Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.
  4. Collaboration between the business stakeholders and developers throughout the project — Better decisions are made when the business and technical team are aligned.
  5. Support, trust, and motivate the people involved — Motivated teams are more likely to deliver their best work than unhappy teams.
  6. Enable face-to-face interactions — Communication is more successful when development teams are co-located.
  7. Working software is the primary measure of progress — Delivering functional software to the customer is the ultimate factor that measures progress.
  8. Agile processes to support a consistent development pace — Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.
  9. Attention to technical detail and design enhances agility — The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.
  10. Simplicity — Develop just enough to get the job done for right now.
  11. Self-organizing teams encourage great architectures, requirements, and designs — Skilled and motivated team members who have decision-making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.
  12. Regular reflections on how to become more effective — Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.

The intention of Agile is to align development with business needs, and the success of Agile is apparent. Agile projects are customer focused and encourage customer guidance and participation. As a result, Agile has grown to be an overarching view of software development throughout the software industry and an industry all by itself. There are several kind of agile, for instance scrum, kanban, and Extreme Programming. But in BuildFocus we apply scrum as our framework. Wanna know more?

Source: https://medium.com/easyread/framework-scrum-d3a11ae1629d

One of the framework from Agile that we use is Scrum project management. It is known to be simple to understand, yet tricky to master. BuildFocus use Scrum because it can benefit us to carry out complex projects across any industry and business. The ideal Scrum team is a group of highly flexible and adaptive individuals who thrive in the context of an iterative and incremental delivery structure, and aren’t afraid to give and receive feedback.

The Scrum team

A Scrum project management team consists of three roles, the Product Owner, the Development Team, and the Scrum Master. The roles are self-organizing and cross-functional, and designed to maximize flexibility, creativity, and productivity.

  1. Product Owner
    In BuildFocus, this role is handled by teaching assistant and our product owner name is Muthia Nabila. The Product Owner is the product expert, and the one person who represents the stakeholders and the voice of the customer. They are solely responsible, and accountable, for managing the Product Backlog.
  2. Scrum Master
    In BuildFocus, this role is handled by teaching assistant and our scrum master name is Ismail. They are responsible for making sure the development team is on track by providing them with necessary resources, and to block out any distractions that may hinder the development process.
  3. The Development Team
    A group of developers, programmers, or designers who deliver the product, and create the Increment (the working product functionality that is presented to the stakeholders at the end of the sprint and could potentially be given to the customer). Me and my other four friends (Ridho, Millenio, Dhipta, and Natasya) are in the development team who build this application.

Scrum project management events

Scrum project management is applied by following a workflow made up of events. The events are time-boxed, meaning they hold a maximum duration time that cannot be exceeded. The aim of this is to reduce wasted time during the development process, as well as allow for critical transparency and inspection to happen. The events are:

  1. Sprint
    Sprints are known to be the very essence of Scrum project management. They are time-boxed, iterative, and serve the purpose of accomplishing a goal — usually to create a usable, potentially releasable product or even to move an item from ‘Doing’ to ‘Done’. BuildFocus has five sprints in total until we develop the product. It also means that we have ten weeks to build all of the stuff in BuildFocus because one sprint has two weeks.
  2. Sprint Planning
    Sprint planning is the event that happens at the beginning of every sprint, where the entire Scrum project management team meets to plan the upcoming sprint. So far, BuildFocus has already held our first sprint planning and it went well. We had sprint planning in our classroom with our scrum master.
  3. Daily Scrum
    The Daily Scrum is a 15 minute time boxed meeting held at the same time for every day of the sprint. It’s where the Development Team discuss their achievements of the previous day, and their expectations of the following one. Daily scrum for BuildFocus only has two days, it is in Monday and Thursday.
  4. Sprint Review
    The Sprint Review is an informal meeting held at the end of every Sprint where the Scrum Team present their Increment to the stakeholders. BuildFocus will have sprint review every second week of the sprint and our client will come to join us to see every progress from BuildFocus.
  5. Sprint Restrospective
    It is a meeting where the Scrum Team reflect on the proceedings of the previous Sprint, and establish rooms for improvement in the next Sprint.

Lesson that I learned from implementing scrum is it delivers product so fast. Every sprints my friends and I can show our minimum viable product from BuildFocus. Our obstacle when implementing scrum is at the beginning we should get used to scrum and it takes a lot of time. But luckily we have our scrum master who help us implementing scrum.

That’s all about Agile and Scrum in BuildFocus. I hope it can increase your information about product that we build for Software Project. See you in my next post!

References:

--

--

Rindu Salsabilla Chandra

Currently, a student at University of Indonesia majoring Computer Science.