How to Manage an Agile/Kanban Software Project Using EVM



Similar documents
Agile and lean methods for managing application development process

Kanban For Software Engineering

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

WHY KANBAN? Troy Tuttle. blog.troytuttle.com. twitter.com/troytuttle. linkedin.com/in/troytuttle. Project Lead Consultant, AdventureTech

Software Engineering I (02161)

Agile and lean methods for managing application development process

Scrum vs. Kanban vs. Scrumban

(Refer Slide Time: 01:52)

Lean Metrics How to measure and improve the flow of work. Chris Hefley, CEO of LeanKit. November 5 th, 2014

What is meant by the term, Lean Software Development? November 2014

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Software Development Process

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

White paper: Scrum-ban for Project Management

Agile in a Safety Critical world

BCS Foundation Certificate in Agile Syllabus

Using a Lean and Kanban Approach in Agile Development. Jeff Patton AgileProductDesign.com jpatton@acm.org

Optimizing release planning under Scrum in complex multi-team software projects. Case: Nokia Siemens Networks

State of Medical Device Development State of Medical Device Development seapine.com 1

An Introduction to Kanban for Scrum Users. Stephen Forte Chief Strategy Officer,

Agile Projects 7. Agile Project Management 21

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

Measuring the Flow in Lean Software Development

How To Understand The Limitations Of An Agile Software Development

Emergence of Agile Methodologies: Perceptions from Software Practitioners in Sri Lanka"

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results

COMP 354 Introduction to Software Engineering

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Agile Extension to the BABOK Guide

Project Management in Software: Origin of Agile

Why Agile Works: Economics, Psychology, and #PrDC16

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

Kanban. A Toyota s manufacturing system for Software Development CERN EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH. Eloy Reguero Fuentes

Development. Lecture 3

PPM and Agile: Realizing the Best of Both Worlds

Lean and Agile Development With Scrum (Part 2) Lucio Davide Spano

Agile and Secure: Can We Be Both?

Brillig Systems Making Projects Successful

Earned Value and Agile Reporting

Getting Started with Kanban Paul Klipp

Software Engineering

Are waterfall and agile project management techniques mutually exclusive? by Eve Mitchell, PwC. 22 MARCH

VISUAL REQUIREMENTS MANAGEMENT WITH KANBAN. Mahesh Singh Co-founder/ Sr. VP Product, Digite, Inc.

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

Agile Software Development

Introduction to Software Kanban

OpenERP evaluation with SAP as reference. Learn by discovering where the challenger meets the leader.

ITSM Agile Intro Feb 5, 2015

How To Plan A Project

Secrets of a Scrum Master: Agile Practices for the Service Desk

ADOPTION OF AGILE SOFTWARE DEVELOPMENT IN VIETNAM

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Agile Project Management Controls

Agile project portfolio manageme nt

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Web Application Development Process

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

Agile Certification: PMI-ACP

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

The following criteria have been used to assess each of the options to ensure consistency and clarity:

LEAN AGILE POCKET GUIDE

Human Aspects of Software Engineering: The Case of Extreme Programming

Ensuring Governance in an Agile World

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

Agile Framework for Globally Distributed Development Environment (The DAD Model)

Software Development Process Selection Approaches

Is Calculating ROI Meaningful for Agile Projects? December 2014

The 3C Approach for Agile Scrum Software Methodology Jisha Johns, Akhil P Sivan, Prof. K Balachandran, Prof. B R Prathap

Software Development with Agile Methods

How to Use EVM to Maintain Quality in an Agile Environment. A National Asset for National Missions 1

Lean Software Development and Kanban

Investor Presentation Q1 2014

Computer Science Department CS 470 Fall I

Version Control Systems: SVN and GIT. How do VCS support SW development teams?

The style is: a statement or question followed by four options. In each case only one option is correct.

Software Quality and Agile Methods

AGILE vs. WATERFALL METHODOLOGIES

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS

How to manage agile development? Rose Pruyne Jack Reed

Course Title: Planning and Managing Agile Projects

Bridging the Gap: Traditional to Agile Project Management. I. S. Parente 1. Susan Parente, PMP, PMI ACP, CISSP, PMI RMP, ITIL, MSEM;

Transitioning from Waterfall to Agile Course AG01; 3 Days, Instructor-led

Lean and Agile in Safety-critical Software Development Research and Practice. Henrik Jonsson

A SYSTEMATIC LITERATURE REVIEW ON AGILE PROJECT MANAGEMENT

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations

Transcription:

