Effects of Distributed Software Development and Virtual Teams



Similar documents
The Methodology of Software Development

Understanding and Predicting Effort in Software Projects

How to Measure Software Quality in Vain

Interval Quality: Relating Customer-Perceived Quality To Process Quality

Globalization and the Future Developer

Automating the Measurement of Open Source Projects

Software Support Tools and Experimental Work

Developer Fluency: Achieving True Mastery in Software Projects

Two case studies of Open Source Software Development: Apache and Mozilla

(2) Question 2: Size of Mozilla community.

Defect Detection in a Distributed Software Maintenance Project

An Empirical Study of Speed and Communication in Globally-Distributed Software Development

Communication Needs, Practices and Supporting Structures in Global Inter- Organizational Software Development Projects

Open Source Software Maintenance Process Framework

A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files

Predictors of Customer Perceived Software Quality

Sample Workshops - An Overview of Software Development Practices

SHARED MENTAL MODELS AND COORDINATION IN LARGE-SCALE, DISTRIBUTED SOFTWARE DEVELOPMENT

Two Case Studies of Open Source Software Development: Apache and Mozilla

COLLABORATION IN SOFTWARE ENGINEERING PROJECTS: A THEORY OF COORDINATION

Addressing Challenges to Open Source Collaboration With the Semantic Web

Selecting a defect prediction model for maintenance resource planning and software insurance

Selecting a defect prediction model for maintenance resource planning and software insurance

Comparing Methods to Identify Defect Reports in a Change Management Database

Communication Problems in Global Software Development: Spotlight on a New Field of Investigation

Two Case Studies of Open Source Software Development: Apache and Mozilla

Measurement for Successful Projects. Authored by Michael Harris and David Herron

Latest Trends in Testing. Ajay K Chhokra

The Impact of Release Management and Quality Improvement in Open Source Software Project Management

The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code

Agile Requirements Definition for Software Improvement and Maintenance in Open Source Software Development

Contrasting CMMI and the PMBOK. CMMI Technology Conference & User Group November 2005

Analysis of Object Oriented Software by Using Software Modularization Matrix

Toward Quantitative Process Management With Exploratory Data Analysis

Simulating the Structural Evolution of Software

Using Iterative and Incremental Processes in Global Software Development

Tracking the Impact of Design Changes During Software Development

A Social Network perspective of Conway s Law

A Case Study of Open Source Software Development: The Apache Server

Social Networking and Collaborative Software Development

How To Model The Delay In A Multi Site Software Development Organization

Large-scale code reuse in open source software

Learning and Researching with Open Source Software

focus Despite more than 30 years effort to improve software quality, guest editors introduction Inspection s Role in Software Quality Assurance

The Impact of Defect Resolution on Project Activity in Open Source Projects: Moderating Role of Project Category

Evaluating the Quality of Software Engineering Performance Data

Automated Classification of Change Messages in Open Source Projects

Supporting Knowledge Collaboration Using Social Networks in a Large-Scale Online Community of Software Development Projects

Controlling a Software Development Process by Predicting the Effect of Improvements

All-in-One Asset Management Tool

Project Audit & Review Checklist. The following provides a detailed checklist to assist the PPO with reviewing the health of a project:

Agile Software Engineering, a proposed extension for in-house software development

E-Learning For Software Engineering: A Case Study On Teaching Information Systems Online Group Project With Extreme Programming

Innovation through Outsourcing

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Systems Engineering Complexity & Project Management

The Effects of Teams Co-location on Project Performance

Extreme Programming In Global Software Development

A review and analysis of technologies for developing web applications

A Configuration Management Model for Software Product Line

Virtual Meeting Analyzer: A Web application to visualize and analyze social networks emerging in group meetings

CHAPTER 6. Discussion and Conclusion. patient health information, such as diagnosis, medicine orders, managing patient

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Inferring Change Effort from Configuration Management Databases

Distance, Dependencies, and Delay in a Global Collaboration

Software Configuration Management over a Global Software Development Environment: Lessons Learned from a Case Study

Independent Test and Evaluation

