By Elena, Customer Support Specialist at Flat Rock
We already discussed Waterfall and Agile and now we will delve deeper into more advanced methodologies such as Kanban and Scrum.
The Kanban method offers managing a development process in a highly efficient way. It is a simple methodology that focuses on the work currently in progress. The tasks are displayed to all participants and they can easily track the progress. A good practice is to organize the development process using a Kanban board. Each of the items/task goes through defined working stages- to do, in progress, in testing, ready for release, released. The methodology gives the team more flexible planning options, a clear focus and transparency, and a faster output.
The team is concentrated only on the tasks which are currently emphasized. Once a task is done, the team moves on to the next item at the top of the backlog. The product owner is free to change, re-organize and re-prioritize the items in the backlog as any changes outside the current work won’t affect the project. Team members are given the ability to focus and work over clear tasks. The methodology is quite good for unexperienced and new teams. Kanban is really good for non-strict iterations where the team controls their progress and defines the release based on their commitment.
When to use it
› New and unexperienced teams
› When we want to focus on continuous delivery
› When we want to increase the productivity, quality and efficiency
› When we want to reduce the wasted work and time
› Responsiveness for change
› Shorter cycle time
› When we need to prioritize the tasks or priorities are changed frequently
› When it is important to focus on the amount of work that is in progress at any point in time
› Limits the number of items the team has in progress
We could define Scrum as a lightweight framework of the work process of the Agile methodology used mainly for managing complex software development. This method is iterative and incremental. It follows a flexible strategy where the whole team works as a unit. Scrum significantly increases productivity and reduces time. Scrum follows a particular set of practices. It’s a simple set of roles, responsibilities and meetings. The methodology helps the company to cope better with any changes, increase the quality of the deliverables, provide better estimates and spend less time in creating them, have a better vision of the project schedule and current status. The work is done in series of fixed-length iterations called Sprints.
A sprint is a period of time during which a specific work should be done and ready for preview. The duration of each sprint is fixed and agreed in advance, usually between one and three weeks. Each of the sprints starts with a planning meeting. During the sprint there are short daily scrum meetings at the same time and with the same period every day. Another characteristic of this methodology is that it has three specific roles: Product owner, Scrum master and development team. As the scrum teams are cross-functional, the development team includes designers and testers in addition to the developers. The product owner represents the client and is in charge of prioritizing the tasks, set the duration of the sprints and add tasks to the project backlog.
The scrum master facilitates the work of the team and the product owner, ensuring the work is done as planned. The development team is self-organized and responsible for the completion of the tasks.
When to use it
› Requirements will change frequently
› Continuous feedback is required
› Technical complexity of the project – the method divides a complex project into smaller deliverables
› Longer projects
› A strict tasks priority and a short delivery schedule
› Project require constant invention, all steps are not known in advance and estimates are not expected to be reliable
› Deliver working software frequently
As you could probably gather from the name, this methodology is a combination of the Scrum and Kanban methods. It basically gathers the best features from both methodologies – uses the prospective nature of Scrum and the process improvement of Kanban. Similar to Scrum and Kanban, in Scrumban, the working process is organized and structured in a prioritized tasks list. The progress is demonstrated visually and monitored using a visual board. The board usually has three columns – to do, in progress and done. Scrumban methodology uses two types of limitations – WIP limits and To Do limits.
WIP limit – The work in progress limit usually matches with the number of people working on the project. The idea is that every member of the team should work on one task at a time only. Thus the team will be working effectively.
To Do limits – the number of tasks could be limited as well as the WIP.
When to use it
› The team is experienced and can manage their own daily tasks
We, at Flat Rock, are here to help you decide on the best match for your business, so never hesitate to contact one of our representatives.