Skip to content
Object Oriented Analysis & Design with UML
  • Pages
    • Course Resources
      • How to Draw UML Diagrams
      • Agile Learning
      • Full Overview of UML
        • Overview of UML Software Architecture
        • Building Blocks of UML
        • Structural Modeling
        • UML - Architecture
        • UML - Basic Notations
        • UML - Standard Diagrams
        • UML - Class Diagram
        • UML - Object Diagrams
        • UML - Component Diagrams
        • UML - Deployment Diagrams
        • UML - Use Case Diagrams
        • UML - Interaction Diagrams
        • UML - Statechart Diagrams
        • UML - Activity Diagrams
        • UML - Quick Guide
        • Lucid Chart
      • Further Help with the Assignment
        • 000
        • 001
        • 002
        • 004
        • 003
        • 005
        • 006
        • 007
        • 008
        • 009
      • Design Patterns Reference
      • How to Sign up and use LinkedIn learning
      • Structure
        • Weekly Structure
          • 15
          • 9
          • 5
          • 3
          • 8
          • 7
          • 12
          • 1
          • 6
          • 14
          • 2
          • 10
          • 11
          • 13
          • 16- Assessment
          • 4
    • Contact Details
    • MODULE HANDBOOK
    • Assignment
    • Week 01- SDLC Methods: Principles of Object Orientated Thinking
    • Week 02- FURBS+ A.P.I.E Requirements Gathering Techniques
    • Week 03-Practical Application of UML Diagramming with Video Tutorials Part-01
      • Tutorial
    • Week 04-How to Create a Sequence, Activity, Class Diagram:
    • Week 05-Unified Software Development Process USDP
    • Week 06-Requirements & What is Agile
    • Week 07-User Stories in Agile
    • Week 08-User Mapping
    • Week 09 Intro to Design Patterns
    • Week 10 Model View Controller Design Patterns
    • Week 11 What is an API?
    • Week 12 Task Presentations
    • Week 13 Feedback from Presentations
    • Week 14 More Design Patterns Assignment Work
    • Week 15 Assignment Work
    • Week 16- In Class Exam 2 Hours
    • Full Overview of UML
      • Introduction to UML
      • Building Blocks of UML
      • UML - Architecture
      • Structural Modeling
      • UML - Standard Diagrams
      • UML - Basic Notations
      • UML - Class Diagram
      • UML - Object Diagrams
      • UML - Component Diagrams
      • UML - Deployment Diagrams
      • UML - Use Case Diagrams
      • UML - Interaction Diagrams
      • UML - Statechart Diagrams
      • UML - Activity Diagrams
      • UML - Quick Guide
    • Learn Agile & Scrum
      • 01-Discover the Waterfall and Iterative Approaches to Software Development
      • 02-Learn Agile Principles and Discover the Agile Manifesto
      • 03-Discover Three Different Types of Agile Project Management Frameworks
      • 04-Master the Fundamentals of Kanban
      • 05-Get Some Practice by Creating a Kanban Board Using Trello
      • 06-Principles of Agile Development Quiz
      • 07-Discover the Theory and Values Behind the Scrum Framework
      • 08-Identify the Members of the Scrum Team
      • 09-Learn the Events of the Scrum Framework
      • 10-Learn About Scrum Artifacts
      • 11-The Scrum Framework Quiz
      • 12-Write Effective User Stories
      • 13-Write Acceptance Tests
      • 14-Create a Definition of Done
      • 15-Get Started With Scrum in Your Organization
    • Assignment Brief 2022

04-Master the Fundamentals of Kanban

Master the Fundamentals of Kanban

As you saw in the previous chapter, Kanban is a methodology that improves output by reducing flow through a system. Typically, the output increases when fewer items are worked on simultaneously, although the right amount of work in progress (WIP) will vary for each team and system. Kanban helps you find the right workflow and WIP limits by giving you data to influence your system design.
Kanban limits WIP and uses a highly visual board to allow team members to observe how items move through their workflow. This method has become popular over the last decade or so, although it originates in the 1950s. The modern use of Kanban in technology started around 2004.
Although much of the remainder of this course will cover the Scrum framework, it is valuable to look at Kanban and understand the differences between it and Scrum.

Discover The Toyota Story

image.jpeg
Toyota is known for their just-in-time low-waste production methods
In the 1940s, Toyota researched improving their factory and found inspiration from an unlikely source: supermarkets!
In a supermarket, customers take a product from the shelves and buy it when they need it (not before and not after). When an item is almost out of stock, the supermarket employees order more. This is a "just-in-time" way of keeping the right amount of products on the shelves. Rather than ordering a large quantity of one particular product, supermarkets tend to order smaller amounts and reorder when stocks are low. Thus, Kanban reduces waste and inefficiency by not having too much product.
Toyota engineers applied a visual management system by using cards on a bulletin board to show the steps in their manufacturing process. Because the system was displayed visually, the engineers could communicate more effectively on what work needed to be done and when. With the goal of reducing waste (in this case, items of partially completed inventory in the system waiting to move down the production line), the engineers would plan their work, so each step of production was applied just-in-time for each item in the factory.
Around 2003, people such as Mary and Tom Poppendieck, David Anderson, Jim Benson, and others began publishing books about applying lean principles based on the Toyota system to other fields, including software development. This created a modern application of Kanban in the software development field. Today, many different frameworks based on Kanban principles have similar but different components and definitions.