An Introduction to. Metrics. used during. Software Development

Performance Comparison of Database Access over the Internet - Java Servlets vs CGI. T. Andrew Yang Ralph F. Grove

Global Software Development: Issues, Solutions, Challenges

Software Continuous Integration & Delivery

Comparison of Coordination Communication and Expertise Communication in Software Development: Their Motives, Characteristics and Needs

Collective Information Practice: Exploring Privacy and Security as Social and Cultural Phenomena

Stephen M. Fiore, Ph.D. University of Central Florida Cognitive Sciences, Department of Philosophy and Institute for Simulation & Training

Practical Experiences of Agility in the Telecom Industry

4 Testing General and Automated Controls

Empirical Project Monitor: A Tool for Mining Multiple Project Data

Home Office Collaborative Working Related Work. Sommersemester 2010 HAW-Hamburg Karsten Panier

Capacity Estimation for Linux Workloads

Manufacturing Planning and Control

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

Intro to GIS Winter Data Visualization Part I

1. Introduction. Annex 7 Software Project Audit Process

Appendix: Dynamics of Agile Software Development Model Structure

Software Project Audit Process

Information Technology Solutions. Bringing History Alive: Face to Face vs. On-Line Courses Michelle Conklin El Paso Community College

Comparison of Coordination Communication and Expertise Communication in Software Development: Motives, Characteristics, and Needs

Avaya Software & Applications Maintenance Service

Survey of more than 1,500 Auditors Concludes that Audit Professionals are Not Maximizing Use of Available Audit Technology

Considering the Cultural Issues of Web Design in Implementing Web-Based E-Commerce for International Customers

The Empirical Commit Frequency Distribution of Open Source Projects

Four Clues Your Organization Suffers from Inefficient Integration, ERP Integration Part 1

MNLARS Project Audit Checklist

Software Development Best Practices

Automated Test Generation

Requirements engineering

Towards the Integration of Versioning Systems, Bug Reports and Source Code Meta-Models

A Group Awareness and collaboration in Distributed Software Development

V&V and QA throughout the M&S Life Cycle

SEER for Software - Going Beyond Out of the Box. David DeWitt Director of Software and IT Consulting

Transcription:

Effects of Distributed oftware Development and Virtual Teams Audris Mockus audris@avaya.com Avaya Labs Research Basking Ridge, NJ 07920 http://www.research.avayalabs.com/user/audris

