A Statistical Analysis of the Effects of Scrum and Kanban on Software Development Projects
Total Page:16
File Type:pdf, Size:1020Kb
Robotics and Computer-Integrated Manufacturing 43 (2017) 59–67 Contents lists available at ScienceDirect Robotics and Computer-Integrated Manufacturing journal homepage: www.elsevier.com/locate/rcim Full length Article A statistical analysis of the effects of Scrum and Kanban on software development projects Howard Lei n, Farnaz Ganjeizadeh, Pradeep Kumar Jayachandran, Pinar Ozcan Department of Engineering, California State University - East Bay, Hayward, CA 94542, USA article info abstract Article history: Traditionally, software development processes have relied on the use of the “Waterfall” and “Vee” Received 10 April 2015 models. Later, Agile methodologies were used to handle the challenges of managing complex projects Received in revised form during the development phase. Agile methodologies are a group of incremental and iterative methods 16 September 2015 that are more effective, and have been used in project management. Kanban and Scrum are two powerful Accepted 9 December 2015 Agile project management approaches in software development. The objective of Scrum and Kanban is Available online 17 December 2015 achieved by optimizing the development process by identifying the tasks, managing time more effec- Keywords: tively, and setting-up teams. A review of the literature reveals that there is a lack of statistical evidence to Project management factors for software conclude which methodology is more effective in dealing with the traditional project management development factors of budget handling, risk control, quality of the project, available resources, having clear project Agile movement scope, and schedule handling. This research statistically compares the effectiveness of the Scrum and Scrum methodology Kanban methodology Kanban methods in terms of their effects on the project management factors for software development projects. Numerical analysis is performed based on survey responses from those with experience in the Scrum and Kanban methods. Results suggest that both Scrum and Kanban lead to the development of successful projects, and that the Kanban method can be better than the Scrum method in terms of managing project schedule. & 2015 Elsevier Ltd. All rights reserved. 1. Introduction incremental and iterative in nature [1] and others were linear and sequential, known as “Waterfall Model” [2]. The Waterfall model While project management methodologies have been used for assumes that the team has nearly perfect information about the a very long time and date back to the Egyptian era, organizations project requirements, the solutions, and ultimately the goal. adopted the methods only half a century ago. During the mid Hence, changes in requirements were not encouraged, and became 1900s, the defense, navy, and space research industries were the an expensive affair. Nevertheless, the sequence of steps in the first to adopt effective project management methodologies to Waterfall model is rarely followed in the actual system design [3], achieve organizational goals. By the early 1990s, with the boom in and it had become evident that the approach lacked effectiveness hardware and software engineering industries, project manage- in addressing the needs of customers, managing rapidly changing ment methodologies found many takers and have proved effective scope, delivery time, and cost of the project [4]. The Vee Process in helping organizations achieve tremendous results in its pro- model is yet another system process model that starts with a user ducts. Adopting one of the project management methodologies need and ends with a completed system [3]. In this model, testing and verification are performed at each stage of the system de- made organizations more efficient in terms of planning, setting velopment, starting with the low-level components and ending timelines and budgets, and improving quality of the products that with the higher-level components until the entire system has been were produced. verified. In the mid-1990s, other software development methods By the late 1950s, there have been many trial-and-error evolved due to problems of these so-called “heavyweight software methods in managing software development projects. The early methodologies,” which are complex and require detailed doc- methods were used to find better ways of gathering and defining umentation and expensive design [5]. project requirements, analyzing problems, and conducting sys- In 2001, the Agile movement was introduced in response to the tematic implementations of problems. Some of the methods were failures of the Waterfall software development methodology [6]. One of the models based on the Agile movement, known as Scrum, n Corresponding author. is based on principles of lean manufacturing [6]. A different E-mail address: [email protected] (H. Lei). methodology based on the Agile movement is called Kanban, http://dx.doi.org/10.1016/j.rcim.2015.12.001 0736-5845/& 2015 Elsevier Ltd. All rights reserved. 60 H. Lei et al. / Robotics and Computer-Integrated Manufacturing 43 (2017) 59–67 which was inspired by the Toyota Production System [7] and by discussed and the Manifesto for Agile Software Development had Lean manufacturing [8]. Recently, the Kanban and Scrum meth- been published to define the framework and goals of these odologies are two powerful methods adopted by organizations for methods [13]. software development. Although there has been a debate for years about which of these methods are preferred, there has not been 2.2. Early history of Scrum sufficient evidence based on statistical analysis for selecting a preferred method. The work of Sjoberg et al. in 2012 attempted to Scrum is a project management methodology for Agile soft- quantify the effects of Kanban versus Scrum in a case study with ware development that uses iteration and incrementation. It has one company, but the authors suggested that their study should be been designed to manage rapidly-changing project requirements replicated in other environments [9]. by improving communication between project developers, project The focus of this research is to provide statistical evidence to owners, and other team members. In 1986, Hirotaka Takeuchi and determine if there is a significant difference between the Scrum Ikujiro Nonaka named Scrum the new product development and Kanban methods in terms of their effects on different project standard in auto and consumer product companies [14]. Scrum has management factors. The project management factors examined been defined, formalized, and published as the first Agile metho- in this work are based on the 6-point star model associated with dology for software development [15]. In 1993, Jeff Sutherland, the Project Management Body of Knowledge [10]. The factors in- John Scumniotales, and Jeff McKenna, at Easel Company, had used clude project scope, budget, schedule, risk, quality, and resources. Scrum for software development projects for the first time [16].In In this work, the data is first collected via a web-based survey. 2002, Schwaber and Beedle wrote the book “Agile with Scrum” to Each survey question relates to one of the six project management describe Scrum methodology [17]. Although Scrum had become a factors listed above. Next, the correlation between these factors common methodology since then, a study of Agile software de- and the success of a project is verified by a Pearson correlation velopment shows that only 3% of the existing scientific evidence analysis. Finally, Kanban and Scrum methodologies are compared on Agile software development focuses on Scrum [18], which this to each other in terms of their effect on the six project manage- paper aims to address. The following sections describe Scrum ment factors. Core results of this work have been previously methodology, including its implementation process and practices. published and presented at the FAIM 2014 conference in San An- tonio, Texas [11]. However, this paper describes the history and 2.3. Scrum theory backgrounds of the methodologies in greater detail, presents re- sults in greater detail, and provides additional analysis of the Scrum, based on empirical process control theory, is an itera- results. tive and incremental project management methodology to control This paper is structured as follows: Section 2 presents the risk and optimize the predictability of a project. Transparency, history of the Agile movement, and provides background on Scrum inspection, and adaptation, which are defined below, are three and Kanban theory. Section 3 describes the approach and techni- important factors in the Scrum process [19]. ques used in this work, and Section 4 provides a statistical analysis Transparency: The process must be visible to everyone who is and discussion of the results. Section 5 gives a conclusion, and involved in the project. suggests future work. Inspection: Scrum users must inspect Scrum artifacts frequently to detect problems in early stages. Adaptation: If an inspector determines that some aspects of the 2. Agile software development methodologies project are unacceptable and outside of the project scope, the process can be adjusted to avoid further problems. In this section, the evolution of Agile software development, It should be noted that it is crucial to apply these factors during the creation of Scrum and Kanban methodologies, and their ap- different project development phases. Details pertaining to these plications, are explained. Figures are also included to illustrate factors are presented in the following sections. their usage