Open Source: From Mythos to Meaning (original) (raw)

Continuous Integration and Quality Assurance: a case study of two open source projects

Australasian Journal of Information Systems, 2003

A decentralized variant of continuous integration can be defined in terms of two fundamental rules: (1) Developers' access to add contributions to the development version at any time, and (2) Developers' obligation to properly integrate their own contributions. Decentralized, continuous integration may adapt well to organizations where developers work relatively independently, as in many open source projects. The approach raises the issue of how these organizations can exercise central control, because to attain the benefits of continuous integration it is crucial that contributions are useful and satisfy the project's definition of successful integration. We investigate the use of continuous integration in FreeBSD and Mozilla. Our account of quality assurance activities in the two open source projects distinguishes between Mintzberg's three complementary forms of central control: Standardization and control of work output, work process, and worker skill. The study indicates that two major challenges face projects using decentralized, continuous integration: (1) To balance the access to add contributions against the need to stabilize and mature the software prior to a release, and (2) To consider the developers' limited time and resources when interpreting their obligation to properly integrate their changes.

Aspects of Software Quality Assurance in Open Source Software Projects: Two Case Studies from Apache Project

2007

Open source software (OSS) solutions provide missioncritical services to industry and government organizations. However, empirical studies on OSS development practices raise concerns on risky practices such as unclear requirement elicitation, ad hoc development process, little attention to quality assurance (QA) and documentation, and poor project management. Event then the ability to produce high quality products in such an environment may seem surprising and thus warrants an investigation on effective QA mechanism in OSS projects. This paper provides a preliminary exploration to improve our understanding of software quality practices in different types of OSS projects. We propose a framework of QA in an OSS project, elicit OSS stakeholder value propositions for QA, and derive performance indicators. For an initial empirical evaluation we applied these indicators to 5 releases of 2 large Apache projects (Tomcat and MyFaces) to analyze the extent to which QA aspects are commonly performed during development process.

Assessing Right Amount of Quality Assurance (QA) for Software Products. "A Quality Assurances for Developing Software Projects

International Journal on Advanced Science, Engineering and Information Technology, 2012

Quality Assurance (QA) is an important aspect of product development in any industry, not least software development. To secure an end-product that is as high a quality as possible, thus satisfying the customers, Quality Assurance is essential. A software application released with several so-called "bugs" and other flaws is obviously a product which has passed through a poor Quality Assurance process. Thus, it is important to have a proper, systematic program to follow during the developments, which ascertain the final quality of the product. Too much QA however, can lead to developers focusing too much on analyzing and documenting every part of the development, ending up with an overload of documentation. This would slow down the development progress, and in the worst case, kill of the project. There are two main aspects of this paper; first problems of "inappropriate amount of Software Quality Assurance" and second is "how we can balance between creativity and quality"? However, we will briefly visit other industries to shed light on the importance of QA as a whole.

Guest Editorial Understanding Free/Open Source Software Development Processes

Software Process: Improvement and Practice, 2000

This article introduces a special issue of Software Process - Improvement and Practice focusing on processes found in free or open source software development (F/OSSD) projects. It seeks to provide a background overview of research in this area through a review of selected empirical studies of F/OSSD processes. The results and findings from a survey of empirical studies of F/OSSD

An exploratory study of open source software development team structure

2002

We examine the structure of Open Source Software (OSS) development teams as part of a project on success factors for distributed work teams. Several authors have described OSS teams as having a hierarchical structure: a small team of core developers who oversee the development and contribute most of the code, a larger group of co-developers who contribute sporadically by reviewing or modifying code or by contributing bug fixes, and an even larger group of active users who contribute bug reports, but not code. The ...

Non-invasive Investigation of the Software Process in Open Source Projects

2006

Abstract. Open Source and Agile (eXtreme Programming, in particular) projects have several commonalities such as focus on the value for the user, continuous feedback, high level of communication, etc. Moreover, both approaches present difficulties in keeping track of the status of the development, verifying the quality of the production process, identifying best practices, etc. Such difficulties are related to the lack of a formal activity for the collection of data regarding the development process.

Qualitative research in software engineering

Empirical Software Engineering, 2011

This column discusses the application of qualitative research for research in Software Engineering (SE). Specifically, we outline what research questions are suitable for investigation using qualitative research, what research tools are used for data gathering in qualitative research and how the qualitative data analysis process guides the formulation of answers to the research questions. Accordingly, the column provides basic knowledge for determining whether qualitative research is suitable for the investigation of specific research questions in SE. By doing so, the column contributes to researchers in the field and assists them in deciding whether to adopt the qualitative research approach.