Agile Software Development in Industrial Context: Usage and Perceptions

usage and perceptions of agile software n.w
1 / 18
Embed
Share

Explore the usage and perceptions of Agile software development in an industrial context through a survey-based study conducted at Microsoft. Discover insights on how Agile is practiced, engineers' sentiments towards Agile, respondent demographics, job areas, Agile methodology, penetration, length of time using Agile, and team collocation. Gain valuable understanding of Agile trends and practices in the industry.

  • Agile Software Development
  • Industrial Context
  • Microsoft
  • Survey Study
  • Software Engineers

Uploaded on | 1 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


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

  2. 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.

  3. 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 2006 487 valid responses 18% developers, 18% testers, 10% program managers Important topic to Microsoft engineers We offered raffle for one $250 MP3 player

  4. 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

  5. Respondent Job Area 250 212 200 138 150 85 100 50 17 9 8 4 4 3 2 2 1 0

  6. Respondent Job Role 400 353 350 300 250 200 150 100 80 35 50 11 7 0

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

  8. Agile Methodology

  9. Agile Practice Penetration

  10. Length of Time Using Agile

  11. Team Collocation 50.00% Uses Agile (% within) 45.00% 40.00% Does not use Agile (% within) 35.00% 30.00% 84% of respondents in Agile teams are collocated within the same building 25.00% 20.00% 15.00% 10.00% 5.00% 0.00%

  12. Engineering Teams Like Agile

  13. 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

  14. Perceived Benefits from Agile 1. Improved Communication and Coordination 2. Quick Releases 3. Flexibility of Design Quicker Response to Changes 4. More Reasonable Process 5. Increased Quality decisions). 121 101 86 Team members are aware of what each of the others is working on. The process supports real-time tracking of progress and ability to adjust future forecasts based on real data. quality. ongoing refactoring leads to higher code reuse and better When you integrate early and often, the product can be tested early and often, too. 65 62 You don t have to commit prematurely (for example, to design 687 comments, 44 themes

  15. Perceived Problems from Agile 1. Does not scale to larger projects 2. Too many meetings 3. Management buy-in 4. Unfamiliar with Agile 5. Coordination with other teams 6. Losing sight of the big picture team. 52 44 37 36 29 29 Interaction with non-Agile teams is hard because they don t understand that you can guarantee that all the sprint items will be completed because the prioritization meeting involves very loose time estimates. 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. deliverables. Agile development is simple, but requires a lot of discipline from the The focus is on today s work more than what the feature team is trying to achieve. Upper management still tries to get specific dates for specific 565 comments, 58 themes

  16. Open Questions How do you scale Agile to large (500-5000 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?

  17. 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.

  18. Questions? Andrew Begel (andrew.begel@microsoft.com) HIP Human Interactions in Programming http://research.microsoft.com/hip Nachiappan Nagappan (nachin@microsoft.com) ESM Empirical Software Engineering and Measurement http://research.microsoft.com/esm

Related


More Related Content