Results 1 - 10
of
17
Hipikat: Recommending pertinent software development artifacts
- In ICSE’03
"... A newcomer to a software project must typically come up-to-speed on a large, varied amount of information about the project before becoming productive. Assimilating this information in the open-source context is difficult because a newcomer cannot rely on the mentoring approach that is commonly used ..."
Abstract
-
Cited by 98 (4 self)
- Add to MetaCart
A newcomer to a software project must typically come up-to-speed on a large, varied amount of information about the project before becoming productive. Assimilating this information in the open-source context is difficult because a newcomer cannot rely on the mentoring approach that is commonly used in traditional software developments. To help a newcomer to an open-source project become productive faster, we propose Hipikat, a tool that forms an implicit group memory from the information stored in a project’s archives, and that recommends artifacts from the archives that are relevant to a task that a newcomer is trying to perform. To investigate this approach, we have instantiated the Hipikat tool for the Eclipse open-source project. In this paper, we describe the Hipikat tool, we report on a qualitative study conducted with a Hipikat mock-up on a mediumsized in-house project, and we report on a case study in which Hipikat recommendations were evaluated for a task on Eclipse. 1.
From a firm-based to a community-based model of knowledge creation: The case of the Linux kernel development
- Organization Science
"... We propose a new model of knowledge creation in purposeful, loosely-coordinated, distributed systems, as an alternative to a firm-based one. Specifically, using the case of Linux kernel development project, we build a model of community-based, evolutionary knowledge creation to study how thousands o ..."
Abstract
-
Cited by 30 (0 self)
- Add to MetaCart
We propose a new model of knowledge creation in purposeful, loosely-coordinated, distributed systems, as an alternative to a firm-based one. Specifically, using the case of Linux kernel development project, we build a model of community-based, evolutionary knowledge creation to study how thousands of talented volunteers, dispersed across organizational and geographical boundaries, collaborate via the Internet to produce a knowledge-intensive, innovative product of high quality. By comparing and contrasting the Linux model with the traditional/commercial model of software development and firm-based knowledge creation efforts, we show how the proposed model of knowledge creation expands beyond the boundary of the firm. Our model suggests that the product development process can be effectively organized as an evolutionary process of learning driven by criticism and error correction. We conclude by offering some theoretical implications of our community-based model of knowledge creation for the literature of organizational learning, community life, and the uses of knowledge in society. Revision to #OS 00-1246RR I.
Lightweight Structural Summarization as an Aid to Software Evolution
, 1996
"... To effectively perform a change to an existing software system, a software engineer needs to have some understanding of the structure of the system. All too often, though, an engineer must proceed to change a system without sufficient structural information because existing software understanding te ..."
Abstract
-
Cited by 23 (3 self)
- Add to MetaCart
To effectively perform a change to an existing software system, a software engineer needs to have some understanding of the structure of the system. All too often, though, an engineer must proceed to change a system without sufficient structural information because existing software understanding techniques are unable to help the engineer acquire the desired knowledge within the time and cost constraints specified for the task. The thesis of this research is that an approach based on summarization can overcome the limitations associated with existing approaches, enabling an engineer to assess, plan, and execute changes to a software system more effectively. Summarization involves the production of overviews of vast amounts of user-selected information in a timely manner. I describe two tech...
Project History as a Group Memory: Learning From the Past
, 2004
"... New members of software development teams must come up-to-speed on a large amount of information before becoming productive, even if they have previous software development experience. Often, this knowledge is gained through mentoring: an experienced colleague monitors the newcomer’s progress on his ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
New members of software development teams must come up-to-speed on a large amount of information before becoming productive, even if they have previous software development experience. Often, this knowledge is gained through mentoring: an experienced colleague monitors the newcomer’s progress on his or her first assigned tasks, and provides feedback and advice. The mentor is the person the newcomer turns to for help when stuck; these interactions are typically informal and lightweight, such as quick questions asked over the cubicle divider or at the water cooler. However, these light-weight channels are not always available in virtual teams, where the members of the team are not collocated. Moreover, workers are less likely to help their non-collocated colleagues, making it even harder for a newcomer to come up to speed on a project. The thesis of this dissertation is based on the idea that the collection of all artifacts created in the course of development of a software system implicitly forms a group memory—a repository of information that a work group can use to benefit from its past experience to respond more effectively to the present needs. I call this implicitly-formed group memory a project memory and make three claims: (1) that newcomer software developers can use information from the project memory about past modifications completed on the project to help them effectively perform modification tasks
Data Models
- Project Managers in the DOD Acquisition Process. Defense Systems Management
, 1982
"... © 1997 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
© 1997 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.
Effort estimation in incremental software development
- IEE Proceedings Software
, 2003
"... Incremental software development offers many benefits compared with more traditional development approaches. Indeed, incremental approaches have been utilised for many years due to the involvement of users, the early demonstration of capability and the potential for risk reduction that they offer. H ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Incremental software development offers many benefits compared with more traditional development approaches. Indeed, incremental approaches have been utilised for many years due to the involvement of users, the early demonstration of capability and the potential for risk reduction that they offer. However, there appears to have been little work on modelling, planning and controlling incremental development. This paper attempts to introduce a quantitative analytical framework for evaluating such approaches and their impacts on the development effort. Models that predict development effort as an exponential function of product size are used in the paper to explore some of the relationships between effort and the number of increments, thereby providing new insights into the economic impact of incremental approaches to software projects. 1.
Aspect-oriented solutions to feature interaction concerns using AspectJ
- Proc. of Seventh Int’l. Workshop on Feature Interactions in Telecommunication Networks and Distributed Systems (FIW’03
, 2003
"... In this paper, we propose a two-level architecture for feature driven software development, consisting of a base layer for a feature’s core behaviour and a metalayer for resolution modules that provide solutions to feature interaction problems. Whilst a standard programming language is used at the b ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
In this paper, we propose a two-level architecture for feature driven software development, consisting of a base layer for a feature’s core behaviour and a metalayer for resolution modules that provide solutions to feature interaction problems. Whilst a standard programming language is used at the base level, e.g. an objectoriented language such as Java, we propose the use of an aspect-oriented programming language for the inherent cross-cutting concerns that exist at the metalevel. We evaluate the use of AspectJ for the implementation of interaction resolution modules at the meta-level. This evaluation is carried out through an indepth study of an email system. We conclude that aspect-oriented approaches are highly suited for this split-level architecture and that the architecture has many benefits for feature driven software development. Finally, we also highlight a number of problems with AspectJ for our intended use, but discuss how the selection of an alternative aspect-oriented technique would avoid these problems.
Separating Interaction Concerns from Distributed Feature Components
- Bouragadi (Eds.), Electronic Notes in Theoretical Computer Science
, 2003
"... Interaction problems between heterogeneous applications require consideration of the semantic issue of reliable composition. This problem has become significant and ubiquitous in distributed systems as the Internet rapidly grows as a mainstream service platform and requires increasing automatic coor ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Interaction problems between heterogeneous applications require consideration of the semantic issue of reliable composition. This problem has become significant and ubiquitous in distributed systems as the Internet rapidly grows as a mainstream service platform and requires increasing automatic coordination and cooperation between services at two ends. A feature must be able to adjust itself to work with other features or services - a highly relevant problem called feature interaction. In line with this, in this paper we propose a complexity controlling method that is suitable for distributed systems in which each feature has two concerns, namely a hard logic and a soft logic. The hard logic implements exactly the specification of a feature, while the soft logic deals with the adaptation aspects of a feature, i.e. resolving interaction problems and making features work together. A two level architecture, particularly designed for aspect oriented programming, is described with a meta level being used to describe interaction resolution, with features being at the base level. Through a case study of email systems, we explain the architecture and highlight the cause of resolution interaction problems and how this particular problem is solved.
Total Quality Management as a Cultural Phenomenon
- Quality Management Journal
, 2004
"... Total quality management has proven to be more than just a quickly disappearing management fad or fashion. It has been considered one of the most influential management innovations of the 20 th century. TQM is based on a rather naïve and overly rational view of an organization but, without a doubt, ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Total quality management has proven to be more than just a quickly disappearing management fad or fashion. It has been considered one of the most influential management innovations of the 20 th century. TQM is based on a rather naïve and overly rational view of an organization but, without a doubt, it has had a significant influence on contemporary management practices. The ISO 9000 family quality standards and quality award criteria have led to the practical development and diffusion of the discipline, and at the moment, they provide the most comprehensive definition for TQM. The Malcolm Baldrige National Quality Award has been selected as the practical definition of TQM for this study. The role and impact of TQM is examined based upon how it ensures an organization will meet its mission and ultimate objective of long-term survival. The means of how to achieve survival are specific to an organization, and depend on multiple factors. At the basic level, organizational survival is based on the processes of external adaptation and of internal integration. The role of TQM is analyzed based on the impact it has on those
An Approach to Product Roadmapping in Small Software Product Businesses
"... Abstract. Success in software product business requires the release of new products and product upgrades with the right amount of features and quality within an open market window. For this, a systematic approach for managing the contents, timing and roles of future product releases as well as the p ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. Success in software product business requires the release of new products and product upgrades with the right amount of features and quality within an open market window. For this, a systematic approach for managing the contents, timing and roles of future product releases as well as the product architecture is needed. In practice, such an approach is often missing, especially in small companies, due to inexperience, unclear priorities, time-tomarket pressures, or the lack of suitable process infrastructure. In this paper, we present an approach based on product roadmapping that can aid such companies in their product planning. We also discuss initial experiences from using the approach in three small software companies. The product roadmap expresses the release and development schedules, composition of individual releases, changes to the underlying technology, services requiring attention from product development and the planned resource usage. 1