Motivation oftware project with a lack of common mental model ites: two primary sites with opposing views Perceived user needs: reliability, maintainability, availability, backward compatibility, and cost versus get something out quick, fix it later, what are these -ilities anyway Platform: a windows shop with no clue beyond windows versus embedded, unix/linux shop with concerns about portability and performance User base: used to support tens of thousand of customers versus we ll make a patch for your system if you have problems Management by compromise Two box system (a box for each team) Constantly revisiting decisions, each party tries to prove others wrong 2 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Outcome Tier 4 tickets per deployed system per month are 100 to 1000 times higher for MM Tier 4 tickets per 10K deployed systems 1 10 100 1000 10000 X A M X A M X X M X M X M M Modular Messenger: Tier 4 tickets per 10K deployed systems per month INTUITY AUDIX LX: Tier 4 tickets per 10K deployed systems per month ARIA and ERENADE: Tier 4 tickets per 10K deployed systems per month INTUITY AUDIX: Tier 4 tickets per 10K deployed systems per month A A A A M X X X A M X M X A A A A M X A M A X M X A 2003.2 2003.4 2003.6 2003.8 2004.0 Years 3 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Outline Definitions and method Virtual teams Observing (estimating) interdependence Observing commonness of the goals ome empirical evidence Methodology O vs mixed projects Dealing with multiple people Not complying with existing design 4 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Virtual Teams Groups of people whose work is interdependent Not necessarily collocated Not necessarily interact Not necessarily know each other Not necessarily overlap in time Not necessarily want to work together 5 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Observing (Estimating) Interdependence (Teams) Work items implement decisions/choices that are tightly interdependent, therefore following form teams People involved in the same work item The artifact (code) is the expression of all decisions taken by individuals and teams, therefore following form teams People involved in work items that operate on the same artifacts (lines, files, modules, chunks) 6 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Having common goals Common mental model, common understanding of the relevant part of the world Concept of the user and user needs and wants Concept of the product, its behavior and its -ilities Concept of development, delivery, and support processes 7 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Observing (Estimating) the Commonness of Goals Many factors affect it The nature of participants motivation (compensation, pleasure, etc.) The size of the team Common code base, version control, problem tracking, process/decision making Multiple sites (language/culture/communication) elf selection by their common goals in some O (no other motivation is apparent) Product/process may be affected by the lack of it Moderated by the degree of interdependence 8 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Empirical Methodology: Assumptions oftware is created by by work items or changes Changes are tracked to enable multiple people to work on them oftware Release Feature Patch Change Management ystem Description MR Time, Date Developer delta File, Module #lines add., del. Version Control ystem 9 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Methodology: Approach Use properties and relationships among changes to model phenomena in software projects Obtain change properties from project repositories (VC/CM) Model staffing/schedule/quality relationships to decide upon future changes The product/code is simply a dynamic superposition of changes, and is not of particular interest otherwise 10 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Tools in a Medium/Large oftware Org. ales/marketing: customer information, customer rating, customer purchase patters, customer needs: features and quality Accounting: Customer/system/software billing information and maintenance support level Maintenance support: Currently installed system, support level Field support: dispatching repair people, replacement parts, installing patches, fixing configuration Call center support: customer call/problem tracking Development field support: software related customer problem tracking, patch tracking Development: feature and development, testing, and field defect tracking, software change and software build tracking 11 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Methodology: Why Use Project Repositories? The data collection is non-intrusive (using only existing data minimizes overhead) Long history of past projects enables historic comparisons, calibration, and immediate diagnosis in emergency situations. The information is fine grained: at MR/delta level The information is complete: everything under version control is recorded The data are uniform over time Even small projects generate large volumes of changes: small effects are detectable. The version control system is used as a standard part of a project, so the development project is unaffected by observer 12 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Methodology: Pitfalls of Using Project Repositories Different process: how work is broken down into work items may vary across projects Different tools: CV, ClearCase, CC,... Different ways of using the same tool: under what circumstances the change is submitted, when the MR is created The main challenge: create change based models of key problems in software engineering 13 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Methodology: Existing Models Predicting the quality of a patch [8] Work coordination: What parts of the code can be independently maintained [9] Who are the experts to contact about any section of the code [7] How to measure organizational dependencies [3] Effort: estimate MR effort and benchmark process What makes some changes hard [4] What processes/tools work [1, 2] What are O/Commercial process differences [6] Project models Release schedule [10] Release readiness criteria [5] Consumer perceived quality 14 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Evidence 1: Receiving work from multiple people decreases productivity More people may imply dissimilarity of goals Variable Coeff. td. Error p-val Intercept 6.4 0.96.001 self 0.47 0.18.01 in 1.16 0.32.001 out 0.42 0.82.6 indegree -2.1 0.68.006 outdegree -1.1 1.4.41 Dependent Variable: productivity, defined as MRs/week [3] 15 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Evidence 2: Making changes across chunk boundaries takes longer Each chunk implies a module, change across modules indicates unanticipated goals Variable Coeff. td. Error p-val Intercept 11.3 0.24.001 Other 2.46 0.10.001 nreleases 1.04 0.11.001 NFiles 0.18 0.05.001 Multi-chunk 0.41 0.19.027 Dependent Variable: MR elapsed time: first change to last change [9, 3] 16 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Apache/Mozilla Development Process Apache (most common goals) No external motivation (self selection by goals) mall core team Mozilla (somewhat less common goals) Most developers compensated Large core team Commercial projects (varies) All developers compensated, although there is some self selection based on expertise Typically larger teams, involving non developers In case of multiples sites often different tools/process apply 17 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Evidence 3: Productivity Compare sets of developers that produced 80% of the code in each application A-E: similar-sized commercial projects Ap./Moz A B C D E KMR/developer/year.03.03.09.02.06 KLOC/developer/year 4.3/6-16 38.6 11.7 6.1 5.4 10 18 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Evidence 4: Defect Density Measures Post release and post-feature test Per KLOC added and per thousand Delta 19 A. Mockus Effects of Distributed oftware Development and Virtual Teams

