In the following we shall cover various methodologies, mixed approaches, and tools to increase or focus productivity.
This is the second article covering DevOps tools and methodology integration. See PART 1: Agile vs Scrum vs Lean for a background on methodologies.
Kanban (Lean):
▼ What is it?
☑ A task board (Kanban Board) scheduling system for Lean, often mixing with Agile and Scrum features. NOTE: the particular Kanaban board and methodology in this article are based off of X-box teams at Microsoft and various other sources.
◆ Agile has an Agile Board, which is similar, but with fewer columns (no Run or Clog states).
☑ 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 Columns (7 with sub-columns):
☑ List (backlog): prioritized tasks as digital cards (or physical sticky notes on a whiteboard).
◆ Big Teams: typically done by upper management.
☑ Sort (Spec): breakdown the task and assign it by asking the 5 Ws + H (Who, What, Where, When, Why, and How).
◆ Big Teams: typically done by management (product).
☑ 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 and Clog: each of the above three columns (excluding List) has two 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 end state of a task (the last column).
▼ Pacing:
☑ Stand-ups (daily): 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 or specialized members to review at a later date.
☑ Rate: estimated Time (buffered) / Issues = tasks per day, week, or month (or estimated time divided by issues equals tasks per day, week, or month depending on the total time).
☑ Max: the Max (number 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, 100-50% of all groups).
◆ Evidence Boarding: use the board as a visual and technical story for arbitrating task priority and insertion (especially to ignorant third 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 (like 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, but 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.
☑ Fallback on Waterfall or better, a simple list (3 columns: list, run, and end). This may prove acceptable if the team is tiny (1-3 people) and there is no remote members or intelligence gaps.
☑ Local teams should use a physical Kanban Board.
☑ Remote members need a remote board (like Jira or Trello)
☑ Jira by Atlassian.com ↗ provides git and code management features.
☑ 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 (like 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.