How to Manage an Agile/Kanban Software Project Using EVM Nir Cohen Amdocs Ra anana, Israel Abstract This article describes a method of using Earned Value Management (EVM) tools to plan and monitor an agile project implemented by Kanban methodology. According to our approach, at specific points in time, in order to monitor and manage the project s progress, the project manager calculates an overall current "value" for the project, determined according to the current status of the various tasks. To evaluate the project's progress at the specific point in time, the manager calculates a schedule performance index, which is the ratio of the project's actual value to a planned value that the manager has determined in advance. Keywords- Project Management, Agile, Software project Introduction (Heading 1) I. INTRODUCTION AND BACKGROUND To succeed with agile, management s need for results must be greater than their need for control. Israel Gat, formerly of BMC Software Agile project management methodology provides team leaders and project managers with tools for effectively focusing on task completion and results. In contrast to traditional management paradigms, which focus on delivering products that satisfy requirements, in agile projects requirements are continually refined and re-planned on the basis of ongoing business feedback. Accordingly, agile methodologies tend not to include many of the metrics and reports that are commonly used in traditional management practices such as the waterfall method. This means that in many cases agile project management tools (depending on how they are implemented) lack the ability to provide managers with answers to basic questions such as, Are we on track? or Which direction are we moving in? Thus, managers who implement agile methodology frequently encounter the dilemma of how to monitor and control the processes they are managing. This article objective is to provide a project management approach that enables managers to overcome this challenge. The method proposed herein applies to projects that are managed through Kanban, a popular project management framework for agile projects. Kanban is a visual system in which the various tasks composing a project are displayed as cards on a board. The flow is separated into different stages, represented as "lanes" on the Kanban board, and cards are moved from lane to lane as they progress through different stages (see example in Figure 1). Amir Elalouf Department of Management, Bar Ilan University Ramat Gan, Israel amir.elalouf {at} biu.ac.il In line with the fundamental premises of the agile approach (see below), the Agile Kanban management framework typically focuses less on management tools and documentation. The Agile Manifesto is emphasizing - Individuals and Interactions over Processes and tools and also Working Software over Comprehensive Documents. While there is value in the items on the right (e.g. Business Requirements), we value the items on the left more (e.g. Completed Tasks) Beck, Kent (Manifesto for Agile Software Development). The main measures used in Kanban are cycle time and flow measurements. Particularly for projects that are already running and have historical data, more tools and methods are available for monitoring progress. For example CFD - Cumulative Flow Diagram. The tool can give the manager an idea of the pace at which tasks are "closed" (i.e. finished the last step), a prediction of the gap between planned outcomes and actual outcomes if the current pace continues, the completion pace that is needed in order to complete all tasks on time, and the delta between the current pace and the required pace. Example for a CFD graph is shown in Figure 5. Because these monitoring methods only measure the speed of delivery, not the project s cost or the business value it generates, many project managers are resistant to implementing Agile Kanban. This paper proposes incorporating Earned Value Management (EVM) tools to handle the challenge of monitoring a project's progress. A case study shows how a software company implemented this approach. II. LITERATURE REVIEW In February of 2001, the Agile Manifesto (http://agilemanifesto.org/) was composed at a summit of 17 practitioners of several programming methodologies, who sought to uncover "better ways of developing software". The participants reached a consensus around four main values: (i) Individuals and interactions over processes and tools; (ii) Working software over comprehensive documentation; (iii) Customer collaboration over contract negotiation; and (iv) Responding to change over following a plan. The motivation for the monitoring tool proposed herein stems from the inherent conflict between the Agile Manifesto - a methodology that diminishes the importance of following a www.ijcit.com 1

