The Milestone-Kanban Schedule (MKS) is a hybrid project scheduling and management technique that combines traditional and Agile best practices. The technique is well-suited for projects where the required deliverables are clear but the time and effort needed to create them are not. It embraces iterative planning, uses milestones to establish a project roadmap, a Kanban board to manage the work, and stand-up meetings to track progress.
Traditional project management techniques use work breakdown structures (WBS), Gantt charts, and the critical path method to create the schedule. The underlying assumption that the work is well-defined and the required effort can be easily estimated is a shortcoming of these approaches. Monitoring and reporting processes are complicated and become lagging indicators.
Agile projects use iterative and incremental delivery, which enables flexibility. However, they do not require (but may use) a roadmap to communicate and set expectations for future work. Teams use easily accessible visual reporting tools and update their status daily, which promotes transparency.
Milestone-Kanban bridges these practices to create a robust, lightweight, and flexible framework for planning many types of projects and managing their performance. The technique uses a simple five-step process to create and maintain the project schedule:
- Step 1: Define the Deliverables
- Step 2: Create a Roadmap
- Step 3: Build the Kanban
- Step 4: Monitor Progress
- Step 5: Plan Iteratively
Step 1: Define the deliverables
Traditional project management practices start with defining the scope of work. In other words, what needs to be delivered? Defining the scope and deliverables establishes specific and measurable performance expectations.
Step 1a: Collect requirements
A good first step on any project is identifying the stakeholders and understanding their needs. This is an iterative process where high-level needs are initially elaborated, and more detailed requirements are defined later. Requirements can be collected through brainstorming sessions, focus groups, surveys, observation, and analysis of regulations and standards. Requirements can be memorialized in a document, spreadsheet, post-it notes, or an application lifecycle management (ALM) tool.
Step 1b: Define the scope
After initial requirements have been collected, the next step is to define the scope—what will be delivered by the team. Listing the in- versus out-of-scope items creates clarity. Often there are border items that may be needed but are not part of this project. For example, training may be needed but will be provided by another team.
Step 1c: Define deliverables
The project deliverables can be identified after the scope has been set. Deliverables are tangible or intangible outputs (nouns) that support an internal project need or external customer requirement. For example, the project scope is an intangible, internal deliverable; a prototype is a tangible, external deliverable.
Traditionally, a work breakdown structure (WBS) is used to decompose the project work and is represented in a hierarchy chart or outline format. The lowest level of detail in the WBS is the work package. Work packages are small enough to be estimated and assigned. Planning packages are larger items that will be decomposed into work packages later.
Step 2: Create a roadmap
Traditional project schedules use milestones to mark the planned completion of a significant project event. Agile teams often create roadmaps to outline a similar high-level plan.
MKS creates a roadmap depicting major milestones and deliverables with their estimated completion dates. These dates may be external requirements or based on high-level duration estimates. The milestones will be progressively elaborated with greater date-specificity for upcoming work. Months or quarters can be used for distant milestones or where additional information is needed.
The roadmap can be communicated using a variety of tools and formats, such as post-it notes on the wall or in a virtual tool, a spreadsheet, a presentation, or a project scheduling tool. Lines can be added to portray interdependencies. Visual cues such as color-coding and swim lanes can be used to organize the milestones and deliverables by the owner, workstream, product, etc. Due dates, owners, and other information can also be included.
Step 3: Build the Kanban board
Kanban is a lean inventory management tool originally developed by Toyota and broadly adopted by most Agile teams. Kanban allows teams to visualize work.
Step 3a: Identify tasks
Start by identifying the activities or tasks required to create the upcoming deliverables. The level of detail will depend on the project size, complexity, and team maturity. Some tasks may have mandatory predecessors that need to be acknowledged.
Step 3b: Build the Kanban board
The Kanban board is a visual management tool to track the flow of project work that can be used to track deliverables and tasks. The columns generally represent process steps. The most basic board has three columns: Backlog, Doing, and Done. The Backlog column is the prioritized list of upcoming work. The Doing column is the activities currently in process. The Done column is the items that are complete.
Kanban is a very flexible tool and can be customized to fit the project’s specific needs. The Doing column can be decomposed into multiple process steps. Task cards can be color coded to identify assignments or deliverables. Rows can be used to group work and tasks.
Step 3c: Mature the practice
More advanced practices can be adopted to improve performance. Limiting the number of work-in-process items and pulling work reduces multi-tasking and increases productivity. Defining quality expectations through a definition of done decreases rework.
Step 4: Monitor progress
The Kanban board and the stand-up meeting are effective, core Agile practices for monitoring and tracking progress. The practices also promote transparency, accountability, and collaboration.
The stand-up is a 15-minute, time-boxed meeting where the team reviews its progress. The meeting is held around the Kanban board. Each team member answers three questions:
• What have you completed since the last meeting?
• What are you working on today?
• Are there any blockers or impediments to your progress?
Tracking completed work allows for efficient handoffs, creates accountability, and avoids confusing effort with achievement. Discussing upcoming work promotes collaboration and allows the team to align priorities. Addressing impediments allows problems to be solved quickly.
Step 5: Plan iteratively
Both traditional and Agile project management recognize the importance of regularly updating and maintaining the project schedule. Traditional practices refer to iterative planning and progressive elaboration. Agile recognizes that plans need to respond to change. MKS embraces both practices.
Iterative planning can be conducted at two levels. First, future deliverables and milestones are decomposed into smaller and more well-understood components. Second, the tasks required to create the deliverables should be identified, reviewed, and elaborated.
Milestone and deliverable planning should occur at least monthly, and the planning horizon should include the next 1-3 months. Task planning should occur weekly and should plan about a month into the future.
About the Author
This is an Agile Alliance community blog post. Opinions represented are personal and belong solely to the author. They do not represent opinion or policy of Agile Alliance.