Build Your MVP with Scrum Methodology
Nowadays software development method has been shifted from building the whole app before launching it to user into building some small and useful features and launch it as it is to user. This kind of product is commonly mentioned as Minimum Viable Product (MVP). One of the most commonly used project management strategy used to build our first MVP is by using Scrum methodology.
Agile— A Cyclical Process
Software development used to be done in an waterfall method, which is a method that delivers the overall features in the end of the project cycle. Contrary to that, Agile method is a method that utilize a cyclical process to incrementally release features to user.
One of the another differences that is introduced with the usage of Agile method is adaptation to changes. Waterfall was not designed to accommodate sudden changes in the middle of project lifecycle. Agile was prepared to accommodate such things, it is even written in the Agile Manifesto
Agile and Scrum
Agile and scrum has been a buzzword recently in the tech industry. But these terms usually being misunderstood or being considered as a same term by people, including myself. After observing some literature, I prefer to identify Agile and Scrum like a programming language. Consider Python as a language and Django as its framework. The same thing applies to Agile and Scrum. Agile is the method and Scrum is one the framework used to apply Agile Method.
As a framework, Scrum introduce some process that will be done in every Scrum lifecycle, such as planning, development, testing, review. Here is some summary of the scrum lifecycle implentation in Sikepa project.
Scrum Lifecycle in Sikepa Project
All groups in PPL project were assigned into 4 sprints, 4 weeks for every sprints. As usual, every sprint were started with a sprint planning, standup meeting in a certain period (2 days a week in our case), user testing and sprint review and sprint retrospective in the end of sprint. Task backlog were splitted into small subtasks and were assigned in every sprint planning. We also sometimes used poker planning in term of assigning tasks in sprint planning.
The most important thing that we consider in every sprint is to ensure that every sprint deliverable must be usable for users. Even if the changes were not too significant, the most important thing to consider is to deliver useful features for user. This principle is the most fundamental principal when building MVP with scrum method.
One of the activity that is encourage to be done in scrum is the usage of pair programming. Considering the difference of technical skillset that every team member have, pair programming promote mutual learning process that ensure team member to learn more technical skills while delivering products
Pair programming also promote better communication between team, especially because the PPL project will be done fully by engineer team working remotely without physical contact.
Adaptation to Changes
One of the mandatory things to have in Scrum software development process is the readiness to adapt to changes. This is important to accommodate user’s usability. Since the very beginning, we always encourage the usage of commonly used programming best practices, including domain-driven design to ensure that application code and sprint team were separated by its domain. While code was loosely-coupled and well-written with right design patterns and OO principles, introducing changes to code will not be hard for team.
Beside that, with right user research in the beginning and a good communication with user, the changes happened should be in form of additional features request, not in form of big breaking feature changes, except when there is something considered force majeur happened.
The usage of Scrum helps team to easily deliver MVP with incremental process. It also helps user to receive benefits from the system even from the first sprint and not wait for months and months until the system has been fully developed.
Thank you for reading this blog. See you in another PPL blog series!