USAGE AND PERCEPTIONS OF AGILE SOFTWARE DEVELOPMENT IN AN INDUSTRIAL CONTEXT Andrew Begel, Nachiappan Nagappan Microsoft Research ESEM 2007 September 21,

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Copyright Insight Test Services Testing From The Start – Test Driven Development TM Summit Fran OHara, Insight Test Services
Metrics and Databases for Agile Software Development Projects David I. Heimann IEEE Boston Reliability Society April 14, 2010.
Are Parametric Techniques Relevant for Agile Development Projects?
Program Management School Agile & ADDIE Add-Up (AAAU) Elliott Masies Learning 2012 October 21-24, 2012.
Feb Alten Group Started in France in 1988 Currently more than people Presence in 10 countries Active in The Netherlands since 2002.
Agile Software Development Robert Moore Senior Developer Curtin University.
An Agile Retrospective Clinton Keith Overview Retrospective format What works (clear wins)? What doesn’t work so well? What do we need to start doing?
Agile Testing and/or Agility in Testing? Juha Itkonen SoberIT Teknillinen Korkeakoulu Test Summit, , Savonlinna.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Agile Project Management with Scrum
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
Scrum in 30 minutes! Oddly, a 45-minute presentation by Carl Chatfield Content Project Manager, Microsoft Puget Sound MPUG September 2009.
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Agile Methods, Aspects and Virtual Model Driven Engineering David Parsons Massey University Auckland, New Zealand.
Programming with eyes wide open. Your host today Subby Angelov Team
An Agile View of Process
Introduction to Agile.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Software Development Landscape
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Chapter 4 Agile Development
Agile Software Development Brian Link
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
What is Scrum Process? Where is it used? How is it better?
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
1 Today’s Plan In Class Exam – Quick Review Thoughts on your Junior Projects, cntd People and Roles on Projects.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Copyright, © 2004, Theresa M. Welbourne, Ph.D. 1 HR Confidence June Leadership Pulse Dr. Theresa M. Welbourne Preliminary Report June 16, 2004.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
Theories of Agile, Fails of Security Daniel Liber CyberArk.
K15T2-Team 5- PoD Team Software Project Management.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
 Son Nguyen, YM & Skype: ng_thanhson.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Project Workflow.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Agile Methods SENG 301.
Appendix B Agile Methodologies
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Agile Scrum Management
Where Agile Business Meets Agile Development
Scrum MODULE 3 – Part 3.
Teaching slides Chapter 1.
Andrew Begel, Nachiappan Nagappan Microsoft Research
Introduction to Agile Blue Ocean Workshops.
Appendix B Agile Methodologies
Agile Development.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

USAGE AND PERCEPTIONS OF AGILE SOFTWARE DEVELOPMENT IN AN INDUSTRIAL CONTEXT Andrew Begel, Nachiappan Nagappan Microsoft Research ESEM 2007 September 21, 2007

Agile Development is Spreading Variety of Agile methodologies Scrum, Extreme Programming, Crystal, others Research Questions How is Agile practiced at Microsoft? i.e. What do they do? How do engineers feel about it? i.e. Do they like it? This will be a data-heavy talk.

What did we do? Survey-based study Anonymous survey sent to 2821 engineers at Microsoft 10% random sampling of all developers, testers, program managers at Microsoft in October valid responses 18% developers, 18% testers, 10% program managers Important topic to Microsoft engineers We offered raffle for one $250 MP3 player

Respondent Demographics Average 9.20 years of professional experience SD: 7.06 years Average 2.4 years in current product team SD: 2.5 years

Respondent Job Area

Respondent Job Role

Who uses Agile? 59.6% of Agile users work on legacy (not v1) code 32% of respondents say their team uses Agile development methodologies

Agile Methodology

Agile Practice Penetration

Length of Time Using Agile

Team Collocation 84% of respondents in Agile teams are collocated within the same building

Engineering Teams Like Agile

Qualitative Methodology Open Coding via Card Sort Print all long answer responses (for each survey question) on index cards Sort them into piles on a table, by theme Move cards between piles until settled Each answer can be in only one pile Piles labeled by theme of answers within 2 researchers working together 2-3 hours per card sort

Perceived Benefits from Agile 687 comments, 44 themes Team members are aware of what each of the others is working on. When you integrate early and often, the product can be tested early and often, too. You dont have to commit prematurely (for example, to design decisions). The process supports real-time tracking of progress and ability to adjust future forecasts based on real data. …ongoing refactoring leads to higher code reuse and better quality.

Perceived Problems from Agile 565 comments, 58 themes Agile works for small co-located teams, but not for complex large projects. The pressure to daily report percentage of progress was uncomfortable, especially when I had to report progress (or call an item done) without actually testing in integrated fashion. Upper management still tries to get specific dates for specific deliverables. Agile development is simple, but requires a lot of discipline from the team. Interaction with non-Agile teams is hard because they dont understand that you can guarantee that all the sprint items will be completed because the prioritization meeting involves very loose time estimates. The focus is on todays work more than what the feature team is trying to achieve.

Open Questions How do you scale Agile to large ( person) teams? How do you best coordinate Agile and non-Agile teams? Recently finished study on software team coordination at MS (in submission). What are the best software metrics for discerning Agile (vs. non-Agile) process effects on teams artifacts? How can we fix actual and perceived problems uncovered in ethnographic investigations of Agile software development teams?

Conclusions 1/3 of respondents (spread across divisions) report their team uses Agile methodologies. They mainly use Scrum. Used for many legacy products. Test-driven development and pair programming are not very common. Agile usage does not appear to affect team collocation. MS engineers who have used Agile like it for their local team, but not necessarily for their organization. They worry about scale, overhead, and management buy-in.

Questions? Andrew Begel HIP – Human Interactions in Programming Nachiappan Nagappan ESM – Empirical Software Engineering and Measurement