Kanban overview in Software Engineering - Time & Space Complexity
When using Kanban to manage work, it's important to understand how the flow of tasks affects the time it takes to complete them.
We want to see how the number of tasks impacts the time needed to finish all work.
Analyze the time complexity of processing tasks in a Kanban board with a simple workflow.
// Pseudocode for processing tasks in Kanban
for each task in ToDoList:
move task to InProgress
work on task
move task to Done
This code moves each task through the stages of the Kanban board one by one until all are done.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Looping through each task in the list.
- How many times: Once for every task in the ToDoList.
As the number of tasks grows, the time to process all tasks grows in a straight line.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 task moves and works |
| 100 | 100 task moves and works |
| 1000 | 1000 task moves and works |
Pattern observation: Doubling tasks roughly doubles the work time.
Time Complexity: O(n)
This means the time to finish all tasks grows directly with the number of tasks.
[X] Wrong: "Adding more tasks won't affect how long it takes to finish all work."
[OK] Correct: Each task needs attention, so more tasks mean more total work and time.
Understanding how task numbers affect completion time helps you explain workflow efficiency clearly in real projects.
"What if tasks could be worked on in parallel? How would the time complexity change?"