Trello vs Jira vs Kanban

Jan.12.2018 | 8m Read | ^DevOps

In the following we shall cover various methodologies, mixes, and tools to increase and focus productivity.

This is the 2nd article covering DevOps tools and methodology integration. See PART 1: Agile vs Scrum vs Lean for a background on methodologies.

Now watch me strum this 'Trello'.

Kanban (Lean):

▼ What is it?

  • ☑⁡⁡ A task board (Kanban Board) scheduling system for Lean, often mix and matching with Agile and Scrum.

    • Agile has an Agile Board, which is similar, but with less columns (no run/clog).
  • ☑⁡⁡ Instead of Sprints for scheduling (timeboxing), the team is limited by cards they must push across the phased columns of the Kanban Board.

    • ◆ Mixing concepts, these cards can represent Sprints and a Backlog in other methodologies.
    • ◆ Rightward momentum or pacing is key (see below).
  • ☑⁡ Literally means 'sign' or 'billboard' in Japanese.

▼ 4 (7 total) Columns:

  • ☑⁡⁡ List (backlog): prioritized tasks as digital cards (or physical sticky notes on a whiteboard).

    • ◆ [!]Big Teams: typically done by upper management.
  • ☑⁡⁡ Sort (Spec): ask the 5 Ws+H What, Where, When, Why, Who + How to breakdown the task amd assign it.

    • ◆ [!]Big Teams: typically done by [product] management.
  • ☑⁡⁡ Fix: is the questioner of the sorted task satisfied (with the fix)?

    • ◆ [!]Big Teams: typically done by the dev team.
  • ☑⁡⁡ Test: passes tests and review.

    • ◆ Trivial Bugs are just fixed.
    • ◆ Complex Bugs become new tasks and are added to the List.
    • ◆ [!]Big Teams: typically done by the test team or DevOps.
  • ☑⁡⁡ Run / Clog: each of the above 3 columns (excluding List) has 2 sub-columns to set the task state.

    • Run: the task is ready and actively being worked on.
    • Clog: the task is clogged and waiting for another task to move out of the way.
  • ☑⁡⁡ End: the final finished and state of a task and the last column.

▼ Pacing:

  • ☑⁡⁡ [Daily] Stand-ups: focuses on IDing issues and unclogging tasks since the updated board has both complete and assigned history.
  • ☑⁡⁡ Assigning: tasks are generally assigned to whoever is available, but are paired with senior/specialized members to review at a later date.
  • ☑⁡⁡ Rate: estimated Time (buffered) / Issues = tasks per day | week | month.
  • ☑⁡⁡ Max: the Max (# of tasks) in the Run and Clog columns for each section (WIP Limit).

    • Fix limit is 100-50% of the all team members (or in big groups, all groups).
    • Sort & Test are roughly 50% of Fix's limit.
  • ☑⁡⁡ Deadlines: estimate tasks number, estimate rate, compare calendar date.

    • Evidence Boarding: use the board as a visual and technical story for arbitrating task priority and insertion (especially to ignorant 3rd parties).
  • ☑⁡⁡ Need (Dependency Requirement): tasks that depend on another (that is often lagging).

    • ◆ Assign to a person or team in a new bonus Fix column called Need (ignoring the Max).
    • ◆ Make it a priority to remove the Need and the column, ie, use swarming.
  • ☑⁡⁡ Swarming: when tasks lag and get stuck, other team members (especially further down the pipeline) become idle and can be reallocated to attack the Clog or Need task.

▼ Evolving Methodologies:

  • ☑⁡⁡ Waterfall: you're now tracking work on a board and batching into tasks.
  • ☑⁡⁡ Scrum: add Max limits and make sure to reference the Kanban Board -- prune Scrum excesses over time.
  • ☑⁡⁡ XP: like Waterfall add a Kanban Board, but XP is now picked from like a salad bar as needed.

Tools:

▼ Trello vs Jira:

  • ☑⁡⁡ Web methodology management.
  • ☑⁡⁡ Both have an online task board.
  • ☑⁡⁡ Both integrate with GitHub or Bitbucket for team version control.
  • ☑⁡ Jira has support for insight reports.
  • ☑⁡ Trello has Sprint Retrospectives, meetings, and brainstorming.

MD Kanban Example:

_^_LIST__ _______?__SORT_________ _______=__FIX__________ _______%__TEST_________
__MAX:___ 2 4 2 / ∞
_STATE:__ _+_Run___ _]_Clog__ _+_Run___ _]_Clog__ _+_Run___ _#_End___
Task023 Task022 Task021 Task018 Task013 Task005
Task024 Task014 Task016 Task017
Task025 Task019 Task020
Task026 Task006
Task027 Task011
Task028 Task007
Task029 Task015
Task030 Task009
Task031
Task032
Task033
Task034
Task035

MD Kanban Template:

_^_LIST__ _______?__SORT_________ _______=__FIX__________ _______%__TEST_________
__MAX:___ 2 4 2 / ∞
_STATE:__ _+_Run___ _]_Clog__ _+_Run___ _]_Clog__ _+_Run___ _#_End___
Task000
Task001
Task002
Task003
Task004
Task005
Task006
Task007
Task008
Task009
Task010
Task011
Task012

▼ MD Kanban Code:

| `_^_LIST__` | `_______?__SORT_________` | `_______=__FIX__________` | `_______%__TEST_________` |
| :---------: | :-----------------------: | :-----------------------: | :-----------------------: |
|             |                           |                           |                           |
| `__MAX:___` |             2             |             4             |           2 / ∞           |
|             |                           |                           |                           |

| `_STATE:__` | `_+_Run___` | `_]_Clog__` | `_+_Run___` | `_]_Clog__` | `_+_Run___` | `_#_End___` |
| :---------: | :---------: | :---------: | :---------: | :---------: | :---------: | :---------: |
|             |             |             |             |             |             |             |
|   Task000   |             |             |             |             |             |             |
|   Task001   |             |             |             |             |             |             |
|   Task002   |             |             |             |             |             |             |
|   Task003   |             |             |             |             |             |             |
|   Task004   |             |             |             |             |             |             |
|   Task005   |             |             |             |             |             |             |
|   Task006   |             |             |             |             |             |             |
|   Task007   |             |             |             |             |             |             |
|   Task008   |             |             |             |             |             |             |
|   Task009   |             |             |             |             |             |             |
|   Task010   |             |             |             |             |             |             |
|   Task011   |             |             |             |             |             |             |
|   Task012   |             |             |             |             |             |             |
|             |             |             |             |             |             |             |

When & What to Use?

  • ☑⁡⁡ Fallback on Waterfall or better, a simple list (3 columns: list, run, and end) if the team is tiny (1-3 people) and there is no management, remote members, intelligence gaps, and task visualization.
  • ☑⁡⁡ Local teams should use a physical Kanban Board.
  • ☑⁡⁡ Remote members Needuire a remote board (ie, Jira or Trello).
  • ☑⁡⁡ Evaluate the limitations and overall UX of the software and physical materials.
  • ☑⁡⁡ List what XP Rules and techniques you will follow before starting.
  • ☑⁡⁡ During a progress evaluation phase (ie, a Sprint Retrospect) consider looking into and applying Lean principles and tinkering with XP rules.
  • ☑⁡⁡ Add Scrum if you have enough people to fill the roles and need more team structure and unity.

       : NEWS