Agile Software Development and Im- Plementation of Scrumban
Total Page:16
File Type:pdf, Size:1020Kb
Joachim Grotenfelt Agile Software Development and Im- plementation of Scrumban Metropolia University of Applied Sciences Bachelor of Engineering Mobile Solutions Bachelor’s Thesis 30 May 2021 Abstrakt Författare Joachim Grotenfelt Titel Agile software utveckling och Implementation av Scrumban Antal Sidor 31 sidor Datum 30.05.2021 Grad Igenjör YH Utbildningsprogram Mobile Solutions Huvudämne Informations- och kommunikationsteknologi Instruktörer Mikael Lindblad, Projektledare Peter Hjort, Lektor Målet med avhandlingen var att studera agila metoder, hur de används i mjukvaruföretag och hur de påverkar arbetet i ett programvaruutvecklingsteam. Ett annat mål med avhandlingen var att studera bakgrunden till den agila metoden, hur den togs i bruk och hur den påverkar kundnöjdhet. I denna avhandling förklaras några existerande agila metoder, verktygen för hur agila metoder används, samt hur de påverkar programvaruutvecklingsteamet. Avhandlingen fokuserar sig på två agila metoder, Scrum och Kanban, eftersom de ofta används i olika företag. Ett av syftena med denna avhandling var att skapa förståelse för hur Scrumban metoden tas i bruk. Detta projekt granskar fördelarna med att ha ett mjukvaruutvecklingsteam som arbetar med agila processer. Projektet lyckades bra och en arbetsmiljö som använder agila metoder skapades. Fördelen blev att utvecklarteamet kunde göra förändringar när sådana behövdes. Nyckelord Agile, Scrum, Kanban, Scrumban Abstract Joachim Grotenfelt Author Basics of Agile Software Development and Implementation of Title Scrumban Number of Pages 31 pages Date 30.05.2021 Degree Bachelor of Engineering Degree Program Mobile Solutions Professional Major Information- and Communications Technology Instructors Mikael Lindblad, Project Manager Peter Hjort, Senior Lecturer The goal of the thesis is to study the Agile methods and how they affect the work of a soft- ware development team. This study also explores the background of Agile, how it is currently used in companies and how it can be taken into use in a project. This study focuses on how Agile methods are used and offers guidelines how to use the methods more effectively. Furthermore, the study explains the benefits that the use of Agile methodology can bring to companies. The thesis focuses mainly on two Agile methods, namely Kanban and Scrum, because they are widely used in different companies. One of the purposes for this work was to create a basic understanding of how the Scrumban method, a combination of Kanban and Scrum, is used while working on an ongoing project. As a result of this project, the benefits and tools of the Scrumban method were implemented in a company. The results were positive, creating an Agile work environment for a software team, and providing it the chance to make any changes when necessary. Keywords Agile, Scrum, Kanban, Scrumban Contents Contents 1 Introduction 1 2 History 2 3 Agile Methodology 3 3.1 Twelve Principles of Agile 3 3.1.1 The First Principle, Customer satisfaction 4 3.1.2 The Second Principle, changes 5 3.1.3 The Third Principle, planning 5 3.1.4 The Fourth Principle, working together as a company. 5 3.1.5 The Fifth Principle, employees 6 3.1.6 The Sixth Principle, face-to-face conversation 6 3.1.7 The Seventh Principle, project progression 6 3.1.8 The Eight Principle, key players during development 6 3.1.9 The Ninth Principle, improve the level of agility. 7 3.1.10 The Tenth Principle, simplicity 7 3.1.11 The Eleventh Principle, self-organizing teams 8 3.1.12 The Twelfth Principle, reflecting on the team’s performance. 8 3.2 DSDM the original Agile method 8 3.3 Extreme Programming (XP) 10 3.4 Lean Software Development 12 3.5 Crystal 12 3.6 SCRUM 13 3.6.1 The Scrum Team 13 3.6.2 Scrum Board, sprint task board 14 3.6.3 Daily Scrum and Scrum of Scrums 15 3.6.4 Sprint 16 3.6.5 Burn Charts 16 3.6.6 Sprint Review 18 3.6.7 Retrospective 18 3.7 Kanban for self-sufficient teams 18 3.8 Scrumban, a combined Agile Method 21 4 Using Scrumban in an Ongoing project 22 Contents 4.1 Planning and Implementing Scrumban 22 4.2 Interviewing Agile qualified engineers on Kanban and Scrum 25 4.3 Updating, Upkeeping, and Improving Scrumban 26 5 Discussion and Conclusion 29 References 32 List of Abbreviations PO Product owner, the person in charge of the project. SM Scrum master, scrum team facilitator. SP Story Point, a measurement for tasks in product backlog. SoS Scrum of Scrums, meeting between SMs CP/M Control Program/Monitor, operating system. 1 1 Introduction Agile methods are a growing trend in the software development industry because they bring a product the customers’ need. Many times, products that software developers created in the past were not relevant anymore at the time of release. The idea for this thesis came from students who started working for Nokia. The students created thesis studies of an ongoing project and while thinking of the topics, it became obvious that no one working on the project had any idea of how to use Agile methods. This thesis focuses on Scrum, Kanban and Scrumban as Agile methods, other methods discussed are Crystal, Dynamic Systems Development Method (DSDM), Lean Software Development and Extreme Programming. The reason for choosing the three main meth- ods is the flexibility of Kanban and how Scrum as an Agile method brings predictability. Together these two methods can be combined into a method called Scrumban. There are no set practices yet for Scrumban and the thesis tries it out and shows how it can be executed. The data for the agile methods comes mainly for public available sources. Nokia was founded in 1865 as a single paper mill operation, the company began to find and nurture new industrial sectors over the years. These sectors included cable, paper product, rubber boots, tires, televisions and mobile phones. Nokia changed their primary focus to telecommunications in the 1990s and in 1991 the first call ever made with GSM (The Global System of Mobile Communications) was made by using Nokia equipment. In 1998 Nokia had the best-selling mobile phone brand in the world and in 2003 they introduced the first camera phone. In 2014, Nokia sold their mobile and devices division to Microsoft. [1.] Followed-up by creation of Nokia Networks, and buying out the joint-venture partner Sie- mens laying the foundations for new focus, today Nokia is known primarily as a network hardware and software provider. [1.] 2 2 History In the early 1990s, software development faced a crisis because the use of personal computers (PC) began to rapidly increase in enterprises. This crisis was referred to as “the application development crisis,” or “application delivery lag” [2]. The reason behind the crisis was that businesses developed much faster than anticipated and the software needed was outdated and did not meet the needs of companies [2] [3, 132]. Between 1991 and 1997 many methods that would fit the Agile repertoire were created. Some of these methods are rapid application development, Dynamic Systems Develop- ment Method (DSDM), Scrum, Crystal, and Extreme Programming. Today these meth- ods are known as Agile development frameworks. Even though these methods were created before the Agile Manifesto, it was clear that the fundamental practices, methods, and tools used were all associated with Agile methodology. The Agile Manifesto was signed in 2001 by the founders in Utah, USA. The seventeen founders and the signatories of the Agile Manifesto, were: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas [4]. The goal for their meeting was to find a different way to go about the software develop- ment process. Each person in the group was known as a rebel of sorts by bending the rules, working in unorthodox manners, and otherwise exploring the uncertain areas of software development. The problem was that their small group tried to break the ice when working with the mindset of manufacturing. Companies they worked for often wanted to run software development the same way a manufacturing process is ran. This group understood that the software development resembled more new-product develop- ment with an engineering approach. A quote from NASA’s Robert Frost helps to explain the difference between development and manufacturing. “… Why does it take six years to develop a new airplane when it shares 90% of its ‘DNA’ with the previous model? The answer is that they are complex devices… there is a little tolerance for imprecision and error.” [3, 160]. 3 All the software developers gathered for the meeting understood this mindset because they had worked with the obstacle for decades. They had experienced success and fail- ure with many different frameworks and tools. These frameworks and tools did not guar- antee success in any given project. Companies did not understand this, and they had implemented various methodologies other than Agile into their operations. Because of this, the software design processes were not short and brief enough. The group named themselves “The Agile Alliance” and created a manifesto of twelve principles and four values. Their goals were to create deep-set themes that would fuel development, rather than a strictly outlining of tools. After the publication of the Agile values and principles, the Agile movement took off [3, 175]. For example, documentation and the use of right methodologies became easier. 3 Agile Methodology Agile methodology was first mentioned in 2001 [3, 636], when light-weight or light soft- ware development tools were introduced as Agile frameworks. Agile methods bring the ability to react to the needs of the customer.