Scrum + Engineering Practices: Experiences of Three Microsoft Teams

Scrum + Engineering Practices: Experiences of Three Microsoft Teams

Scrum + Engineering Practices: Experiences of Three Microsoft Teams Laurie Williams Gabe Brown, Adam Meltzer, Nachiappan Nagappan North Carolina State University Microsoft Corporation Raleigh, NC 27695, USA Redmond, WA 98052, USA [email protected] {gabeb, ameltzer, nachin}@microsoft.com Abstract - The Scrum methodology is an agile software iteration are high as the team works to meet its iteration development process that works as a project management goal. wrapper around existing engineering practices to iteratively This short-term focus of iterations coupled with a lack and incrementally develop software. With Scrum, for a of prescribed engineering practices may lead to trouble. developer to receive credit for his or her work, he or she must “Flaccid Scrum1” is a term coined by Martin Fowler to refer demonstrate the new functionality provided by a feature at the end of each short iteration during an iteration review session. to teams that utilize only Scrum’s project management Such a short-term focus without the checks and balances of practices. Progress eventually slows for Flaccid Scrum sound engineering practices may lead a team to neglect quality. teams, according to Fowler, because the team has not paid In this paper we present the experiences of three teams at enough attention to the quality of the code produced during Microsoft using Scrum with an additional nine sound each iteration. In some cases, only the easiest scenario of a engineering practices. Our results indicate that these teams feature (often referred to as the “happy path”) is were able to improve quality, productivity, and estimation demonstrated at the end of the iteration. This “happy path” accuracy through the combination of Scrum and nine may be formally specified as the acceptance criteria for the engineering practices. feature. The feature can then be considered to be “done”, Keywords - Agile software development, Scrum with the development team getting credit for the feature. Focus then turns to a new set of commitments to deliver features for the next iteration, even if only the “happy path” I. INTRODUCTION of prior features has been done. Scrum [16, 29] is the most often used [6, 30, 31] agile The Scrum methodology, however, may provide a solid [10] software development methodology among teams that project management framework for a team that also utilizes utilize an agile methodology. A large-scale survey [31] sound engineering practices. In this paper, we share the deployed in the software engineering industry from experiences and quantitative productivity and quality results June/July 2008 received 3061 respondents from 80 different of three Microsoft teams who utilized a Scrum-based countries. For the question “Which Agile methodology do software development methodology augmented with nine to you closely follow” 49% of the respondents mentioned engineering practices recommended by the Microsoft Scrum and an additional 29% mentioned Scrum with Engineering Excellence group that takes care of Extreme Programming. Additionally, a survey of 10% of companywide process initiatives. all engineers at Microsoft, indicated that more than 60% of Software engineering research can aid practitioners in the engineers use Scrum (Figure 2) [6]. Scrum provides a their technology and/or process choices. Practitioners who project management structure to a team. However, the read this paper will gain an understanding of the need to add Scrum methodology does not prescribe the engineering engineering practices to a Scrum process to prevent Flaccid practices a team should use, purportedly to give Scrum. organizations as much flexibility as possible in choosing The rest of this paper is structured as follows. We their engineering practices. explain Scrum and provide background in Sections 2 and 3. With Scrum, gone are the days of a software developer We provide the motivation for our paper in Section 4. In reporting to the project manager that a new feature is 80% Section 5, we describe the practices adopted by the team. complete. Instead, in a Scrum environment, credit is “all or We then provide the results of the teams in Section 6 and nothing” whereby a feature that is 99% done is considered limitations of our study in Section 7. We summarize the “not done.” For the developer to receive credit for his or her study in Section 8. work, he or she must demonstrate the new functionality II. SCRUM provided by a feature at the end of each short iteration during an iteration review session. Developers, testers, the The Scrum methodology is an agile software project managers, the product owner/manager, and others development process that works as a wrapper with existing attend this iteration review session. The expectations for engineering practices to iteratively and incrementally demonstrating all planned features at the end of each 1 http://www.martinfowler.com/bliki/FlaccidScrum.html 2 http://www.sei.cmu.edu/cmmi/ 3 http://www.nunit.org/index.php 4 http://junit.org/ develop software. Scrum is composed of the following this section, we summarize information available in the project management practices: literature about the use of Scrum by industrial software development teams whereby the papers provided details • The Product Owner creates the requirements, prioritizes beyond qualitative experience reports. A pattern among the them, and documents them in the Product Backlog published studies is that the successful Scrum teams also during Release Planning. In Scrum, requirements are utilized proven engineering practices. called features. Tain, a Swedish gaming company, adopted Scrum and • Scrum teams work in short iterations. When Scrum Extreme Programming (XP) engineering practices to was first defined [16, 29], iterations were 30-days long. develop an online poker game [21]. The team delivered a More recently Scrum teams often use even shorter stable, scalable product on schedule. During this time, the iterations, such as two-week iterations. In Scrum, the team also was reduced in size by half and those that current iteration is called the Sprint. remained worked less overtime to produce more business • A Sprint Planning Meeting is held with the value than previously. The engineering practices the team development team, testers, management, the project enumerated as critical to their success are the following: manager, and the Product Owner. In the Sprint continuous integration, refactoring, and test-driven Planning Meeting, this group chooses which features development. (which are most often user-visible, user valued, and A development team for an Internet portal utilized the able to be implemented within one iteration) from the Scrum methodology [12]. Initially, the short term focus of product backlog are to be included in the next iteration, Scrum caused this team to ignore the use of some best driven by highest business value and risk and the engineering practices, leading to “cumulative and often capacity of the team. irreversible” problems. Early in the development cycle, the team established source control, coding standards, processes Once the Sprint begins, features cannot be added to the • for code reviews and check-ins, and informal rules for Sprint. design discussions and team meetings. However, the team • Short, 10-15 minute Daily Scrum meetings are held. did not initially establish an automated build system, a unit While others (such as managers) may attend these test framework, or a practice of creating automated quality meetings, only the developers and testers and the Scrum assurance tests. The eventual implementation of these Master (the name given to the project manager in practices aided the team in successfully implementing a Scrum) can speak. Each team member answers the higher quality product by a team with improved morale. following questions: Two teams at Systematic utilized a Scrum-based process [18]. Systematic is an independent software and o What have you done since the last Daily Scrum? systems company focused on complex and critical o What will you do between now and the next Daily Scrum? information technology solutions. Systematic often produces products that are mission critical with high o What is getting in your way of doing work? demands for reliability, safety, accuracy, and usability. In • At the end of a Sprint, a Sprint Review takes place to 2005, Systematic was rated a Capability Maturity Model – review progress and to demonstrate completed features Integrated (CMM-I)2 Level 5 company, an indication of its to the Product Owner, management, users, and the team use of engineering best practices. Through the use of Scrum, members. Systematic estimates that it doubled its productivity and cut • After the Sprint Review, the team conducts a defects by 40%. Retrospective Meeting. In the Retrospective Meeting, B. Case Study Research the team discusses what went well in the last Sprint and how they might improve their processes for the next The experiences shared in this paper can be classified Sprint. as case study research. Case studies can be viewed as “research in the typical” [13, 19]. As opposed to formal III. BACKGROUND AND RELATED WORK experiments, which often have a narrow focus and an In this section, we provide related work on the Scrum emphasis on controlling context variables, case studies in agile software development methodology. We also discuss software engineering test theories and collect data through case study research. observation of a project in an unmodified setting [34]. However, because the corporate, team, and project A. Scrum Research characteristics are unique to each case study, comparisons A myriad of qualitative experience reports about the and generalizations of case study results are difficult and are Scrum software development methodology have been subject to questions of internal validity [20]. Nonetheless, published. However, few studies have been conducted on case studies are valuable because they involve factors that the Scrum that report quantitative results, as ours does. In 2 http://www.sei.cmu.edu/cmmi/ staged experiments generally do not exhibit, such as scale, C. Scrum-based Process Used by Teams complexity, unpredictability, and dynamism [27].

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us