Kanban methodology is based on the principles and techniques of a management theory known as “Lean Manufacturing”. Lean manufacturing is a systematic method, which allows to make responsible decision within a manufacturing industry. Kanban is a set of tools which allows you to practice Agile through incremental improvements.
The Kanban method is formulated by David J. Anderson, and is inspired by Toyota Production systems, which mainly concentrates on ‘What to produce?’, ‘When to produce it?’ and ‘How much to produce?’. Kanban approach in relation to software development can be termed as a visual process management system. Visualisation is a major facet of Kanban that allows to understand the work and workflow efficiently.
The main rule of Kanban is to visualize your work and to limit the work in progress. The other main aspect is to stop taking new work before completing the work in progress.
The Kanban Method is based on four basic fundamentals:
1. Start with the Current Process: The Kanban method does not require any process steps. It can be used with actual roles and processes that encourages continuous, incremental and evolutionary changes to the organisation. The Kanban approach helps to adopt modification easily.
2. Incremental and Evolutionary Change: The team should agree that continuous, incremental and evolutionary change is the most efficient way to make system improvements and should practice them regularly. Radical variation may appear as more effective, but there are high chances of failure due to resistance and fear in the organization. The Kanban method supports continuous small incremental and evolutionary changes to your existing system.
3. Recognize the Current Roles, Responsibilities and Titles: Organization has some elements that works satisfactorily and worth protecting. The Kanban process hitches out the fear in order to aid future advancements. It pursues to get rid of early anxiety by respecting current roles, responsibilities and job titles with the ambition of expanding more support.
4. Leadership at all Levels: Accomplishment of leadership at all levels in the organization, from individual contributors to higher management, are supported. With effective leadership and accountability it is easier to build more confidence in teams.
The Kanban method helps to build more flexible planning opportunities, focus on value, communication, collaboration and transparency throughout the development cycles. The practicing of Kanban methodology helps to build:
1. Compliance in Planning: The Kanban team considers the work which is actively in process of development. Once the team completes a work in process, then they concentrate on the work which is top prioritized in backlog. The Product Owner is given all authorities to re-prioritize the work in backlog and thus they can support the team to work without any interruption. This helps the team to accomplish their work with easy advancements.
2. Reduces Cycle Time: In accordance to team’s workflow, the amount of time that is spent for accomplishing a unit of work - from the moment of start to its shipment - is considered as a cycle time. Overlapping of skill sets or with the utilization of shared skills, helps to achieve smaller cycle times. Thus cycle time is an important criteria for all Kanban teams.
3. Focus On Value: When more work is considered for a particular team, then there are more chances of missing the efficiency. The main key thing for Kanban is to limit the work in process(WIP). Thus it provides a way to prioritize the work and finish the most valued work at the earliest. By giving importance to completing a high priority work, it is simpler for the team to utilise the skills adequately.
4. Metrics Visibility: The main key factor of Kanban is continuous improvement. But in context with team, the improvement in work can be noticed only with clear picture or with proper visuals. The two important reports used by a Kanban team are control charts and cumulative flow diagrams. The control charts display the cycle time for each issue and in relation with the average time spent for teams. With the cumulative flow diagram, it is easier to show the number of issues in each state, this helps the team to recognize blockages in each state.
5. Responsiveness to Modification: The Kanban method helps to adopt changes in its development level and supports the team to have continuity of work further. As every work is defined earlier, it is easy for the teams to track, and frequent analysis helps to implement changes in product development.
6. Continuous Delivery: For maintaining quality of work, it’s always recommended to have continuous integration. This is the main concept in Kanban, which helps to deliver product value in time. Bringing innovation to the market and achieving competition in the marketplace is required for a team to be successful. The Kanban methodology allows the team to optimize the flow of work and thus supports the team to deliver product effectively.
The Kanban technique can be implemented in both manual ways and digital form. For a large scale organisation it is always recommended to utilise digital or Online Kanban method. Leankit is one of the online Kanban board which allows the customers to create their own board, keep track of the workflow, prioritise work, prepare reports and much more.
The teams practising Agile, can use Kanban to recognize and make refinement to their existing processes. It is easier to implement Kanban in both experienced Agile teams and in the teams which are just getting started with Agile. By practising Kanban, it makes it much simpler to achieve goals for being more Agile.
Image Courtesy: Leankit.Inc