plan - and the need to monitor and control projects. Indeed, Chow and Cao [1] carried out a survey to identify success factors in agile projects, evaluating projects according to four project success categories: Quality, Scope, Time, and Cost. They found that the need for a strong project management process with a good progress tracking mechanism is still a key factor in the success of an agile project. A case study of a nine-person software development team working for BBC Worldwide [2] showed how the use of Lean or Agile methods (that are both considered as non-traditional methods), including visual management, team-based problem solving, and smaller batch sizes, can improve software development. In particular, the study pointed to the use of a statistical control approach as a factor in the success of the software development process. Many agile implementation methods adopt statistical methods to measure the lead time of tasks from the design phase until the completion phase. However, such statistical methods can only be implemented in later stages of the project, after data have accumulated. Likewise, in a discussion of the metrics and reporting mechanisms that are applicable in a Kanban context, Anderson [3] recommends the use of cumulative flow diagrams (see case study below for an example of such a diagram), which are also applicable only when substantial quantities of statistical data are available. The current paper proposes the EVM technique as an alternative to statistical control processes (see [4] for a description of how to use EVM to track the progress of software projects). EVM (Earned Value Management) is a project management technique for measuring project performance and progress. EVM enables projects to be monitored even in the early stages, before statistical data are available. The compromise is that we are not following the Agile methodology that focuses on the flow with minimal planning but having a phase of progress simulation in order not to have a project that cannot be monitored at all. III. MAIN METHODOLOGY The below How To manual describes a method of planning and managing an Agile project-specifically, a project that uses the Kanban methodology-using EVM tools. Briefly, according to this approach, at specific points in time, in order to monitor the Project s progress, the project manager calculates an overall current "value" for the project, determined according to the current status of the various tasks. Specifically, each project stage (lane) represented on the Kanban board is assigned a value factor, and this factor is multiplied by the number of tasks (cards) in that stage. The obtained values are summed up across lanes. To evaluate the progress of the project, the manager compares the current value of the project against a Planned Predicted Value that he or she has determined in advance. A. Advantages Continue to work under an Agile paradigm; no need to plan the due date of each specific task in advance and be forced to complete the task according to the predefined estimated time to complete. Prediction based on value earned following the flow of as cards as they move ahead in the project lifecycle. Not limited to Kanban boards with agile card flow - can be used for waterfall or hybrid approaches as well. B. Steps Easily provides answers to the basic questions that each manager/team leader must ask: Are we on track? and What is the direction of our progress? Planned value can be manually adjusted based on project resource allocation and/or other factors such as new project needs or changes in circumstances. Can be applied to tasks, projects and releases of any size. 1) Set Up: The precondition of this monitoring tool is an implementation of a Kanban Agile Methodology. Preconditions: a. Implementing a Kanban board (Figure 1). b. Defining all Kanban entities: lanes, policies, cards, WIP (work in progress) Limits. c. Each card should include an estimation of the amount of work involved, quantified according to previously agreed-upon terms (e.g., man days/hours/man weeks, etc.). It is recommended that the project tasks should be broken down such that the cards represent tasks of similar size. d. Determining the Planned Predicted Value for each lane in the Kanban board. 2) Defining the strategy Defining the strategy by which the earned value will be calculated over the course of the project life cycle. This can be done according to historic measurements, management decisions, or simulation of week by week predictions. 3) Calculating the SPI Calculating a schedule performance index (SPI) for each evaluation point. SPI is calculated as the ratio between the project's actual earned value at the evaluation point and its planned value for that point. 4) Simulation Simulation Checking how unpredicted changes in workload or added/removed tasks impact the plan. Trying to predict how much capacity the project has to deal with such unpredicted changes. 5) Monitoring www.ijcit.com 533

6) Dealing with changes (more work added to the project). IV. CASE STUDY The Kanban Agile methodology was implemented in a software company whose main business is developing software for the telecommunications industry. The project we focus on was undertaken by the company's European division to address the needs of a western European client that owned the number one mobile company and the largest 4G network in its country. The project was planned to take place over the course of 9 weeks. This project implemented a Kanban management strategy in order to handle ongoing changes required by the customer and a demand for shorter cycle times. These types of changes reflect a global trend of fast business changes that are driven by rapid advancements in technology and fierce competition. The following project goals were defined in accordance with the Kanban system: a) Visualize - Make the different tasks more visible to managers and teams. b) Manage the Flow Manage the whole lifecycle. Deal with issues and mitigate problems at a local level. c) Establish a pull system. d) Make process policies explicit. e) Improve collaboration between the different teams. f) Focus on end results. A. Setting up a Kanban board. a. In this case study the project life cycle corresponds to that of a typical software development project, broken up into lanes according to the traditional software lifecycle (Figure 1): Design: Requirement Gathering from the customer;, High Level Design; Detailed Design (In Progress / Done) Coding (In Progress / Done) Unit Testing (In Progress / Done) Environment Set Up (Done) Customer Acceptance Test (In Progress / Done) B. Constructing the value factor for each lane on the Kanban board. Every lane defines a stage of the project, and every stage is associated with a factor of value earned (Figure 2). The value factor is determined in accordance with the agile philosophy. As the agile approach focuses on task completion, the "Done" stage of each phase of the life cycle is attributed a larger value factor compared with the corresponding "In Progress" (IP) stage, and later stages are attributed higher value factors compared with earlier stages See Figure 2 for an example of the construction of the value factors for the Kanban board in our case study (e.g., "Customer Acceptance Test Done" is attributed a value of 7, and "Design In Progress" is assigned a value of 0). Figure 2: Factor Set Up C. Calculating the Planned Predicted Value for each evaluation period. The next step is to plan, for each period, what the project picture should be, that is, which tasks should be included on the board, and in which lanes. This planning can be done by implementing a waterfall planning approach for each task, using historic knowledge and data of how tasks are progressing in the project, or by using a linear plan or any other progress plan. In the 9-week project we investigate in our case study, planning is carried out according to a weekly schedule. For example a 2 week simulation is shown in Table 1. By the end of week 1, for example, the plan is that 6 tasks will have completed the Design phase, 2 will be in the process of Coding, and 1 task will have completed the Coding phase (total planned value of 6+2+2=10). Figure 1: Example of a Kanban board lane set up for the investigated case study www.ijcit.com 534

