Facebook, Instagram, AirBnB — what do these multi-million products have in common?
They all came from ideas.
As great as these ideas are, if these companies failed to determine the right process or methodology to serve as the backbone of their development, their products will most likely have a hard time finding the success that they are enjoying now.
I know. Imagining that your very own idea, a concept that once just plays through your mind, is now a very successful business may seem too farfetched. But, it can be done.
“How?,” you might ask. One of its steps is to be able to fully realize your idea into a tangible product, a product that users will find useful and enjoyable.
For us to achieve that, we need to embrace a methodology which will allow us to deliver as such — Agile. It is best described as an iterative, team-based approach to software development. The development of software is broken down into sprints. A sprint is a set period of time during which specific deliverables has to be completed and made ready for review. These deliverables are already been prioritized by its business value prior to the start of the sprint.
One such advantage of having your products developed under the Agile approach is that it allows the process to adapt to change. Since Agile is iterative in nature, any changes that may occur during the development cycle can be address earlier, as compared to other methodologies (i.e. Waterfall method).
Another is that the Agile approach encourages customer involvement and ownership. Not only can the customer see the work being delivered more frequently as compared with other methods, but also have an opportunity to make decisions and changes for the project.
There are quite a few methodologies that practice the Agile approach. Let us examine some of the more commonly used methodologies:
Scrum can be considered as an agile methodology that revolves around User Stories — a tool used to encapsulate a software feature from an end-user perspective. It is then broken down to its corresponding tasks, in which the team will commit any number of tasks for that sprint.
Each of these tasks will then be monitored by its status (To-Do, In Development, For Testing, etc.). This makes it easy for the team and the customer to track the overall progress of the project for that certain sprint.
The main focus of Scrum is to be able to provide working iterations of the project after sprints, in which the current state of the project is to be re-evaluated in preparation for the succeeding sprints.
To put it simply, Kanban shares similarities to a to-do list. A list prioritized based on its business value. Its main difference with Scrum is that it is not time-based, but rather focuses mainly on its priority. It has this distinction of “one at a time”, wherein after the highest priority feature is finished, the developer then proceeds to work on the next highest priority feature.
Same with Scrum, each feature is monitored by its status. The difference is that all of these features are placed in the monitoring board all at once, as compared to Scrum wherein agreed Sprint Backlog items, items that are agreed upon to be completed within the sprint, are the only visible ones. And since Kanban is not time-based, it makes it easier for the team to visualize the overall progress of the project.
With Kanban, the release of iterative builds is still scheduled, but unlike Scrum, there’s no definite feature set that is to be expected.
Which of these methodologies suit your needs?
If you are the kind of customer that is comfortable with a set priorities for your project, likes to be involved with the planning and prioritization of features, and expects most, if not all of these features to be delivered within the defined schedule, Scrum is for you. But if you like to have more flexibility, to be able to decide to have changes to suit your needs, is not really concerned as to what features are to be delivered at a specified schedule, Kanban is the more suitable fit.
To put it simply, you could never go wrong with any of these methodologies, since it both offers a more suitable development cycle that supports iterative approach, allowing you and your users to slowly visualize the successful project you envision it to be.
Agile Methodology: The Complete Guide to Understanding Agile Testing
Kanban vs. Scrum: What are the Differences?
What is Agile Methodology?
Waterfall vs. Agile: Which is the Right Development Methodology for Your Project?
Photos by Daria Nepriakhina and Giu Vicente on Unsplash