In the previous post, I introduced to you all about Agile – which are applied in a lot of projects of many company all over the world. As I mention before, Agile have a lot of methodologies is used for each project. Even User who work with Agile have different viewpoint about what is the most suitable methodologies for their project. There are 2 most used methodologies of Agile which they talk about now: Scrum and Kanban.
In this post I will make clear for you about Scrum and Kanban, their Pros and Const.
1. What is Kanban?
Kanban is a terminology which come from Taiichi Ohno, an industrial engineer at Toyota, who want to improve manufacturing efficiency. Kanban in Japanese is Sign Board and It have 4 main principles:
- Working Visualization Kanban board help both development team and customer have the visualization about working status and tasks. In Kanban board they separate to many column which corresponding with each status of work.It could be a physical board or online software like Trello.
- Limit WIP – Limit Work In Progress In Kanban, they set the limitation – the number of task in 1 column. By this way, development team will focus on main tasks or unfinished tasks, reduce the time 1 task remain in the Kanban process while team is working on another task. Team will manage tasks and control their works more efficiency, prevent spend more time when swith between too much task in 1 times.
- Focus on Work Flow Development team only focus on flow which are decided and show on Kanban board, it lead everybody know the same about process when working. Plus the Limit WIP, team can choose what is most value or suitable task team should do first, the performance will be higher.
- Frequently Improve Development team will checking the effeciency of project following the quality and the time for making product. They will analyze, practice and bring out the ideas to improve the system/product and process also to have better performance.
2. What is Scrum?
As a member of Agile methodologies, Scrum is built base on the Empirical Process Control – the theory which show that knowledge is come from experience and we will decide based on what we have known. This way will help us to prevent risk and improve the accuracy especialy in the Software Development environment which change everything so fast.
There are 3 core elements to be an Empirical Process Control model, and it also happen in Scrum:
- Explicit All important aspects of a process need to show clearly for all member which are responsible for the result of that process. All member need to have the same understanding about each definition of requirement, the way they working or the result.
- Reviewing Scrum team need to review all about the status of product and project also to find out issues or risks. The frequency of reivewing should not so tight because it could effect the work. The reviewer should have more skill and experience than other and know when is the important time for reviewing.
- Adaptable If the reviewer see that there is issue or trouble of product or process that make the performance is down or make the product go so far from what customer need, the team should meeting and decide how to change or update process or product (Requirement, Design, Coding…). The change should be as soon as possible to reduce the effective of there issue. To make a successful project with less issues we need to satisfy all 3 core elements same time.
3. Kanban and Scrum comparision
As I mention before, Kanban and Scrum is come from Agile mindset but the way they perform is different.
- The same points:
- Both 2 methodologies split the big and complicated task to smaller and more simple one and finish follow the same process repeatedly.
- Both method promote consecutively update and optimize works and process.
- Both method focus on woking flow to encourage member join into process.
- The different points: Scrum is the best for product and project development when Kanban is the best for support productivity. There are 3 big different between them.
- Plan making and Iteration
- In Scrum the plan is very important. Scrum team will be provided a prioritized task list which need to finish, tested carefully to make a shippable one to delivery to customer. They need to decide what tasks they can do in each sprint. All other tasks will be move to next sprints. After each Iteration (2 weeks / 2 sprint for example), team will delivery product to customer. After that both team with customer will have retrospective meeting to review the result (both product and process) and discuss about how to improve performance in next sprint. This process will be repeat to team will know exactly status of project and the management will be more effective.
- In Kanban, it doesn’t have time box and Iteration like Scrum. The retrospective will happen continuously in the whole product development. They just focus on what task should be done first and team can limit work flow by themselves in any time to make work flow become stable and effective.
- Role and Responsibility
- There are 3 side involve into a Scrum team: ProductOwner(PO), Scrum Master and Development Team. Each team have different role and responsibility but they need to work together to bring the balance between Requirement and Result. Scrum Development Team is Cross-functional team or they have all skills which enough for finishing works.
- Besides in Kanban team, there are no rules for Role. For example one member can manage project team, decide requirement and also review works. A Kanban team is not only one Cross-Functional team like Scrum. One or more teams or a person can be join to project. Different team and person can work on the same Kanban board.
- Manage Board
- With Scrum, each column will represent each step of work flow. Each task will add in first column and move between columns until finish that task at last column. They will choose what task should be add in each sprint to do.
- In Kanban the column also represent each step of work flow but they limited the number of item in each column. And they don’t have Iteration like Scrum so they will add more if the number in a column is not full. Moreover if many team work in the same Kanban boards, design the board is more difficult than Scrum because the board need to satisfy work flow of many team with different step and definition of done.
- Scrum or Kanban is methodologies using Agile mindset, it mean that we can not compare between them such as compare between color and blue.
- So what is the better methodology? It’s very difficult to answer this question. The answer will based on the context of project (Customer need, Development Environment, Strategy…) to decide which method we should use. Besides, we can use Scrumban – the combination from Scrum and Kanban. Scrumban can be understand like a simple process model to manage the complicated projects. Nowadays, Scrumban will be apply mostly in Website development, Software Development or Maintainance. I will have another post to describe more detail about Scrumban later but I think it really a best combination from Scrum and Kanban.
The people at Techvify continuously strive to attain knowledge and increase their talent to provide the best quality solutions to our valued customers.We keep our self updated with latest Trends so our clients, can take rest and concentrate on business. We had an array of multidisciplinary skilled employees forming the core of our capability.
We have above 500000+ man hour experience in following technologies.
If you want to cooperate with a talented team to produce high quality project, do no hesitate to get in touch with us.
(+84) 834 619 888