1 Problems and solutions: Maintaining an integrated system in a community of volunteers Thomas Østerlie Name, title of the presentation.

Slides:



Advertisements
Similar presentations
Software change management
Advertisements

Chapter 4 Quality Assurance in Context
ITIL: Service Transition
1 Cloud computing: Impact on software engineering research and practice Thomas Østerlie Østerlie, Cloud computing.
1 SWE Introduction to Software Engineering Lecture 3 Introduction to Software Engineering.
Identifying Needs and Establishing Requirements John Thiesfeld Jeff Morton Josh Edwards.
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
SWE Introduction to Software Engineering
Fundamentals of Information Systems, Second Edition
Introduction : ‘Skoll: Distributed Continuous Quality Assurance’ Morimichi Nishigaki.
Oracle Database Administration. Rana Almurshed 2 course objective After completing this course you should be able to: install, create and administrate.
Introduction to Systems Analysis and Design
CSSE 375 Software Construction and Evolution: Configuration Management
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Dr. Gankam Tambo Erick United Nations University - Institute for Environment and Human Security (UNU-EHS) e/merge 2012 Open to Change Framework for virtual.
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.
1 Autonomic Computing An Introduction Guenter Kickinger.
Does Distributed Development Affect Software Quality???? An Empirical Case Study of Windows Vista Christian Bird, Premkumar Devanbu, Harald Gall, Brendan.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.

End HomeWelcome! The Software Development Process.
Configuration Management (CM)
Systems Development Lifecycle Testing and Documentation.
Relationships July 9, Producers and Consumers SERI - Relationships Session 1.
Faustino Jerome G. Babate Nursing Research I Brokenshire College SOCSKSARGEN.
Guidelines for Designing Inquiry-Based Learning Environments on the Web: Professional Development of Educators Byung-Ro Lim IST, Indiana Univ. July 20,
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Using error reports in SPI Tor Stålhane IDI / NTNU.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
An Introduction to Software Engineering. Communication Systems.
1 Debugging Integrated Systems: An Ethnographic Study of Debugging Practice Thomas Østerlie & Alf Inge Wang Debugging Integrated Systems.
The Role of Experience in Software Testing Practice Zahra Molaei Soheil Hedayatitezengi Comp 587 Prof. Lingard 1 of 21.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 12 Implementing Business/IT Solutions.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
CERN IT Department CH-1211 Genève 23 Switzerland t Migration from ELFMs to Agile Infrastructure CERN, IT Department.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
WELCOME TO THE ARE YOU IN? HI-TECH REVOLUTION ARE YOU IN?
MANAGEMENT INFORMATION SYSTEM
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Advanced Software Engineering Dr. Cheng
ITIL: Service Transition
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Rootkit Detection and Mitigation
Chapter 18 Maintaining Information Systems
Oracle Database Administration
IEEE Std 1074: Standard for Software Lifecycle
Maintaining software solutions
Graduation Project Kick-off presentation - SET
INFS 211: Introduction to Information Technology
Software Engineering (CSI 321)
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Engineering Processes
MES Migration HGP Asia Knowledge Day 2017
Chapter 12 Implementing Business/IT Solutions.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Chapter 7 –Implementation Issues
System Analysis and Design:
Presentation transcript:

1 Problems and solutions: Maintaining an integrated system in a community of volunteers Thomas Østerlie Name, title of the presentation

2 Overview Purpose: Brief introduction to the thesis Main message –Need for more research on integrated systems maintenance –Systems integration requires rethinking some premises of software maintenance (problem solving/setting) Outline –Why? Part I: Motivation and goals –How? Part II: Research –What? Part III: Results and conclusions

3 Part I: Motivation and goals

4 Outline Part I: Motivation and goals –Systems integration –Software maintenance –Software maintenance work –Research goals and questions Part II: Research Part III: Results and conclusions

5 Systems integration AspectApplication software development Systems integration Software compositionCoherent set of software modules Third-party components and application code StakeholdersDevelopers and usersProviders, integrators, and users Source codeFull source availableNo source code for third- party components Execution modelSingle computerOften distributed between multiple computers Ownership and controlSingle team or organization Distributed between multiple organizations

6 Origins of maintenance term

7 Software maintenance Requirements analysis Software implementation Software design Testing Software maintenance Time Maintenance burden 1970s: 40% total lifecycle cost 1980s: 55% total lifecycle cost 1990s: 90% total lifecycle cost Increasing life expectancy Organizations spend more time maintaining legacy systems, than developing new software

8 Maintaining integrated systems Current state of software maintenance research –Limited emphasis on software maintenance in the software engineering literature –Practically everything focused on application software maintenance –Practically no research on maintaining integrated systems The challenge –Research-informed software engineering practice –How to inform practice when researchers know little about how integrated systems are maintained?