Identify the Key Elements of Kanban

There are six key elements in Kanban:
Limit work in progress Rather than working on 20 features at the same time, it is better to focus on starting, finishing, and releasing a smaller number (say five). With fewer items, you spend less time producing them. You can finish quicker than when you focus on a large number of items simultaneously. The time from beginning a feature, or a task, to its completion, is reduced and customers see value sooner.
Manage flow Flow is the concept of moving items quickly through the system. Teams manage their flow by tracking how long an item spends in each possible status (how long it is waiting to be tested, how long before someone starts work on it, etc.). Reducing these times becomes a team goal.
Feedback loops - Taking time to reflect on what is working and considering improvements is vital in Kanban.
Improve/evolve - Continuous improvement is a core concept in Kanban. A culture of running experiments and trying to improve and evolve is essential.
Visualize The team is empowered to make effective decisions when the work is visible using a board that shows the status, bottlenecks, and system limits.
Explicit policies - You can't improve something that you don't understand. Any policy that relates to status updates enables the team to effectively decide if a given task is suitable to be worked on and when the status has changed.
Below is a visualized image of the Kanban framework. Note that all of the individual elements must be taken into account to achieve the centralized goal.
image.jpeg

Kanban elements

Later in this course, we will look at a definition of done (DoD), an artifact in Scrum that defines the standards, especially those around quality. The Scrum Team uses it to describe the state of the increment to raise the transparency of work to be released to customers. The DoD is an example of an explicit policy.

Use a Kanban Board

Perhaps the most important factor in Kanban's effectiveness is that all work items and their statuses are shown on a board.
Kanban is a Japanese word that means billboard or signboard.
You can check the status of an item by seeing which column it's in. Teams decide which columns make sense for their workflow. Therefore, a Kanban board can vary from team to team.
When the status of an item changes, a team member will move it into another column. For example, if you decided to work on an item called "New login button," then you would move its card from the "To-Do" column to the "In Progress" column.
At the very least, you can expect a column/status for:
Tasks "To-Do" (i.e., not started)
Tasks "In Progress"
Tasks that are "Ready to Test"
Tasks that are "Done"
image.jpeg
A Kanban board
Note that limits are shown in red circles above certain columns. For example, a 3 above the To- Do column indicates that only three items can be in that particular section at one time. The In Progress column is limited to two items.
You may be thinking to yourself: "Surely output will suffer, and the team will deliver less if there are only two items in progress at one time compared to a 10-item limit." Sometimes a team member may want to pick up another item and not be able to. However, rather than slowing the team down, this team member could ask, "How can I help with completing this item?" They also may look to move an item somewhere else on the board (e.g., instead of moving an item from To-Do into In Progress, perhaps that same team member can test a ready item and hopefully move it from Test into Done). Every team member should be actively trying to help work flow through the system. This means that they are focused on moving items across the board from left (Not Started) to right (Done).

Craft your Personal Kanban Boards

Another application of Kanban is to manage your personal to-do list.
To-do lists are a set of tasks with different statuses (those you have to do, those you are currently working on, and those that are completed).
I use Trello to manage my list of personal tasks. To give you an idea of what that looks like, you can see an example in the screenshot below.
image.jpeg
A personal Kanban board (created in Trello)
Trello is a communication tool that organizes projects into boards. The benefit of working this way is that you can see at a glance what is being worked on by whom.
A Trello board is a list of lists - where each list contains a set of items (called cards). This YouTube explains the functionality of Trello and its benefits .
Trello allows you to create lists that appear horizontally from left to right. Adding new cards is like adding items. New cards appear vertically, one beneath another from top to bottom.
Lists often represent status and are updated by dragging an individual card from one to another. For example, imagine if you had a to-do list, items that were in progress, and a list of items that were done. In Trello, you would drag a given card from the In Progress to the Done list to indicate the change in status for this work item.
The below diagram is simple visualization of the process. Each tile labeled CARD can potentially be moved either left or right to suit your project.
image.png
The structure of Trello
Author Jim Benson has written a
on personal Kanban. The nice thing about having one is that it allows you to start applying Kanban principles in a helpful way. The following link will illustrate these principles so you can apply them within a professional situation.
Additional Resources The following two links provide you with books and resources that you will be required to create an account and/or purchase the digital downloads. • Visit Julia Wester's on Prezi. • Download the Essential Kanban Condensed
. • This article will enable you to investigate the key aspects of Kanban and how to apply it to your daily job. Here is a to personal Kanban on Life Hacker.

Let’s Recap!

Kanban is a framework or strategy that optimizes the flow of value through a system. Optimization may be defined as a workflow that is effective, efficient, and predictable. One way it does this is by limiting the amount of WIP for the system, which creates a pull model.
Kanban has six key elements:
Limit work in progress
Manage flow
Feedback loops
Improve/evolve
Visualize
Explicit policies
The Kanban board is important to visualize work status and understand what work to prioritize next. Let's get some practice using Kanban in the next chapter!
 
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.