📖 Scenario: You are managing a small software project and want to organize tasks visually to improve workflow and team communication.
🎯 Goal: Build a simple Kanban board structure that shows tasks in different stages: To Do, In Progress, and Done.
📋 What You'll Learn
Create a dictionary named kanban_board with three keys: 'To Do', 'In Progress', and 'Done'.
Each key should have a list of task names as values.
Create a variable named max_tasks_per_column and set it to 5.
Use a loop to count how many tasks are in each column and store the counts in a dictionary named task_counts.
Add a final step to check if any column exceeds the max_tasks_per_column and create a dictionary named overloaded_columns with column names as keys and boolean values.
💡 Why This Matters
🌍 Real World
Kanban boards help teams visualize work progress and manage tasks efficiently in software projects and other workflows.
💼 Career
Understanding Kanban is useful for project managers, developers, and team members to improve productivity and communication.
Progress0 / 4 steps
1
Create the Kanban board data structure
Create a dictionary called kanban_board with these exact keys and values: 'To Do' with tasks 'Design UI' and 'Write specs', 'In Progress' with tasks 'Develop feature', and 'Done' with tasks 'Setup repo' and 'Initial commit'.
Software Engineering
Hint
Use a dictionary with keys as column names and values as lists of task strings.
2
Set the maximum tasks per column
Create a variable called max_tasks_per_column and set it to the number 5.
Software Engineering
Hint
Just assign the number 5 to the variable max_tasks_per_column.
3
Count tasks in each column
Create a dictionary called task_counts that stores the number of tasks in each column of kanban_board. Use a for loop with variables column and tasks to iterate over kanban_board.items() and set task_counts[column] to the length of tasks.
Software Engineering
Hint
Use a for loop to go through each column and count tasks with len().
4
Identify overloaded columns
Create a dictionary called overloaded_columns that stores true if a column in task_counts has more tasks than max_tasks_per_column, otherwise false. Use a for loop with variables column and count to iterate over task_counts.items() and set overloaded_columns[column] accordingly.
Software Engineering
Hint
Compare each count to max_tasks_per_column and store the result as a boolean.
Practice
(1/5)
1. What is the main purpose of using a Kanban board in software engineering?
easy
A. To replace all meetings with emails
B. To write code faster using automation
C. To visually track and manage work tasks through different stages
D. To create detailed project budgets
Solution
Step 1: Understand Kanban's function
Kanban is designed to help teams see and manage work visually by moving tasks across stages.
Step 2: Identify the correct purpose
Among the options, only visual tracking and managing tasks matches Kanban's main use.
Final Answer:
To visually track and manage work tasks through different stages -> Option C
Quick Check:
Kanban = Visual task management [OK]
Hint: Kanban is about visualizing work stages [OK]
Common Mistakes:
Thinking Kanban automates coding
Confusing Kanban with budgeting tools
Assuming Kanban replaces communication
2. Which of the following is the correct way to represent a Kanban board?
easy
A. A list of tasks without any columns
B. Columns representing stages with cards for tasks
C. A pie chart showing task percentages
D. A text document listing deadlines
Solution
Step 1: Recall Kanban board structure
A Kanban board uses columns to show stages and cards to represent tasks.
Step 2: Match the correct representation
Only Columns representing stages with cards for tasks describes columns with task cards, which is the standard Kanban format.
Final Answer:
Columns representing stages with cards for tasks -> Option B
Quick Check:
Kanban board = Columns + task cards [OK]
Hint: Kanban boards have columns and cards [OK]
Common Mistakes:
Confusing Kanban with charts or lists
Ignoring the column structure
Thinking Kanban is just a text list
3. Consider a Kanban board with columns: To Do, In Progress, and Done. If a task card moves from 'In Progress' to 'Done', what does this indicate?
medium
A. The task has been completed
B. The task is waiting to be started
C. The task is blocked and cannot proceed
D. The task has been started but not finished
Solution
Step 1: Understand column meanings
'In Progress' means work is ongoing; 'Done' means work is finished.
Step 2: Interpret the card movement
Moving a task from 'In Progress' to 'Done' shows the task is completed.
Final Answer:
The task has been completed -> Option A
Quick Check:
Done column = Completed tasks [OK]
Hint: Done means task finished [OK]
Common Mistakes:
Confusing 'Done' with 'To Do'
Assuming 'In Progress' means completed
Thinking 'Done' means blocked
4. A team using Kanban notices that too many tasks are in the 'In Progress' column, causing delays. What is the best way to fix this problem?
medium
A. Add more columns to the board
B. Start all tasks at once to finish faster
C. Remove the 'Done' column
D. Limit the number of tasks allowed in 'In Progress'
Solution
Step 1: Identify the problem
Too many tasks in 'In Progress' cause bottlenecks and slow progress.
Step 2: Apply Kanban principle
Kanban suggests limiting work in progress (WIP) to improve flow and focus.
Final Answer:
Limit the number of tasks allowed in 'In Progress' -> Option D
Quick Check:
WIP limits reduce delays [OK]
Hint: Use WIP limits to avoid overload [OK]
Common Mistakes:
Adding columns doesn't reduce task overload
Removing 'Done' breaks workflow tracking
Starting all tasks at once causes more delays
5. A software team wants to improve their Kanban board to better handle urgent bugs without disrupting ongoing tasks. Which approach best applies Kanban principles to solve this?
hard
A. Create a separate urgent bug column with a strict WIP limit
B. Add urgent bugs to the 'To Do' column without limits
C. Ignore urgent bugs until current tasks finish
D. Move all tasks to 'In Progress' to speed up work
Solution
Step 1: Understand the need for urgent bug handling
Urgent bugs require quick attention but should not block other work.
Step 2: Apply Kanban principles
Creating a separate column with WIP limits allows focus on urgent bugs without disrupting flow.
Step 3: Evaluate other options
Adding bugs without limits or ignoring them breaks Kanban flow; moving all tasks disrupts focus.
Final Answer:
Create a separate urgent bug column with a strict WIP limit -> Option A
Quick Check:
Separate urgent work + WIP limits = better flow [OK]
Hint: Separate urgent tasks with limits to keep flow smooth [OK]
Common Mistakes:
Ignoring urgent bugs delays fixes
Mixing urgent bugs without limits causes overload
Moving all tasks at once reduces focus
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.