PROJECT MANAGEMENT USING KANBAN Jérôme Wagener, Sam Schmit, Avikarsha Mandal and Vaishnavi Rajendran Kanban (Japanese for signboard) refers to a project management method which quite recently gained a lot of attention in the field of IT project management. To increase awareness, we collected in this document some of the current knowledge about IT based Kanban. It was created as part of the Advanced Project Management course at the University of Luxembourg. University of Luxembourg Master in Computer Science Advanced Project Management 2011-2012 CONTENT WHAT IS KANBAN? ............................................................................................................................ 5 1 2 THE ORIGINS OF KANBAN..........................................................................................................................6 THE OBJECTIVES AND CONCEPTS BEHIND KANBAN........................................................................................6 2.1 Lean and Just-in-time Production ................................................................................................... 6 2.2 Limiting the Work In Progress ......................................................................................................... 7 2.3 From Push to Pull ........................................................................................................................... 7 2.4 Visualization of the Work ............................................................................................................... 7 2.5 Process Improvements ................................................................................................................... 8 3 KANBAN IN IT PROJECT MANAGEMENT ........................................................................................................ 8 3.1 The Properties ............................................................................................................................... 8 3.2 Integrating Kanban ........................................................................................................................ 9 3.3 The Board .................................................................................................................................... 10 3.4 Kanban by Example ..................................................................................................................... 11 4 COMPARING KANBAN TO OTHER AGILE METHODS ...................................................................................... 14 4.1 Kanban vs. OpenAgile .................................................................................................................. 14 4.2 Kanban vs. Scrum and XP ............................................................................................................ 15 4.3 Kanban vs. the Rest ..................................................................................................................... 16 5 THE ADVANTAGES AND DISADVANTAGES OF KANBAN ................................................................................. 16 5.1 Advantages ................................................................................................................................. 16 5.2 Disadvantages ............................................................................................................................. 16 LITERATURE AND CASE STUDIES ..................................................................................................... 17 6 THE KANBAN BOOKS.............................................................................................................................. 18 6.1 Kanban - Successful Evolutionary Change for Your Technology Business ........................................ 18 6.2 Kanban and Scrum - making the most of both ............................................................................... 19 6.3 Kanban: Just-In-Time At Toyota ................................................................................................... 19 7 INDUSTRY SUCCESS STORIES ................................................................................................................... 19 7.1 Case Studies ................................................................................................................................ 19 7.2 Scientific Case studies .................................................................................................................. 20 TOOLS AND APPLICATIONS ............................................................................................................. 23 8 APPLICATIONS....................................................................................................................................... 24 8.1 Flow.io ........................................................................................................................................ 24 8.2 Swift Kanban ............................................................................................................................... 24 8.3 Kanban Tool ................................................................................................................................ 26 8.4 LeanKit Kanban ........................................................................................................................... 26 8.5 KanbanSim .................................................................................................................................. 27 i SMALL SCALE LEGO CASE STUDY .................................................................................................... 29 9 10 OBJECTIVES .......................................................................................................................................... 30 PREPARATION ................................................................................................................................... 30 10.1 Lego Schematics .......................................................................................................................... 30 10.2 Kanban board .............................................................................................................................. 30 10.3 Kanban Cards .............................................................................................................................. 31 10.4 Questionnaire .............................................................................................................................. 31 11 EXECUTION ........................................................................................................................................... 32 11.1 Instructions ................................................................................................................................. 32 11.2 Experiment .................................................................................................................................. 32 12 OBSERVATIONS ................................................................................................................................. 33 13 RESULTS........................................................................................................................................... 34 SUMMARY ........................................................................................................................................ 35 14 SUMMARY ........................................................................................................................................ 36 APPENDIX ........................................................................................................................................ 37 APPENDIX A EXPERIMENT FORM ...................................................................................................................... 38 APPENDIX B QUESTIONNAIRE.......................................................................................................................... 39 ii FIGURES Figure 1: Exemplary Kanban-Board ................................................................................................................ 10 Figure 2: Exemplary colour coded features ..................................................................................................... 10 Figure 3: Exemplary Kanban-Board with Swim Lanes ..................................................................................... 11 Figure 4: Card priority .................................................................................................................................... 11 Figure 5: Kanban Board in the beginning ........................................................................................................ 11 Figure 6: Manager puts two cards on the board .............................................................................................. 12 Figure 7: Cards pulled by development team .................................................................................................. 12 Figure 8: Progress on the board ..................................................................................................................... 12 Figure 9: Development Team stalled .............................................................................................................. 13 Figure 10: After fixing problems with card F ................................................................................................... 13 Figure 11: The board after a while .................................................................................................................. 13 Figure 12: Service Level Agreement board example ....................................................................................... 14 Figure 13: The three Kanban books ................................................................................................................ 18 Figure 14: Flow.io Board Example .................................................................................................................. 24 Figure 15: Flow.io metrics .............................................................................................................................. 24 Figure 16: Swift Kanban Card Example ........................................................................................................... 25 Figure 17: Swift Kanban Board Example ......................................................................................................... 25 Figure 18: Swift Kanban swim lanes configuration ......................................................................................... 25 Figure 19: Kanban Tool stylish board example................................................................................................ 26 Figure 20: LeanKit Kanban statistics example ................................................................................................ 26 Figure 21: KanbanSim Screenshot .................................................................................................................. 27 Figure 22: Example Lego House Schematic .................................................................................................... 30 Figure 23: The experiment's Kanban board .................................................................................................... 31 Figure 24: Experiment execution, phase 1 ...................................................................................................... 32 Figure 25: Experiment execution, phase 2 ...................................................................................................... 33 Figure 26: The created Lego city .................................................................................................................... 33 Figure 27: Lego Pieces form used during the experiment ............................................................................... 38 Figure 28: Picture card used during the experiment ....................................................................................... 38 iii WHAT IS KANBAN? In this section we will define what Kanban is in the context of IT based project management. To better understand its nature, we start by exploring its origins in the automotive industry. We move on to defining and explaining the main concepts behind Kanban and we will show how they apply to IT projects. We also compare Kanban to other agile development methods and give a brief overview over some of its advantages and disadvantages. Lastly we will outline how to apply Kanban and how it can be integrated into an existing business. What is Kanban? 1 THE ORIGINS OF KANBAN 1 To explore the origins , we have to go back into the late 1940s. At that time, Toyota tried to improve their production system to be competitive with the American automobile market. Then in 1956, Taiichi Ohno, a leader of a machining shop within the Toyota production system, travelled to the United States where he intended to visit automobile plants in order to determine how to improve the production system back home in Japan. However, not the automobile plants but the American self-service supermarkets inspired him. He was fascinated by the possibility to choose exactly what and how much you want, as well as the simple, efficient and timely replenishment of the supermarkets. These practices should later become the fundamentals for Kanban. During the following years, Ohno developed different tools to operate the production in a systematic framework. The best known method is the Kanban system, based on the idea of lean and just-in-time production (c.f. The Objectives and Concepts behind Kanban below). 2 Originally, Toyota defined six elementary rules to be used, which consisted of: • • • • • • Never send defective products downstream to the next process Each process only orders what it currently needs from the upstream process Each process only produces the quantity ordered by the downstream process Maintain a level rate of production Use Kanban to fine-tune the rate of production Work to reach a stable rate of production Although these rules originally refer to the production of automobiles or automobile parts, most are generic and can easily be adapted to the IT domain. An example is avoiding the forwarding of a “defective” or incorrect specification to the programmers. 2 THE OBJECTIVES AND CONCEPTS BEHIND KANBAN So as not to cause confusion, we want to make clear that Kanban is not an “off-the-shelf”, or ready to apply 3 project management methodology. As David Anderson (one of leading experts in IT based Kanban) puts it : “Kanban is not a software development methodology or an approach to project management. It requires that some process is already in place so that Kanban can be applied to incrementally change the underlying process.” What it means is Kanban does not provide a complete structure or plan on how to manage a given project. It is a set of guidelines on how to adapt existing processes, such that one may for example implement change management more easily and find bottlenecks more accurately. The desired effect is achieved by adhering to the following concepts. 2.1 LEAN AND JUST-IN-TIME PRODUCTION Lean manufacturing or production is a practice which focusses on eliminating any waste of resources, including physical resources or man-hours. To that extent, it is essential to only create goods that have an additional value for a customer, i.e. that he is willing to pay for. Waste may occur in different forms, for example: useless inventory, defects or waiting times. 1 Background from Toyota History (http://www.toyotageorgetown.com/history.asp) Rules taken from WCM: Kanban System (http://www.world-class-manufacturing.com/Kanban/kanban.html) 3 Kanban - Successful Evolutionary change for Your Technology Business, David J. Anderson, ISBN: 978-0-9845214-0-1 2 6 The Objectives and Concepts behind Kanban However, in software development, waste has different manifestations which need to be addressed appropriately. Mary and Tom Poppendieck summarized the lean principles for software development in their 4 book as follows: 1) eliminate waste 2) amplify learning, 3) decide as late as possible, 4) deliver as fast as possible, 5) empower the team, 6) build integrity in & 7) see the whole. These principles become important when using Kanban in a software development context. Just-in-time Production is a strategy used to keep the in-process inventory to a minimum, in order to reducing carrying costs. In fact, goods are only produced based on the current demand. With respect to the automobile domain, this means that a manufacturer should receive raw materials or parts from his supplier(s) only shortly before they will be used in production. The output should be shipped to its 5 customers as soon as possible. Mapping this to the IT domain means that only essential components are produced and immediately forwarded to the next stage, e.g. a piece of code is written and then forwarded to the testing department. The goal is to avoid producing non-required components. 2.2 LIMITING THE WORK IN PROGRESS So as not to overwhelm any given department, Kanban enforces work in progress limits (WIP). The general idea is to reduce the current workload of a department by letting its people concentrate on a few tasks and have them finish them before taking on something new. The goal is to reduce stress and to raise productivity as well as product quality. Limiting the WIP for a given department allows it to finish the work at hand and helps avoiding the creation of more and more new tasks. Studies have shown that this also increases the worker satisfaction due to a more constant rate of work. On the other hand, a team is not allowed to switch their currently assigned tasks before these have been accomplished. Consequently, if for example they are faced with some problems, these need to be addressed immediately. 2.3 FROM PUSH TO PULL Existing and more traditional approaches to product development are usually based on a push-system. A finished product, or part of it, is pushed down the line to the next station for them to handle. As a consequence of introducing Lean and Just-in-Time Production and especially of work in progress limitations, Kanban introduces the pull-system. Instead of overloading a team’s backlog with finished work-items from previous teams, the idea is for them to get new ones as soon as they have capacities available, i.e. when the number of work items is lower than the WIP limit. The effects of combining the pull principle with the previous three are that a given team as well as the project managers are able to detect and to solve bottlenecks more easily. For example, teams may merge for the purpose of solving a difficult problem or the managers may see fit to reassign resources such that the workflow remains constant. 2.4 VISUALIZATION OF THE WORK Kanban is a system relying on visual means with which to present the work that needs to be accomplished. It uses the so called Kanban-boards and cards to visualise a project’s current state. As a matter of fact, the word Kanban is of Japanese origin and translates to signboard. Other common translations include visual card, billboard or signboard. 4 Lean Software Development: An Agile Toolkit, Mary Poppendieck & Tom Poppendieck (2003), ISBN-10 0321150783 5 eNotes: Encyclopedia of Management (http://www.enotes.com/management-encyclopedia/lean-manufacturing-just-time-production) 7 What is Kanban? Moreover, principles such as Lean and Just-in-Time production as well as limiting the workflow become easier to implement with the exhibition of all on-going tasks. A Kanban card, describing for example the building of a new car-part, moves through the Kanban board depending on the current stage. Hereby stages represent for example the Specification, Construction and Testing of car-parts. 2.5 PROCESS IMPROVEMENTS One of the key ideas behind Kanban as applied in IT is to constantly and iteratively improve the process. First of all, a means for measuring and managing the work flow is needed, which in Kanban is achieved by the principle of visualising the work in combination with statistical measures on the work flow, e.g. lead time. Improvement is also achieved by making the process policies explicit, which not only allows the employees to apply them properly, but also to actively collaborate in revising the used methodologies (c.f. next chapter). 3 KANBAN IN IT PROJECT MANAGEMENT Although Kanban originated in the automotive industry, it was soon adapted and extended to other fields and quite recently to IT project management in particular. In the last few years, as its reputation is spreading, Kanban has seen much adoption in the area of software development (c.f. chapter 7 on page 19). 3.1 THE PROPERTIES As a lean and agile approach to software development projects, no single Kanban model exists that can be applied to any project. Every project, and possibly every team working on that project, needs to define their own set of guidelines to follow. Then again, by careful analysis of successful Kanban implementations, David Anderson was the first to determine the following basic set of properties common to all of them: 1. 2. 3. 4. 5. Visualize Workflow Limit Work-in-Progress Measure and Manage Flow Make Process Policies Explicit Use Models to Recognize Improvement Opportunities Properties 1 and 2 follow directly from the previous chapters 2.5 and 2.3.The third property is a key concept in Kanban, as we have seen in chapter 2.4. In combination with work visualisation (chapter 2.5) Kanban allows you to easily measure the flow of work items and react to or manage any arising problems. The measurement used in Kanban is called lead time, which is equal to the time needed by a team to accomplish a work item. As for the fourth property, it would seem to be common sense to make process policies explicit. Especially for Kanban, for which the applied rule set may change even from project to project. Openly stating and explaining the applied rules and methodologies can help the staff members to properly apply them. The last property comes from the “Agile nature” of Kanban. Kanban facilitates change management and as such, constant adaptation to ever changing requirements is welcome. Indeed, “The Kanban Method suggests 6 that a scientific approach is used to implement continuous, incremental and evolutionary changes” in order to decrease the lead times. 6 Taken from: Wikipedia - Kanban (Development) (http:/en.wikipedia.org/wiki/Kanban_%28development%29) 8 Kanban in IT project management 3.2 INTEGRATING KANBAN Kanban is a tool or technique based on the principles of just-in-time and lean production. However, people rightfully argue that Kanban cannot be seen as a silver-bullet approach towards project management. In fact, as mentioned earlier, some underlying process should already exist before Kanban can be deployed. This requirement is necessary because Kanban does not enforce any particular method on how to get work done, as long as their combination is logically feasible and people are willing to use it. Building software using a model driven approach is equally valid as doing for example XP in which models are avoided. The idea is that the teams should use whatever works best for them. Software development companies all over the world have been using agile methods such as Scrum for some time now. Only recently, a new hybrid solution called Scrumban was introduced, which combines aspects of both Scrum and Kanban. It tries to replace the normally time-boxed Scrum sprints by Kanban’s pull mechanism, thus ensuring a more constant rate of work and simplifying bottleneck detection. Although 7 Scrumban is relatively new and only a few books exist , it should be noted that by simply merging the two methods, one might still adhere to the Kanban principles but not necessarily to those of Scrum. A similar scheme is followed by XKanban which describes an approach where eXtreme programming is combined with Kanban. The goals, activities, values, rules and principles defined by XP are implemented whereas the scheduling mechanisms of Kanban are used to eliminate workflow problems. Anderson explains in his book, that in order to integrate Kanban you should implement a plan and follow the following steps: 1. Agree on a set of goals for introducing Kanban Agree on why you want to introduce Kanban. 2. Map the value stream Define the development actions i.e. the Kanban board columns - e.g. design, coding, testing… 3. Define a point where you want to control the input E.g. a requirement control point might be placed before the design phase. 4. Define an exit point Define where and when a work item is completely finished. 5. Define a set of work item types Define different card types as for example bugs, maintenance, requirements… 6. Analyse the demand for each work item type Analyse the arrival rate and the according variation of for example bug reports, and decide how to deal with peaks and fluctuations. 7. Meet with upstream and downstream stakeholders to distribute global knowledge amongst all parties Discuss WIP limits, prioritization as well as release and delivery coordination... 8. Create the board and cards with respect to step 2 & 5. The board and card creation might be done using electronic systems as presented in chapter 8 (page 24). 9. Agree on daily stand-up meetings in front of the board 10. Agree on regular review meetings to analyse the current process 7 E.g.: Scrumban - Essays on Kanban Systems for Lean Software Development 9 What is Kanban? 11. Educate the team on the new board. Explain WIP limits and the pull system and most importantly explain that the people’s activities remain the same. No new job titles, descriptions or responsibilities are introduced. As the books, papers and case studies from section “Literature and Case Studies” indicate, the difficulty of integrating Kanban seems to be fairly manageable. Usually employees recognize at very early stages of the integration process that the approach is aimed towards improving the working atmosphere and people seem generally open to adapt and integrate the system. 3.3 THE BOARD Since workflow visualisation is such an important part of using Kanban, we will give a short introduction to Kanban-boards with respect to IT project management. The next chapter contains more details on how these boards may be designed. The Kanban board consists of different columns which represent specific steps in the development process. Since a team needs to know which item they can pull from the board, these column require a means to differentiate between on-going and finished work items. For the purpose of this example, this differentiation is shown only for the analysis and development phases. 7 4 6 3 5 Pending Analysis Development Test Deploy Doing Done Doing Done Figure 1: Exemplary Kanban-Board The Kanbans, i.e. the cards, are shown in Figure 1 as orange rectangles. Each one represents a feature of the target product. To show the nature of the work that is to be done, differently coloured Kanban cards may be used: maintenance new feature bug fix Figure 2: Exemplary colour coded features You can use the same approach for differentiating between different products and attach the nature of the Kanban using other means, e.g. different symbols. Another way of visually handling multiple projects on a single board is to introduce so-called swim lanes. The columns on these boards represent the different stages a product has to go through. In IT projects this simply means the different teams that are involved in its development. Furthermore, the numbers on top of the columns indicate the work-in-progress limitations. At no point in time may more than the indicated number of work items be in any given column. 10 Kanban in IT project management 7 4 6 3 5 Pending Analysis Development Test Deploy Doing Done Doing Done P1 P2 Figure 3: Exemplary Kanban-Board with Swim Lanes 3.4 KANBAN BY EXAMPLE 8 In this part of the document, we use a small example , to illustrate how the principles of Kanban are applied and how the Kanban board is used. For the purpose of this example, we suppose that an integration plan has been created. In that plan three types of Kanban cards have been defined, as in Figure 2 on page 10. In addition the cards have an implicit priority ordering attached to them, as in: bug fix > maintenance Figure 4: Card priority > new feature In combination with a backlog, this sets up a flexible priority system. The manager can define priorities dynamically, by putting the wanted cards on the board in the helper column named Ready. The development and the deployment teems have to adhere to the defined ordering. Now suppose during planning, the following board was designed. The backlog contains the work-breakdown structure of the project. The manager will put the highest priority cards on the ready stack, which then in turn will get pulled through by the developers, from left to right. Backlog 2 2 1 Ready Development Deploy In progress Live Done E Figure 5: Kanban Board in the beginning The manager decides that the bugs and maintenance work described on the cards F and H are currently the highest priority and puts them on the Ready stack. Due to the WIP limit of 2 in the Ready column, he cannot put more cards on the board afterwards and has to wait for the developers to start working on those cards. 8 Based on One day in Kanban-land, p.44-46, from Kanban and Scrum - making the most of both 11 What is Kanban? Backlog 2 2 1 Ready Development Deploy In progress Live Done E Figure 6: Manager puts two cards on the board Since the development team has the capacities available, they pull those cards into the In progress column and start working on the tasks defined on them. This allows the manager to put two new cards on the board: Backlog 2 2 1 Ready Development Deploy In progress Live Done E Figure 7: Cards pulled by development team After some time, the developers finish card F, allowing the deployment team to start working on it. Only then can the programmers pull a new card. In the following example, that new card has to be D, due to the card priorities defined during the planning phase. The project manager in turn puts card B on the board. Backlog 2 2 1 Ready Development Deploy In progress Live Done E Figure 8: Progress on the board In the following situation the development team is stalled and cannot take on new work items. The problem is that the deployment team is blocked due to a problem with card F, which they are not able to solve by themselves. In such a situation, both teams may merge for the purpose of solving the issue faced. 12 Kanban in IT project management Backlog 2 2 1 Ready Development Deploy In progress Live Done E Figure 9: Development Team stalled As soon as the issues have been resolved, the respective teams may return to the normal work-item schedule, pulling in cards as capacities become available. Backlog 2 2 1 Ready Development Deploy In progress Live Done E Figure 10: After fixing problems with card F Backlog 2 2 1 Ready Development Deploy In progress Live Done E Figure 11: The board after a while Please note that this is only an example to show the basic principles of Kanban and the Kanban board. Those will hold however complicated the card and board designs are. The defined “work-rules” should extend Kanban such that it fits the particular project’s needs. Lastly we want to show a more complicated example based on a board with two swim lanes. Here the second lane represents cards associated with a high priority Service Level Agreement (SLA). Usually, developers, testers, etc. should not stop working on current WIPs, before moving on to the next one, even if the next one has higher priority than the current one. As such you may add an additional rule, which states that cards in the SLA lane have a higher priority than the other lane. 13 What is Kanban? 7 4 6 3 5 Pending Analysis Development Test Deploy Doing Done Doing Done Std SLA Figure 12: Service Level Agreement board example However Kanban can also be adapted such that project team members immediately have to work on items in the SLA lane, suspending any current WIPs. At first glance this may seem counter-productive, but it may make sense depending on how the SLA is phrased, i.e. how much the customer is willing to pay for the expedited service. 4 COMPARING KANBAN TO OTHER AGILE METHODS What makes Kanban different from other software development methodologies such as Scrum, eXtreme Programming (XP) or OpenAgile? First of all, where Scrum and XP are designed to specifically target IT project management, OpenAgile and Kanban can be applied in virtually any project with teams doing operational work. Additionally, Kanban is a lot less structured, or in other words prescriptive, than most other agile methods. It is so close to not having any rules or structure at all, that it cannot be considered to be an entire process framework. Hence, it would not make sense to compare the models directly. On the one hand, they target different parts of project management and as such contain incomparable rules or guidelines. Secondly, throughout literature we have found many different rule-sets for some of the methodologies. Scrum for example ranges from nine 9 10 rules up to twenty-three, with an additional optional twelve . Nevertheless, we will give a short overview over the main differences between Kanban and the other three methods. Any rules, means and methods implemented by Scrum or XP that are not mentioned by Kanban, can be applied as needed. 4.1 KANBAN VS. OPENAGILE Compared to Kanban, OpenAgile takes a more philosophical approach to project management as can be seen 11 from the three rules it is built on : 1. 2. 3. Truthfulness Consultive Decision-Making The Learning Circle Hence, OpenAgile compliments the more process oriented Kanban with respect to employee morale. Additionally, as a model of learning circles and just like Kanban, OpenAgile emphasises continuous improvement of the currently implemented processes. But unlike Kanban, it relies on circular time iterations 9 Kanban and Scrum - making the most of both, Henrik Kniberg & Mattias Skarin (2010) Agile Advice: Scrum Rules, Mishkin Berteig (2007), URL: http://www.agileadvice.com/archives/2007/05/scrum_rules.html 11 The OpenAgile Primer, version 1.0.5 (2009), URL: http://www.openagile.com/TheOpenAgilePrimer 10 14 Comparing Kanban to other Agile Methods of equal length for time management. Kanban makes no such assumptions on how you should limit the time a work-item takes from start to completion. In fact it allows long running tasks. On the other hand, Kanban does not forbid the use such an approach. Additionally, even though it says to constantly improve processes and even gives some measurement techniques, it does not define how to do it. One is free to combine Kanban with OpenAgile for a more complete improvement model. 4.2 KANBAN VS. SCRUM AND XP Due to the different natures of Kanban, Scrum and XP, we will focus their comparison to the few properties as defined in chapter 3.1 The Properties: V ISUALISE THE W ORKFLOW In Scrum, the use of a Scrum-Board is prescribed, whereas Kanban enforces Kanban-Boards. Both are basically card walls, either physical or virtual. In comparison, Kanban adds WIP limits which we will discuss in the next rule. XP does not make any prescriptions on using visualisation techniques or even attributes any big importance to workflow visualisation as it would take too much time from programming tasks. L IMIT W ORK I N P ROGRESS Kanban enforces to set limitations on the WIP, by setting upper bounds on the number of possible WIP at any given stage. These limits should be indicated on the Kanban-board for everybody to see. Kanban does not limit the time needed to complete a task in any way. In contrast Scrum and XP share the technique of time boxing (called sprint in Scrum terminology), which means that the teams need to commit to a defined set of work items for a defined period of time. Since an active time box may not be changed in either methodology, that commitment indirectly limits the WIP. Another difference between Kanban and the other two is that Kanban uses these work in progress limits to change the basic project management paradigm from pushing work downstream, i.e. from development to testing, to pulling it from upstream. M EASURE AND M ANAGE F LOW Although not part of Kanban itself, software development projects in general and Kanban infused projects in particular require some form of management and measurement. David Anderson identified both to be of such importance, that he included them in the Kanban rule set. With Scrum and Kanban, project management is simplified or helped by their respective boards. An empty column, or row depending on the design of your specific boards, will hint at a problem, either beforehand or afterwards, that needs to be addressed. Their measurement methods are different though. Scrum and XP define and use Velocity, which is the number of story points a given team can accomplish during a sprint. Or in other words: it is a calculated measure for the efficiency of a team. Kanban on the hand uses Lead Time as its main measuring instrument. That is the time needed to accomplish a task from start to finish, which could be seen as more natural and easy to understand by the stakeholders. To gain a more complete and concise insight into the current state of your project, similar to Scrum, regular Kanban-meetings should be held. These are short gatherings to get input from the developers, testers, etc… Only then can the project managers learn whether any problems are of temporary nature due to unusual complexity or if a team- or resource-restructuring is in order. 15 What is Kanban? M AKE P ROCESS P OLICIES E XPLICIT As we already mentioned, the rules and management methodologies should be defined, explained and communicated to the people working with them. Otherwise it would be very difficult to do the What if you do not know the How. Being an elementary property of effective project management, this holds true for any methodology. U SE M ODELS TO R ECOGNIZE I MPROVEMENT O PPORTUNITIES All three methodologies, being agile in nature, suggest some form of continues process improvement. Kanban encourages collaborative improvement of existing processes using a scientific approach. What this means is that everybody should be part of the improvement process itself. Furthermore, a mere trial and error should be avoided and more structured and organised methods should be used. One such example is the Theory of Constraints, which defines a process to determine and eliminate restricting constraints. 4.3 KANBAN VS. THE REST We could go on comparing Kanban to many other agile development methods, as for example Dynamic Systems Development Method (DSDM) or Feature-Driven Development (FDM). In any case, Kanban makes no restrictions or assumptions other than to apply the principles mentioned in this document. By using Kanban some, if not all, of a project team’s current issues may become apparent and solvable. On the other hand, Kanban is not an off the shelf methodology and needs to be completed using any or more of the other methodologies, e.g. use FDM to create work-items based on requested features. 5 THE ADVANTAGES AND DISADVANTAGES OF KANBAN 5.1 ADVANTAGES The main Advantage of Kanban over other agile methods (e.g. Scrum) is its flexibility which is the result of a smaller set of predefined rules (as described in chapter 3). As a concrete example, Kanban allows the addition and removal of tasks (e.g. a high priority database component), while teams are still working on something else. Compared to Scrum, where it is not allowed to add extra work to an on-going sprint, Kanban handles such issues more flexibly since it is tailored to changing 12 dynamics and requirements. Studies have shown that another advantage is the visualization aspect of Kanban. Project members can easily determine the state of the project by looking at a simple Kanban board. Thereby showstoppers can be detected more easily than with other non-visual approaches. Moreover, the pull approach together with the work in progress limits beware workers from unnecessary stress, while at the same time enforcing a better prioritization of the tasks that need to be done. 5.2 DISADVANTAGES Although an increased flexibility may be attractive, it also requires people who are committed to the approach. In fact, Kanban cannot be seen as a standard solution to successful project management. Rather it is a tool which builds upon existing approaches and helps solving certain kinds of problems, as for example the detection of bottlenecks and the meeting of deadlines. Other approaches such as Scrum or eXtreme Programming give more guidelines on how to conduct the development process and might be better suited depending on the project teams. 12 This is often solved by adding priorities to Kanban cards. Single teams can then process higher priority tasks as soon as they have the resources for it. 16 LITERATURE AND CASE STUDIES In this part, we will introduce some of the existing literature about Kanban. We will cover three of the more popular books and present some exemplary case studies. Literature and Case Studies 6 THE KANBAN BOOKS During our research we found that throughout literature, the following three books are the most referred to. We will therefore give a brief introduction to all three, while trying to capture to most essential content. For more details please have a look at the books themselves. Kanban - Successful Evolutionary Change for Your Technology Business Kanban and Scrum - making the most of both Kanban: Just-In-Time At Toyota by David J. Anderson by Henrik Kniberg & Mattias Skarin by David John Lu and Nihon Nōritsu Kyōkai Blue Hole Press (2010) C4Media Inc. (2010) Japan Management Association (1985) Figure 13: The three Kanban books 6.1 KANBAN SUCCESSFUL EVOLUTIONARY CHANGE FOR YOUR TECHNOLOGY BUSINESS This particular book, written by David Anderson who is credited with the first implementation of Kanban in software development, has to be the reference guide on how to use and set-up Kanban in an IT business. Anderson starts off in the first two parts by giving an introduction to Kanban, defining the basic principles and emergent behaviour. He then writes about Kanban’s benefits by sketching a recipe for its implementation and explaining the Kaizen culture that is Kanban’s constant stride for improvement. He also includes a case study on how a team from Microsoft managed to improve their process by using Kanban (c.f. chapter 7.1.2). In the third part of his book, Anderson gives detailed information on how to implement Kanban. He stresses the importance of mapping existing value streams and how to set-up work-in-progress limits. He also touches the field of Service Level Agreements, and how Kanban can help to expedite or even to introduce them. Since Kanban affects not only development, he then writes about how the adapted processes can be measured and managed. In the fourth and last part of his book, Anderson talks about how to make improvements to the “kanbanised” work flow. He introduces three types of improvement opportunities and details their respective natures and effects. 18 Industry Success stories 6.2 KANBAN AND SCRUM - MAKING THE MOST OF BOTH This book focuses on the question: “What is Kanban and how does it compare to Scrum?” It compares both approaches in a software development scenario and is starting at the very basics. In fact, no major knowledge about Scrum or Kanban is required to understand the presented concepts. The book gives a good overview on Kanban and highlights the advantages and potential risks. It also includes a case study about a Swedish game development company. It shows how they transitioned from Scrum to Kanban and hence were able to meet deadlines while reducing lead time and the backlog (c.f. chapter 7.1.3). It is noteworthy that the authors also distribute the book also as a free-of-charge PDF! 13 6.3 KANBAN: JUST-IN-TIME AT TOYOTA This book is one of the earlier publications with respect to Kanban. It describes the Kanban method as it was initially used at Toyota for improving their production of automobiles. It explains the just-in-time basics as well as the Toyota production system. Despite the fact that this book focuses on the industrial aspects, the spirit of lean manufacturing is transferable to the IT domain. Essentially, it shows how Kanban can be used in any production context. 7 INDUSTRY SUCCESS STORIES 7.1 CASE STUDIES 7.1.1 MONEYSUPERMARKET.COM Moneysupermarket.com is one of the United Kingdom’s leading comparison websites. This case study shows how they were able to improve their delivery process through the introduction of Kanban. Like many other software development companies they were faced with too many simultaneous tasks, while the single tasks often had various priorities. Through adopting Kanban, they were able to spot the bottlenecks and blockers within their system and to address the issues. The visualization using the Kanban board gave an end-to-end flow and allowed the resolution of bottlenecks as soon as they occurred. The IanCarroll consulting company, which published the case study, summarized the results as follows: • • • • Throughput was measurably increased The backlog (469 jobs) was completely cleared within 5 months The collaboration was improved The clarity on the current situations was improved due to the visualization 7.1.2 FROM WORST TO BEST IN F IVE QUARTERS In his book (c.f. chapter 6.1) David Anderson presents a case study from 2004 on how Dragos Dumitriu managed to improve the processes of a Microsoft development team based in India. This team had the reputation of having the worst customer service within Microsoft and Dumitriu was determined to change that. By applying the Kanban method, i.e. workflow visualization and limitation as well as mapping the value stream and implementing the pull-system, Dumitriu was able to spot and solve most of the problems faced by the Indian team. They were able to detect and solve bottlenecks as for example wrong resource attribution between developers and testers. They furthermore abolished time estimation as it was in itself a time-waste 13 After a quick registration, the book can be downloaded at http://www.infoq.com/minibooks/kanban-scrum-minibook 19 Literature and Case Studies and they removed the necessity for ROI (Return On Investment) calculations by relying solely on work-item priorities. In the end, even though they did not implement all the possibilities of Kanban, the results of these few small changes were impressive: • • • • 7.1.3 They managed to eliminate an originally overflowing backlog entirely in just over a year. They reduced the lead time from an original 155 days to 14 days. The due-date performance on the 25-day delivery time target was 98 %. The throughput of requests had risen more than 300% and lead times dropped by more than 90%. KANBAN AND SCRUM - MAKING THE MOST OF BOTH (BOOK PART II CASE STUDY) The second part of the previously introduced book “Kanban and Scrum – making the most of both” provides an exhaustive case study about a Swedish game development company’s transition from Scrum to Kanban. The case study introduces how they set up teams, addressed stakeholder needs and how they established the Kanban boards and WIP rules. The results presented were that they managed to resolve bottlenecks, achieve a constant work flow and most importantly that by adopting Kanban they were better able to meet deadlines. 7.1.4 CONVERTING A SCRUM TEAM TO KANBAN (CRISP CASE STUDY) This industrial success story is about a Swedish consulting company named Crisp and a French software 14 company named Nuxeo . One of the major alterations introduced by this consulting company was the conversion of a Scrum team into a Kanban team. Before this conversion, Nuexo’s Scrum team had major problems in meeting deadlines. As a result, the main client was not satisfied and a project failure was certain. As the development team was using Scrum, their burn-down-chart confirmed the issues and provided evidence that Scrum was not the way to go in this case. After transitioning to Kanban, improvement results were visible after only two weeks. Progress occurred also in another form, meaning that a previously unknown bottleneck was detected. For the first time, employees were able to see that the testing department couldn’t handle the work load. As a countermeasure, Test Driven Development was introduced which then helped resolving these issues, such that at the end, the project succeeded after all. In retrospect, statistics showed that the velocity of all involved teams was almost doubled. 7.2 SCIENTIFIC CASE STUDIES 7.2.1 DEVELOPER-DRIVEN BIG-BANG PROCESS TRANSITION FROM SCRUM TO KANBAN This scientific case study describes the transition of a Swedish content management system development company from Scrum to Kanban. Although the company’s initial experiences with Scrum were positive, it showed that over time, problems “of the disciplinary manner started to emerge”. The paper gives the example of Scrum demos which were more and more rarely conducted over the time. Also, the company experienced that for example the job satisfaction decreased and that process related problems occurred more and more often. The paper gives a list of 11 problems the company had including 1. 2. 3. 4. 14 15 Confusion upon the definition of “done” 15 Low prioritization of the technical backlog items Lack of production vision ... Converting a Scrum team to Kanban by Mattias Skarin, Crisp The backlog in its most simplistic form is an exhaustive TODO list with respect to a project. 20 Industry Success stories 9. Low developers’ motivation 10. Insufficient Development Process Flow 11. Increase of the technical depth As a possible solution to address problems 9, 10 & 11, Kanban was implemented. Interesting in this particular case study is that the transition was performed almost overnight, meaning that all changes were applied as soon as possible. As part of the conclusion, the authors state that: “As a result, the company has solved various process related problems, improved developers’ motivation, and therefore, successfully implemented software process improvements.” 7.2.2 ON THE IMPACT OF KANBAN ON SOFTWARE PROJECT WORK Another case study investigates the impact of Kanban with respect to software project work in general. The paper therefore introduces a research framework which is empirically investigated in an experimental software Research & Development setting. It shows that using Kanban, seven of the nine pre-defined team-related aspects (e.g. problem solving, visualization, feedback, ...) were supported. The authors give as possible explanations: • • • the autonomy that the single teams have in Kanban the simplicity of Kanban and the resulting quick reaction ability the fact that Kanban takes into account the dynamic nature of software development including unrealistic schedules and continuous requirement changes The paper comes to the conclusion that Kanban bears considerable benefits including motivation and control over a project’s activities. The paper also claims that Kanban is a relatively basic control tool. It needs to be supported with additional practices and connections. 21 TOOLS AND APPLICATIONS In this part of the document, we present a few Kanban based project management applications. These tools vary in the included feature-set as well as the underlying technology. Tools and Applications 8 APPLICATIONS As Kanban is getting more and more popular, many Kanban related applications arise. The functionalities offered by these applications vary greatly and include everything from basic board features up to complex management tools. In this chapter we will introduce four exemplary Kanban applications, namely Flow.io, Swift Kanban, Kanban Tool and LeanKit Kanban. We researched available software and sampled these four from those that are publicly available. They show what can be expected of Kanban oriented project management software. Additionally, we present a program that in the future may be used for simulating the Kanban process. 8.1 FLOW.IO Flow.io is a web-based centralized solution accessible via www.flow.io. The feature set of this application is fairly limited - e.g. no support for special board types - but nevertheless, it provides all essential elements to get started with Kanban. Figure 14: Flow.io Board Example Figure 15: Flow.io metrics The main focus of the application is to: 1. 2. 3. visualize the workflow support just-in-time production give accurate estimates. Besides basic features such as adding custom board columns and Kanban cards, the application also provides additional features such as assigning Kanban cards to people or commenting on Kanban cards. Moreover, automatically generated metrics on task completion, cycle breakdown and flow can be consulted. A personal version of flow.io is available free of charge. However, using this version, it is not possible to create and assign teams to Kanban cards or boards. Therefore, a team variant ($5/user monthly – 30 days free trial) is advertised. In conclusion, flow.io provides many interesting features and might be interesting to get started with Kanban. However, a physical board might be more appealing to many people while at the same time, no information about the own development is sourced to third-party servers. 8.2 SWIFT KANBAN Swift Kanban is another, more sophisticated or feature rich example of a cloud based project management solution based on Kanban. It supports the same basic board-management features as Flow.io. This includes amongst others, the creation, modification and movement of Kanban cards, the handling WIP limits as well the assignment of cards to people and the calculation of statistics. 24 Applications Swift Kanban handles its backlog of cards separately from the different boards. This gives the managers the ability to prioritise the work globally, instead of only on a by card basis. The cards themselves already give a great deal of information about any specific WIP. Figure 16 shows an example of a card that has been blocked. Moreover, a card can be archived, (un)blocked and have comments attached to it. Swift Kanban Figure 16: Swift Kanban Card Example also provides a feature which we have not found with many other Kanban applications, namely adding multiple tasks to a card. Using this ability, items from the work breakdown structure can be grouped into logical units or components. A B Figure 17: Swift Kanban Board Example One feature worth mentioning is that Swift Kanban is able to handle multiple projects, even when using the limited free version. Every project has its own assigned team members, card backlog, releases and much more. Furthermore, you can personalise your Swift Kanban start page with widgets. These are small snippets which give you for example an overview over the current states of the projects you are working on. As you can see under A in Figure 17, Swift Kanban allows you to heavily modify your board to fit the needs of your project and developers (unlike Flow.io). B is an example of Swift Kanban’s ability to handle swim lanes, called Smart Lanes in this webapplication, which you can configure based on a multitude of Kanban card attributes (see figure 18). Although it has a lot more features than Flow.io, Swift Kanban is nearly as easy to use. It has a clear, somewhat self-explaining web-interface with an easy to navigate menu-system. Figure 18: Swift Kanban swim lanes configuration 25 Tools and Applications 8.3 KANBAN TOOL 16 Kanban Tool is a Software as a Service (SaaS) based Kanban-board solution. At first glance, the difference between this service and for example Swift Kanban seems minimal. However, Kanban Tool may be better suited in situations in which the card design of Swift Kanban is overloaded and a sleeker version is needed. Additionally, since Kanban Tool is a SaaS, their system can be integrated into existing software environments using a REST base API. Figure 19: Kanban Tool stylish board example 8.4 LEANKIT KANBAN 17 Next, we want to introduce LeanKit Kanban . On the one hand, it is yet another web-based Kanban system, with a similar feature set than Swift Kanban. It provides all the necessary functionalities to create, manage and customise a board, including for example service level agreements. On the other hand, LeanKit Kanban has a very advanced metric system. Aside from the standard cumulative flow diagram and cycle time charts, it allows you to show and precisely configure process efficiency, process control and work distribution charts, to name just a few examples. Figure 20: LeanKit Kanban statistics example 16 17 Kanban Tool: http://kanbantool.com/ LeanKit Kanban: http://www.leankitkanban.com/Home/ 26 Applications Figure 20 is an example of an efficiency diagram. It shows on how many of the active tasks work is actually being done. It also provides precise control over the time period to use for the calculations as well as which board-category to use the cards from and whether the size of a card (i.e. the work-load associated with) is to be considered. 8.5 KANBANSIM Although not publically available at the time of writing this document, KanbanSim is an application which offers a “Simulation Engine For Kanban Systems” developed by FocusedObjective.com. 18 The reason behind developing such a simulator is that we often have to deal with questions such as : When will my project be finished? Which factors most influence that date? And how many people do I need? Answering these questions is often a very challenging and complex process which involves a lot of uncertainty. Figure 21: KanbanSim Screenshot The presented KanbanSim application focuses on the complex modelling of software development teams and projects delivering visualizations and statistics as a result. These statistics can then be used to help improve decision making processes. Some of the most interesting features planned for the release include: • • • • • Forecast completion dates and budgets using statistical data and charts Manage WIP limits and staffing levels by analysing column usage Model Kanban board definitions, including columns, WIP limits, and cycle-times Visually display a modelled Kanban board card positions and status Create videos of a simulated Kanban board to share with others A demo video showing the simulation process and a brochure describing the application are available at www.focusedobjective.com/simulators/kanbansim 18 Questions copied from KanbanSimulator brochure 27 SMALL SCALE LEGO CASE STUDY In this part of the document, we present a small scale case study on the usage of Kanban. The intention behind this case study was to investigate how Kanban works in an active setting, and to better illustrate Kanban to people that are new to the approach. Small Scale Lego Case Study 9 OBJECTIVES The objective of this small scale case study was to get a first-hand impression on how Kanban works in an active scenario. As often with agile methods, it is best to show people how a method works as opposed to just giving them instructions. One of the major goals was to find a suitable way of illustrating the method to people and to motivate them, such that they might consider using this approach in real life. The final experiment was conducted in the form of a “serious game”. We decided to challenge the participants with building a city out of Lego based on predefined schematics. This idea arose out of an initial experiment conducted by Prof. Dr. S. Coronado which often challenges students of his project management class with building two dimensional paper houses using scissors, duct tape and pens. However, compared to the professor’s experiment in which most students normally do not follow a specific method, this experiment was intended to investigate and demonstrate Kanban. To further illustrate the link between the study and software development, each phase was loosely based on real life software development stages such as design, preparation, development and testing respectively integration. 10 PREPARATION One of the major problems in designing such an experiment is to let participants focus on the essential parts. Hence, we tried to minimize distractions as far as possible and provided schematics and forms to the participants to use. As an additional constraint, we defined a time limit of one hour for the execution of the experiment. Furthermore, the participants should be able to enjoy the experience. Finally, the opinions of the participants were to be collected using a questionnaire. 10.1 LEGO SCHEMATICS As stated above, predefined schematics were handed to the participants. However, they were required to introduce small modifications, as detailed in the chapters 10.2 and 11.1. 10.2 KANBAN BOARD To ensure a non-problematic execution of the experiment, as well as defining a relationship to software development projects, a Kanban board with predefined phases and WIP limits was provided to the participants. Although the WIP limits were predefined, these were not fixed such that participants had the possibility to adapt. In addition to the “project backlog” and a “Finished” category, the following sections were used: Figure 22: Example Lego House Schematic Design: The team of participants responsible for the design phase was in charge of choosing a specific Kanban card and thus Lego house. They then had to make changes to the chosen house and specify the types and number of different Lego pieces needed by the “developers” to create that house. Preparation: The preparation team then needed to collect the Lego pieces from a big collection as per the specifications from the design team. They were allowed to organize themselves as they saw fit, but they had to keep to the lean principle of not producing waste. In this scenario this meant they had to provide exactly the specified pieces and nothing else. If they were to detect any anomalies, they should defer to the design team. 30 Preparation Figure 23: The experiment's Kanban board Development: The development team, or more accurately the building team, had the task of actually building the Lego houses, according to the specifications and using the pieces provided. For missing Lego pieces they should refer to the preparation team and for any design issues to the design team. Integration/Testing: The last team was in charge of testing the different house for stability and of verifying them against the specifications. As a last step, they needed to place and fixate the houses on a predefined Lego City floor plan. 10.3 KANBAN CARDS Each Kanban Card (Kanban Bag) within the backlog contained three items. 1. 2. 3. A high quality picture of the object that needed to be built along with some minor modifications. Participants were allowed to draw the modifications directly onto this image. 19 A form to fill out the number and type of the required Lego pieces A bigger low quality picture of the object which was put onto the Kanban board. This picture was moved along the board by us. At a later stage, participants did this by themselves. 10.4 QUESTIONNAIRE The previously mentioned questionnaire consisted of 10 questions related to the described experiment. In fact, a list of statements on which the participants were required to agree or disagree on by crossing a square 20 on a scale from -3 to 3 was provided . The participants were asked to fill the questionnaire out right at the end of the experiment. 19 20 For an example of a used form, see appendix A For the full questionnaire see appendix B 31 Small Scale Lego Case Study 11 EXECUTION 11.1 INSTRUCTIONS At the beginning of the experiment, a small presentation was given to the participants in order to introduce the most important concepts behind Kanban as well as the rules and constraints of the game. Additionally, the team roles were explained as defined previously. The rules of the game included that • • • • the design team must do some small modifications to the provided schematics the preparation team is only allowed to collect pieces as listed by the design team the development/building team must built the objects as specified the testing and integration team must ensure a more or less equal distance between all objects on the floor plan Finally, three additional constraints stated that 1. 2. 3. each wall must be of a single colour (unless explicitly stated otherwise) each roof must be of a single colour each object must be different Last but not least, the participants were reminded that they should try to build as many houses as possible. 11.2 EXPERIMENT After the introduction, the participants divided themselves into teams and started building objects. A long classroom table functioned as a product line in which the design team was the first, followed by the preparation team with the Lego box, the development team building the objects and the testing and integration team standing next to the floor plan. Figure 24: Experiment execution, phase 1 32 Observations After 30 minutes, a short brake allowed the participants to reflect on what they had done so far. This also allowed them to investigate some of the problems. For one, they detected a bottleneck in the preparation phase, while the development team was often waiting idly. As a result, the WIP limits were adapted and the teams were reorganized. Figure 25: Experiment execution, phase 2 At the end of the experiment the participants were able to build almost all of the predefined objects resulting in a small Lego city. All participants were then kindly asked to fill out the short questionnaire. Figure 26: The created Lego city 12 OBSERVATIONS During the case study, we observed that after an initial coordination phase, people started working in a very structured and effective way. The communication between the participants was very high which was most probably due to the predefined work-in-progress limits. These WIP limits helped detecting some bottlenecks very early during the experiment which then lead to discussions on how to improve the process. 33 Small Scale Lego Case Study After a 5 minute break, the participants rearrangement themselves according to their particular skills and decided to adjust the work-in-progress limits to avoid future bottlenecks. The participants continued working in an even more coordinated fashion. 13 RESULTS The analysis of the questionnaire outcome showed us that due to the experiment most participants became more interested with Kanban. The 10 statements of the questionnaire were: 1. I enjoyed the experiment 2. The experiment helped me to understand Kanban 3. I believe that Kanban, by using the “pull” principle could help to identify bottlenecks in a real-life project 4. I believe that the work in progress (WIP) limits could improve worker satisfaction by reducing stress 5. I believe that the work in progress (WIP) limits could improve productivity 6. I believe that the lean and just-in-time principles are valid for software development 7. I believe that the visualization of work via Kanban boards provides a better project overview 8. The key principles of Kanban were illustrated during the experiment (Lean, JIT, Pull, WIP Limits & Visualization) 9. I would consider using Kanban in a real-life software development context 10. Due to the experiment, I'm more interested in Kanban than before, and would like to get additional information S1 P1 3 P2 3 P3 2 P4 3 P5 3 P6 3 P7 3 P8 3 P9 2 Avg. 2,8 StdDev 0,4 S2 3 1 1 1 1 3 2 2 2 1,8 0,8 S3 2 1 1 1 2 2 1 1 0 1,2 0,7 S4 2 2 1 3 2 1 0 0 1 1,3 1,0 S5 1 1 1 1 0 2 0 0 0 0,7 0,7 S6 0 0 0 0 2 2 1 1 0 0,7 0,9 S7 2 2 0 2 2 3 1 1 3 1,8 1,0 S8 2 1 1 2 1 2 2 3 -1 1,4 1,1 S9 1 2 1 1 2 2 1 0 1 1,2 0,7 S10 2 2 0 3 3 3 0 -1 2 1,6 1,5 Most notable is the average answer to statement 1. Almost all the participants completely agreed, which is a good indicator that the experiment worked in a sense that it was educational without being boring. High agreement was also identified with respect to statement 2 and 7. This lets us conclude that the game really helped the participants identify the mechanisms and the usefulness. Because no real disagreement on any of the statements is identifiable, it is possible that the participants (university students and classmates) might have been too friendly to disagree. Nevertheless, the stronger agreement on the mentioned statements as well as the weaker agreement on the other statements indicates that some of the principles, e.g. lean production, were not well demonstrated by the experiment. To get more conclusive results, a broader study or experiment needs to be done in the future. This is supported by the relatively high standard deviation values. 34 SUMMARY In this last part of the document we will briefly summarize the content of the document as well as the conducted case study. Summary 14 SUMMARY As mentioned throughout the document, Kanban is a well-known management method in engineering, which quite recently gained popularity in the context of software development. As one of the latest agile software development approaches, Kanban promotes flexibility and communication over rules and protocols. Although originally developed in the context of the Toyota Production System, Kanban is nowadays used in many other domains. The just-in-time and lean aspects of Kanban stem from a car manufacturing process. However, both aspects proved to be also valuable in software engineering as well as other engineering domains. Moreover, Kanban’s transition from pushing work to employees towards pulling it depending on free resources (WIP slots) seems to support the detection of bottlenecks. Finally, the combination of pulling work together with predefined work-in-progress limits and a graphical representation leads to a very effective project management tool. In order to further investigate these principles, and to witness Kanban in action, we conducted a small scale experiment. We asked participants to build a Lego city while using Kanban. Our observations indicate that indeed Kanban helped people to increase productivity in a structured fashion and to detect bottlenecks more easily. Finally, the questionnaire analysis showed that due to the experiment an impressive six out the nine participants became a lot more interested in Kanban. While our results essentially resemble those of many Kanban success stories and papers of which some are mentioned within this document, we also discovered that there is at least one major issue as well as one major opportunity. The most noticeable issue with Kanban is its need for commitment since people need to pull work and to finish this work as quickly as possible while respecting certain quality levels. However, real life shows that often people need a certain level of work related pressure in order to deliver. On the other side, the most imminent opportunity of Kanban is employee empowerment. Since people can pull work at their personal pace, employees feel more responsible for the particular tasks, possibly leading to an increased level of engagement. In conclusion, we would like to add that Kanban is a very interesting approach which, if applied correctly, seems to be very useful for project managers. Nevertheless, it is not a silver bullet solution to all problems related to scheduling and work in progress management. 36 APPENDIX Appendix Appendix A EXPERIMENT FORM Figure 27: Lego Pieces form used during the experiment Figure 28: Picture card used during the experiment 38 Questionnaire Appendix B QUESTIONNAIRE 39 Appendix 40