9 Software maintenance work How integrators maintain an integrated system in practice Software maintenance as knowledge-intensive work Knowledge-intensive work –Practice-based: Work and knowledge interrelated –Situational: How work unfolds over time while options and dilemmas remain unresolved for those at work –Contextual: Work takes place within the broader social and organizational context

10 Research goals and questions Goals –Explore maintenance of an integrated system in its context of development and use –Explore the intertwined social and technical factors that influence software maintenance work Research questions –RQ1: How is knowledge of software failures developed during geographically distributed software maintenance? –RQ2: How do software developers build knowledge of how to replace a business-critical software system? –RQ3: What are the characteristics of maintaining an integrated system in a distributed community of volunteers?

11 Part II: Research

12 Outline Part I: Motivation and goals Part II: Research –Research setting: Gentoo –Research process Part III: Results and conclusions

13 The Gentoo community Geographically distributed community –320 volunteer software integrators –38 countries and 17 time zones –An unknown number of users Internet-based collaboration –Internet Relay Chat –Mailing lists –Internet-based defect tracking system –Internet-based revision control system Gentoo and maintenance –Perpetual cycle of corrective and adaptive maintenance

14 The Gentoo technology Gentoo community develops and maintains –Portage: A software system for integrating third-party OSS with different Unix-like operating systems –Gentoo Linux: GNU/Linux distribution based around Portage Gentoo community operates –Infrastructure: For distributing third-party OSS to computers running Portage Supported operating systems4 Supported hardware platforms8 Supported third-party packages8486 Total number of installation scripts23911

15 Research process StudyPeriodActivitiesMaterials Empirical fieldworkJanuary 2004 – December 2004 Observation Participation (reporting bugs, fixing bugs, coding) Fieldnotes 1027 IRC logs 70 documents Mailing list archives Analysis of corrective maintenance work September 2005 – March 2006 Formalized document analysis Gentoo's defect tracking system's database (20,000 problem reports) Investigating transferability of findings March 2006 – September feedback session with professional systems integrators Notes from the three sessions

16 Part III: Results and conclusions

17 Outline Part I: Motivation and goals Part II: Research Part III: Results and conclusions –Problems and solutions revisited –Empirical illustration: Corrective maintenance –Summary

18 Problems and solutions revisited AspectProblem solvingProblem setting Starting pointMore or less clearly defined problems Problem situations that are troubling, puzzling, unclear ProcessRational decision-making Analytic Choose among available tools to reach solution Problem remains more or less stable Sensemaking Action-oriented Collective process of trial and error Emergent understanding of the problem situation End pointProblem solvedProblem situation reaches closure

19 Problem solving "Change the position of just one line to leave the giraffe in exactly the same position as before." How would you go about solving it?

20 Conventional corrective maintenance process

21 Gentoo's formal corrective maintenance process

22

23 Starting point: Problem situation Unclear what the problem really is –Local/global: User error or problem for many users? –Location: Problem with Gentoo or third-party software? –Responsibility: Location determines responsibility for correction Indirect access to failures –Variability  Difficult to reproduce failures  Indirect data  Multiple valid interpretations of available data –Problem of relevance: If the problem is unclear, it is unclear what the constitutes relevant data –Distribution and limited knowledge of third-party software makes it difficult to trace infection chains

24 Process: Sensemaking

25

26 Technical and non-technical StatementsResearchers' commentary Reporting user: I have installed my system from scratch The problem is related to the way Gentoo integrates software, and therefore the Gentoo developers' responsibility Developer A: [talking on IRC, making reference to the systems information provided with the problem report] Is using an x86 profile for an amd64 machine troublesome? The reported problem is related to the way the user's Gentoo systems configuration; therefore the user's responsibility Developer B: [making reference to the installation script] Turning off the optional esound support might solve the problem The problem may be related to how the package integrates with the esound package, and the third-party provider's responsibility. Developer A: [making reference to the compiler error provided with the problem report] Why is it that the thing can't find pthread? is that because of a missing -pthread The problem is related to the use of the pthreads library, and therefore the responsibility of another herd. Developer B: sounds like the glibc library was upgraded Related to the user's system configuration, and his responsibility

27 End point: Closure workaround rather than solution to the problem at hand

28 Contributions to software engineering Contributions to theory –A theoretical framework for software maintenance work –Sensitizing concepts for further study of integrated systems maintenance Contributions to method –Techniques for practice-based Internet research on software engineering practice –Method bridge the gap between practice and artifact studies Contributions to practice –Recommendations for a lenient approach to coping with variability during corrective maintenance –Recommendations for an opportunity-driven approach to systems replacement

29 Dimensions of distribution Dimension (organization) Application software development Open Source Software Development Global Software Development Systems Integration Physical/geogr aphical Organizational Temporal Stakeholders * Adapted from Gumm, D.C. (2006). "Distribution dimensions in Software Development Projects: A Taxonomy", IEEE Software (23:5), pp.45-51

30 Theory development