TABLE I. EXAMPLE OF PREDICTION AND PLANNING; 2 WEEKS ARE ELABORATED IN DETAIL TABLE II. MONITORING: PLANNED VALUE VS. ACTUAL VALUE AND SPI ON FEB. 10 END OF WEEK 6 Project Week Planned Value Description Of Planned Value Project Planned Earned Schedule Performance 1-Jan 10 8-Jan 24 15-Jan 34 22-Jan 50 29-Jan 75 5-Feb 90 12-Feb 97 19-Feb 105 6 Tasks are in Design phase, 2 In coding phase, 1 task that will finish Coding (6+2+2 = 10) 2 Tasks are in Design phase, 2 In coding, 4 In Coding done. 3 In Testing done (2+2+8+12 = 24) Week Value Value Index (SPI) 1-Jan 10 9 90% 8-Jan 24 20 84% 15-Jan 34 25 74% 22-Jan 50 30 60% 29-Jan 75 52 69% 5-Feb 90 80 89% 12-Feb 97 0% 19-Feb 105 0% 0% D. Monitoring: Calculating the Schedule Performance Index (SPI. Once the plan is in place the project can be monitored. At the end of each week, the actual status of the project is evaluated and compared against the plan. Let s take a snapshot of February 10 End of week 6: For example, the plan for week 6 was to earn a value of 90, but the actual work summed up to a value of 80 - meaning that the project achieved only 89% of its planned value for week 6. Figure 3 shows the project status as shown on the Kanban board on February 10 End of week 6. The summary of the earned value of all cards is 80. Table 2 shows the Schedule Performance Index (SPI) for each of the first 6 weeks of our case study. Figure 4 shows a graph of the project's planned values (Blue Line) versus its actual earned values (Red Line). We can understand from the trend that the gap is getting smaller and the project will soon be on track Figure 4: Planned Value vs. Earned Value graph on February 10 End of week 6 Figure 5: CFD Cumulative Flow Diagram V. SUMMARY AND CONCLUSIONS Figure 3: Example of a Kanban board on February 10 End of week 6 One of the major differences between traditional and agile projects is that traditional projects focus on satisfying closed requirements, whereas agile projects need to deal with changes and continuous re-planning. As a result, agile projects pose www.ijcit.com 535

more of a challenge in terms of planning, prediction and control. This article proposes a methodology for mitigating the dilemma between running a project in accordance with the agile methodology i.e., without due dates and plans, and using a pull system driven mainly by teams on the ground and the need of a manager to monitor a project's progress. The methodology, which combines Agile Kanban with principles of EVM, is based on attributing a value to the status of the project at a given point in time and comparing it against a planned value. The ratio between the project's actual value and its planned value indicates whether the project is on track. The limitation of the method and its weak point is to be able to simulate and predict the planned values, which can be more challenging in projects that are less stable and tend to have frequent plan changes. Future studies can extend this methodology to ensure that it provides managers with flexibility to incorporate changes to the original plan. It would also be of interest to identify means of evaluating a work plan's capacity to accommodate change prior to the commencement of the project. REFERENCES [1] Chow, T., Cao, D.-B. (2008) A survey study of critical success factors in agile software projects. Journal of Systems and Software, 81, 961 971. [2] Middleton, P., Joyce, D. (2012) Lean software management: BBC Worldwide case study. IEEE Transactions on Engineering Management, 59, 20 32. [3] Anderson, D.J. (2010) Kanban: Successful evolutionary change for your technology business. Blue Hole Press, Seattle, WA, chapter 12. [4] Erdogmus, H. (2010) Tracking progress through earned value. IEEE Software, 27, 2 7. www.ijcit.com 536