With IT systems becoming a major competitive factor in a many domains, We have IT projects which are getting larger and complex by the day, directly or indirectly affecting more and more parts of the organization, the demand is to complete this projects at a much faster pace than earlier, so if something does go wrong this ends up posing a major risk to the company. With evolving technologies in the software industry it is vital to maintain a managing methodology that enables you to deliver products on time and with high quality.
What is Kanban?
Kanban is a set of tools you can use to become more agile i.e. improve the functioning of a project based on an Agile methodology. Kanban is a methodology for managing work by concentrating on delivery while not over stressing the team members with a lot of work at any given point of time. This approach allows all participants to have a complete view of the process right from the creation of tasks to the final delivery of a product to a customer.
Kanban is less structured than Scrum. Itâ€™s not a process framework at all, it introduces change through incremental improvements. Kanban makes use of a Kanban board to represent the work and workflow. The Kanban board has columns representing states/activities involved in the development of an application/software, for instance the different states can be Analysis, Development, Testing, Deployment etc.
How does Kanban improve agile?
An important element of the Kanban methodology is WIP (Work in progress limit) limit. The WIP limit defines the number of work items are allowed to be in a certain state at any given point in time. If a state reaches its defined WIP limit, no new work items can be added to that state. The whole team has to help clear the filled up state first. The WIP limit allows to track work items trapped in a particular state as they will build highly visible clusters on the Kanban board, therefore allowing the team to focus and clear items in the state first before pulling in other tasks.
The Kanban method does not prescribe a certain setup or procedure. Kanban can be implemented on top of an existing workflow or process to bring issues to light to introduce positive change over time. This makes it easy to implement Kanban because it does not call for major changes to the existing way in which projects are being run.
Where do we start to work with Kanban?
There are a few core properties which can help implement Kanban smoothly
- Visualize and decide the workflow: Kanban helps optimize the flow of work through the system, to do that we need to understand the existing workflow to aspire to improve it by making the necessary adjustments.
- Visualize your incoming work requests: Any project plan that has been defined can be disrupted if the forecasting of future incoming/adhoc requests is not properly done. It is also important to categorize these requests on the basis of priority and impact before stacking them on the Kanban board
- Limit WIP: The critical factor in Kanban is that WIP tasks in each state in the workflow is limited by a defined capacity and that new work can be pulled only when there is available capacity in accordance with the local WIP limit. Thus a properly defined WIP limit can work wonders in making Kanban to work for a project.
- Regular feedback loops: Regardless of the models you use, you need to have regular feedback as it is crucial to success. This feedback isnâ€™t limited to responses from people. This can include analyzing adherence to the checkpoints, involving the team for comments and suggestions, etc.
To sum it all up, If you are not continually improving, but are conforming to the other parts defined by Kanban, you are missing the point. It is a little like the concept of following an Agile methodology but not being agile.