Have Agile Techniques been the Silver Bullet for Software Development at Microsoft?

  title={Have Agile Techniques been the Silver Bullet for Software Development at Microsoft?},
  author={Brendan Murphy and Christian Bird and Thomas Zimmermann and Laurie A. Williams and Nachiappan Nagappan and Andrew Begel},
  journal={2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement},
  • Brendan MurphyC. Bird A. Begel
  • Published 12 December 2013
  • Medicine
  • 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement
Background. The pressure to release high-quality, valuable software products at an increasingly faster rate is forcing software development organizations to adapt their development practices. Agile techniques began emerging in the mid-1990s in response to this pressure and to increased volatility of customer requirements and technical change. Theoretically, agile techniques seem to be the silver bullet for responding to these pressures on the software industry. Aims. This paper tracks the… 

Figures and Tables from this paper

Implementing Agile Development At Scale : An Industry Case Study

Agile software development methodologies are extremely popular. Their dynamic restructuring of the development process has been seen as the silver bullet for increasing the productivity of software

How Agile Impacts a Software Corporation: An Empirical Study

  • Hwai-Jung HsuYves Lin
  • Computer Science, Business
    2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC)
  • 2018
This paper study the business data, development, and human resources records provided by Titansoft, a Singapore IT service corporation which is well-known in its successful Agile experiences and reveals three primary impacts brought by agile adoption.

What Makes Agile Software Development Agile?

An empirical study grounded in a large-scale international survey that aims to identify software development methods and practices that improve or tame agility, concluding that agility cannot be defined solely at the process level.

Agile and other trends in software engineering

  • M. RaunakD. Binkley
  • Computer Science
    2017 IEEE 28th Annual Software Technology Conference (STC)
  • 2017
Survey results from 99 software engineering developers and managers regarding their choice of process, technique, and tools, as well as their impressions as to the contributing factors towards project success or failure, show that there is a clear trend towards agile adoption across organizations, albeit traditional processes are still firmly entrenched in some areas.

Assessing Product Development Agility

This chapter focuses on a set of general agile characteristics derived from the agile values and principles embraced by many software developers that provide a basis for assessing difficulties in software development projects employing agile practices, applying concepts of agility to other disciplines beyond software development, and measuring agility.

Empirical Study of Agile Software Development Methodologies: A Comparative Analysis

A comparative analysis among various agile software development methodologies is provided for, revealing higher adoption of Scrum based development in present-day software industry as compared to Extreme Programming and Kanban methodologies.

Empirical investigation of agile software development: cloud perspective

The purpose of this paper is to empirically investigate the choice between two of the Agile methodologies, Scrum and Extreme Programming, and reveal that current software industry practices tend to opt for Scrum-based development.

Is Water-Scrum-Fall Reality? On the Use of Agile and Traditional Development Practices

The results clearly show that companies enact context-specific hybrid solutions in which traditional and agile development approaches are used in combination, despite the assumed dominance of agile methods.

Practicing Scrum in Institute Course

An experimental course in Feng Chia University that practices Scrum for term projects among five teams composed of 34 students is described, and the lessons learned from practicing Scrum in college are presented.

Usage , Retention , and Abandonment of Agile Practices : A Reflection on Agile Maturity Models

Background: A number of Agile maturity models (AMMs) have been proposed to guide software organizations in their adoption of Agile practices. Typically the AMMs suggest that higher maturity levels



Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study

It is found that one-third of the study respondents use agile methodologies to varying degrees, and most view it favorably due to improved communication between team members, quick releases and the increased flexibility of agile designs.

Toward Agile: An Integrated Analysis of Quantitative and Qualitative Field Data

The PLS results of survey responses of 399 software project managers suggest that the relationships among these variables are more complex than what has been perceived by the literature, and suggest a tradeoff relationship between response extensiveness and response efficiency.

Distributed Scrum: Agile Project Management with Outsourced Development Teams

This paper analyzes and recommends best practices for globally distributed agile teams and finds SirsiDynix best practices are similar to those observed on distributed Scrum teams at IDX Systems, radically different than those promoted by PMBOK, and counterintuitive to practices advocated by the Scrum Alliance.

Does distributed development affect software quality? An empirical case study of Windows Vista

Examining the overall development of Windows Vista and comparing the post-release failures of components that were developed in a distributed fashion with those that wereDeveloping by collocated teams found a negligible difference in failures.

Pair programming: what's in it for me?

A longitudinal evaluation of pair programming at Microsoft Corporation finds that 22% pair program or have pair programmed in the past, and most engineers preferred a partner who had complementary skills to their own, who was flexible and had good communication skills.

A Survey of the Practice of Design -- Code Correspondence amongst Professional Software Engineers

  • Ariadi NugrohoM. Chaudron
  • Computer Science
    First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007)
  • 2007
A study into the correspondence between the design of a software system, represented by means of UML, and the implementation of the system and the results provide a deeper understanding of the aspects of correspondence and their importance in practical software engineering.

Test-driven Development - by example

  • Kent L. Beck
  • Computer Science
    The Addison-Wesley signature series
  • 2003
Drive development with automated tests, a style of development called “Test-Driven Development” (TDD for short), which aims to dramatically reduce the defect density of code and make the subject of work crystal clear to all involved.

Pair Programming Illuminated

This book describes the technique of pair programming from many perspectives and offers ideas to help enhance the pairing and solutions for most problem pairings; not all pairs will work and the book provides ways to recognize the potential problems before they happen.

Collaborative learning

The role of doctor no longer carries with it the automatic right to tell other health care professionals what to do, and being a team player has become a requirement, and leadership a skill rather than a role.