Discussion Virtual team: people whose work is interdependent Two methods to identify such teams Common goals In certain organization (some O projects), people may self select based on what they want to accomplish Different sites tend to have dissimilar goals Product/process should be negatively affected when there is a lack of common goals 20 A. Mockus Effects of Distributed oftware Development and Virtual Teams

References [1] D. Atkins, T. Ball, T. Graves, and A. Mockus. Using version control data to evaluate the impact of software tools: A case study of the version editor. IEEE Transactions on oftware Engineering, 28(7):625 637, July 2002. [2] D. Atkins, A. Mockus, and H. iy. Measuring technology effects on software change cost. Bell Labs Technical Journal, 5(2):7 18, April June 2000. [3] James Herbsleb and Audris Mockus. Formulation and preliminary test of an empirical theory of coordination in software engineering. In 2003 International Conference on Foundations of oftware Engineering, Helsinki, Finland, October 2003. ACM Press. [4] James D. Herbsleb, Audris Mockus, Thomas A. Finholt, and Rebecca E. Grinter. An empirical study of global software development: Distance and speed. In 23nd International Conference on oftware Engineering, pages 81 90, Toronto, Canada, May 12-19 2001. [5] Audris Mockus. Analogy based prediction of work item flow in software projects: a case study. In 2003 International ymposium on Empirical oftware Engineering, pages 110 119, Rome, Italy, October 2003. ACM Press. [6] Audris Mockus, Roy T. Fielding, and James Herbsleb. Two case studies of open source software development: Apache and mozilla. ACM Transactions on oftware Engineering and Methodology, 11(3):1 38, July 2002. [7] Audris Mockus and James Herbsleb. Expertise browser: A quantitative approach to

identifying expertise. In 2002 International Conference on oftware Engineering, pages 503 512, Orlando, Florida, May 19-25 2002. ACM Press. [8] Audris Mockus and David M. Weiss. Predicting risk of software changes. Bell Labs Technical Journal, 5(2):169 180, April June 2000. [9] Audris Mockus and David M. Weiss. Globalization by chunking: a quantitative approach. IEEE oftware, 18(2):30 37, March 2001. [10] Audris Mockus, David M. Weiss, and Ping Zhang. Understanding and predicting effort in software projects. In 2003 International Conference on oftware Engineering, pages 274 284, Portland, Oregon, May 3-10 2003. ACM Press.

Abstract Distributed software development often results in delays, inefficiencies, and misunderstanding. Many reasons have been proposed to explain these issues. They range from differences in cultural background to the lack of face-to-face and informal communication needed to coordinate interdependent project tasks. We propose the lack of common goals and development infrastructure to be the main reasons for problems in distributed software development. More specifically, we consider a range of traditional and open source projects where the commonality of goals and infrastructure varies across teams and find that to influence the key output measures related to productivity, interval, and quality.

Bio Audris Mockus Avaya Labs Research 233 Mt. Airy Road Basking Ridge, NJ 07920 ph: +1 908 696 5608, fax:+1 908 696 5402 http://mockus.org, mailto:audris@mockus.org, picture:http://mockus.org/images/small.gif Audris Mockus conducts research of complex dynamic systems. He designs data mining methods to summarize and augment the system evolution data, interactive visualization techniques to inspect, present, and control the systems, and statistical models and optimization techniques to understand the systems. Audris Mockus received B.. and M.. in Applied Mathematics from Moscow Institute of Physics and Technology in 1988. In 1991 he received M.. and in 1994 he received Ph.D. in tatistics from Carnegie Mellon University. He works at oftware Technology Research Department of Avaya Labs. Previously he worked at oftware Production Research Department of Bell Labs.