Results 1 - 10
of
24
Hipikat: A Project Memory for Software Development
- IEEE Transactions on Software Engineering
, 2005
"... Abstract—Sociological and technical difficulties, such as a lack of informal encounters, can make it difficult for new members of noncollocated software development teams to learn from their more experienced colleagues. To address this situation, we have developed a tool, named Hipikat, that provide ..."
Abstract
-
Cited by 55 (2 self)
- Add to MetaCart
Abstract—Sociological and technical difficulties, such as a lack of informal encounters, can make it difficult for new members of noncollocated software development teams to learn from their more experienced colleagues. To address this situation, we have developed a tool, named Hipikat, that provides developers with efficient and effective access to the group memory for a software development project that is implicitly formed by all of the artifacts produced during the development. This project memory is built automatically with little or no change to existing work practices. After describing the Hipikat tool, we present two studies investigating Hipikat’s usefulness in software modification tasks. One study evaluated the usefulness of Hipikat’s recommendations on a sample of 20 modification tasks performed on the Eclipse Java IDE during the development of release 2.1 of the Eclipse software. We describe the study, present quantitative measures of Hipikat’s performance, and describe in detail three cases that illustrate a range of issues that we have identified in the results. In the other study, we evaluated whether software developers who are new to a project can benefit from the artifacts that Hipikat recommends from the project memory. We describe the study, present qualitative observations, and suggest implications of using project memory as a learning aid for project newcomers. Index Terms—Software development teams, project memory, software artifacts, recommender system, user studies.
An Overview of Human-Computer Collaboration
, 1994
"... This paper introduces the special issue of Knowledge-Based Systems on HumanComputer Collaboration (HCC). It derives a set of fundamental issues from a definition of collaboration, introduces two major approaches to HCC, and surveys each approach, showing how it formulates and addresses the issues. I ..."
Abstract
-
Cited by 44 (2 self)
- Add to MetaCart
This paper introduces the special issue of Knowledge-Based Systems on HumanComputer Collaboration (HCC). It derives a set of fundamental issues from a definition of collaboration, introduces two major approaches to HCC, and surveys each approach, showing how it formulates and addresses the issues. It concludes by proposing some themes that should characterize a unified approach to human-computer collaboration. 1 Introduction Collaboration is a process in which two or more agents work together to achieve shared goals. Thirty researchers came together in Raleigh, North Carolina in October of 1993 for a AAAI Fall Symposium dedicated to this topic. The goal of the symposium was to achieve a better understanding of Human-Computer Collaboration (HCC), collaboration involving at least one human and one computational agent. In particular, the symposium sought to explore the fundamental nature of collaborative problem solving, understand the constraints brought to bear by the differing charac...
Seeding, Evolutionary Growth and Reseeding: The Incremental Development of Collaborative Design Environments
, 1996
"... this paper. In particular, Kumiyo Nakakoji provided invaluable assistance. The research was supported by the National Science Foundation under grants No. IRI-9015441 and MDR-9253245, and NYNEX Science and Technology Center (White Plains, N.Y.). ..."
Abstract
-
Cited by 32 (19 self)
- Add to MetaCart
this paper. In particular, Kumiyo Nakakoji provided invaluable assistance. The research was supported by the National Science Foundation under grants No. IRI-9015441 and MDR-9253245, and NYNEX Science and Technology Center (White Plains, N.Y.).
Exploring Support for Knowledge Management in Mobile Work
- In Proceedings of the Sixth European Conference on Computer-Supported Cooperative Work
, 1999
"... This paper reports fieldwork from the electrical utilities industry, examining the suitability of current knowledge management perspectives to the day-to-day work of mobile staff. Reporting the results of the empirical study, we make a distinction between four aspects of local and mobile "knowledge ..."
Abstract
-
Cited by 30 (8 self)
- Add to MetaCart
This paper reports fieldwork from the electrical utilities industry, examining the suitability of current knowledge management perspectives to the day-to-day work of mobile staff. Reporting the results of the empirical study, we make a distinction between four aspects of local and mobile "knowledge management" as it took place in the mobile work setting: sharing, i.e., several parties exchange knowledge; indexing, i.e., one party explains to another what knowledge to retrieve; diagnosing, i.e., two parties make sense of how to interpret a situation, and; foreseeing, i.e., one party (or more) uses knowledge to project the future. We compare and contrast the empirical findings with current knowledge management perspectives, and outline an initial sketch of a framework for "practical knowledge management."
An Organizational Learning Approach to Domain Analysis
- Seventeenth International Conference on Software Engineering
, 1995
"... As the application of computer technology continues to proliferate and diversify, the identification and understanding of application domains is becoming increasingly important to software development methodologies. Domain analysis techniques have been developed to accumulate and formalize the knowl ..."
Abstract
-
Cited by 29 (21 self)
- Add to MetaCart
As the application of computer technology continues to proliferate and diversify, the identification and understanding of application domains is becoming increasingly important to software development methodologies. Domain analysis techniques have been developed to accumulate and formalize the knowledge necessary for successful software reuse. These techniques have been shown to be useful, but suffer from defining the domain too restrictively, burying important relationships deep in domain taxonomies, and prohibiting flexible identification of domains with common issues. Techniques are needed that dynamically detect recurring patterns of activities in development projects. This paper presents a method for developing and refining the knowledge and experience accumulated by a development organization so it can learn from previous efforts. A case-based repository of project experiences supports the re-use and refinement of domain knowledge to reduce duplicate effort, build on successful e...
A Framework For Developing Experience-Based Usability Guidelines
- Proceeding of the Symposium on Designing Interactive Systems (DIS ‘95), Ann Arbor MI
, 1995
"... Reflecting the growing consensus that principles and methods for developing effective interfaces are beginning to mature, usability design guidelines have begun to proliferate. But current approaches to guidelines tend to either be technology-centric, focusing on platform-specific interface widgets, ..."
Abstract
-
Cited by 18 (8 self)
- Add to MetaCart
Reflecting the growing consensus that principles and methods for developing effective interfaces are beginning to mature, usability design guidelines have begun to proliferate. But current approaches to guidelines tend to either be technology-centric, focusing on platform-specific interface widgets, or abstract and general-purpose. At best, these general guidelines provide weak support that is insufficient to support developers faced with specific interface design problems targeted for specific user populations. If the potential of usability guidelines as an interface design technique is to be fully realized, they need to be augmented with context-specific guidelines and examples that synthesize isolated guidelines into domain-specific solutions to design problems. In this paper, we present a method in which software development organizations can develop and evolve domain-specific guidelines based on the kinds of applications they develop. The method facilitates the process of determin...
An Organizational Learning Method for Applying Usability Guidelines and Patterns
- EHCI
, 2001
"... As usability knowledge and techniques continues to grow, there is an increasing need to provide tools that disseminate the accumulated wisdom of the field. Usability guidelines are one technique that is used to convey usability knowledge. Another is the emerging discipline of usability patterns. T ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
As usability knowledge and techniques continues to grow, there is an increasing need to provide tools that disseminate the accumulated wisdom of the field. Usability guidelines are one technique that is used to convey usability knowledge. Another is the emerging discipline of usability patterns. This paper presents an approach that combines these techniques in a case-based architecture and utilizes a process to help an organization capture, adapt, and refine usability resources from project experiences. The approach utilizes a rule-based tool to represent the circumstances under which a given usability resource is applicable. Characteristics of the application under development are captured and used to match usability resources to the project where they can be used to drive the design process. Design reviews are used to capture feedback and ensure that the repository remains a vital knowledge source for producing useful and usable software systems. 1
Learning from project history: a case study for software development
- in CSCW '04. 2004
"... The lack of lightweight communication channels and other technical and sociological difficulties make it hard for new members of a non-collocated software development team to learn effectively from their more experienced colleagues while they are coming upto-speed on a project. To address this situa ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
The lack of lightweight communication channels and other technical and sociological difficulties make it hard for new members of a non-collocated software development team to learn effectively from their more experienced colleagues while they are coming upto-speed on a project. To address this situation, we have developed a tool, named Hipikat, that provides developers with efficient and effective access to the group memory for a software development project that is implicitly formed by all of the artifacts produced during the development. This project memory is built automatically with little or no change to existing work practices. We report an exploratory case study evaluating whether software developers who are new to a project can benefit from the artifacts that Hipikat recommends from the project memory. To assess the appropriateness of the recommendations, we investigated when and how developers queried the project memory, how they evaluated the recommended artifacts, and the process by which they utilized the artifacts. We found that newcomers did use the recommendations and their final solutions exploited the recommended artifacts, although most of the Hipikat queries came in the early stages of a change task. We describe the case study, present qualitative observations, and suggest implications of using project memory as a learning aid for project newcomers.
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
The Evolution of knowledge management system need to be managed
- Journal of Knowledge Management Practice
, 2000
"... Today many organizations are reliant on the knowledge and competence of individual organizational members. Information systems to support knowledge management (KM) are therefore considered to be vital tools in order to achieve competitive advantage. In this paper, we report the results from a field ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
Today many organizations are reliant on the knowledge and competence of individual organizational members. Information systems to support knowledge management (KM) are therefore considered to be vital tools in order to achieve competitive advantage. In this paper, we report the results from a field research study of such systems in a knowledge-intensive, fast-growing and dynamic organization. The case illustrates that evolution, which refers to the process by which organizations and their information systems change over time, needs to be managed since it can result in KM-systems failures. We characterize the mainstream KM research literature in relation to managing the risk of KMsystems failures, and outline that management of KM-systems ’ evolution is a dimension that has not been addressed so far. With these empirical and theoretical results as a basis, we argue that more attention must be given to managing the evolution of KM-systems.

