Results 1 - 10
of
63
How Reuse Influences Productivity in Object-Oriented Systems
- COMMUNICATIONS OF THE ACM
, 1996
"... ..."
Reflective Systems Development
, 1997
"... . The ways in which we approach systems development practice and research play a major role in shaping professional development within our field. This paper investigates a particular approach, Reflective Systems Development, which has been developed over the past twenty years by a small group o ..."
Abstract
-
Cited by 28 (2 self)
- Add to MetaCart
. The ways in which we approach systems development practice and research play a major role in shaping professional development within our field. This paper investigates a particular approach, Reflective Systems Development, which has been developed over the past twenty years by a small group of mainly Danish researchers in collaboration with practitioners and students. In this approach, researchers focus on how computer-based information systems are developed in practice; they emphasize the important role played by the local organizational environment; and they combine interpretive understandings of practice with normative propositions to support professional development. The purpose of the paper is to present and evaluate the underlying assumptions and practices of Reflective Systems Development focusing on the following questions: How should we understand, support, and improve practice ? How should we organize and conduct research? How should we relate practice and...
Collaborative Practice Research
- Information Technology & People
, 2002
"... Abstract Reports from a systems development research tradition in which emphasis is put on relating research activities to practice and on establishing fruitful collaboration between groups of researchers and practitioners. Describes and evaluates a specific research project in which a large group o ..."
Abstract
-
Cited by 26 (4 self)
- Add to MetaCart
Abstract Reports from a systems development research tradition in which emphasis is put on relating research activities to practice and on establishing fruitful collaboration between groups of researchers and practitioners. Describes and evaluates a specific research project in which a large group of researchers and practitioners worked together to understand, support, and improve systems development practices in four organisations over a period of three years. Uses the case to reflect on the research goals, approaches, and results involved in this tradition for researching systems development practice. Proposes collaborative practice research as a way to organise and conduct research into systems development practice based on close collaboration between researchers and practitioners. Exemplifies the use of pluralist research methodology by combining action research with experiments and conventional practice studies. Argues that collaborative practice research offers one practical way to strike a useful balance between relevance and rigour. Concludes with a discussion of the implications for the relation between research and practice within the systems development discipline and with lessons on how to design research efforts as collaborations between researchers and practitioners. 1
On the Construction of Persistent Programming Environments
, 1988
"... This thesis presents research into the construction of persistent programming systems. Much of the thesis is concerned with the design and implementation of persistent programming languages, in particular PS-algol and Napier. Both languages support machine independent vector and raster graphics data ..."
Abstract
-
Cited by 16 (4 self)
- Add to MetaCart
This thesis presents research into the construction of persistent programming systems. Much of the thesis is concerned with the design and implementation of persistent programming languages, in particular PS-algol and Napier. Both languages support machine independent vector and raster graphics data types. Napier provides an environment mechanism that enables the incremental construction and binding of programs. Napier has a powerful type system featuring parametric polymorphism and abstract data types. The machine supporting Napier, the Persistent Abstract Machine, is investigated. The machine supports an efficient implementation of parametric polymorphism and abstract data types. The Persistent Abstract Machine has a layered architecture in which permits experimentation into language implementation and store design. The construction of compilers in a persistent environment is explored. A flexible compiler architecture is developed. With it, a family of compilers may be constructed a...
Automating output size and reuse metrics in a repository-based computer-aided software engineering (CASE) environment
- IEEE Transactions on Software Engineering
, 1994
"... [KEYWORDS: CASE, computer aided software engineering function point analysis, object-based development, programming productiviq, repositories, reuse, sojhare costs, software engineering economics, software metrics.] F'orthcoming: ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
[KEYWORDS: CASE, computer aided software engineering function point analysis, object-based development, programming productiviq, repositories, reuse, sojhare costs, software engineering economics, software metrics.] F'orthcoming:
Competencies of Exceptional and Non-Exceptional Software Engineers
- The Journal of Systems and Software
, 1995
"... The attributes of individual software engineers are perhaps the most important factors in determining the success of software development. Our goal is to identify the professional competencies that are most essential. In particular, we seek to identify the attributes that di#erentiate between except ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
The attributes of individual software engineers are perhaps the most important factors in determining the success of software development. Our goal is to identify the professional competencies that are most essential. In particular, we seek to identify the attributes that di#erentiate between exceptional and non-exceptional software engineers. Phase 1 of our research is a qualitative study designed to identify competencies to be used in the quantitative analysis performed in Phase 2. In Phase 1, we conduct an in-depth review of ten exceptional and ten non-exceptional software engineers working for a major computing #rm. We use biographical data and Myers-Briggs Type Indicator test results to characterize our sample. We conduct Critical IncidentInterviews focusing on the subjects experience in software and identify 38 essential competencies of software engineers. Phase 2 of this study surveys 129 software engineers to determine the competencies that are di#erential between ex...
Understanding and Improving Time Usage in Software Development
, 1996
"... Time and motion studies are a proven means toward understanding and improving any engineering enterprise. We believe that the engineering of software processes is no different in this respect; however, the fact that software development yields an intellectual --- as opposed to physical --- product c ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
Time and motion studies are a proven means toward understanding and improving any engineering enterprise. We believe that the engineering of software processes is no different in this respect; however, the fact that software development yields an intellectual --- as opposed to physical --- product calls for new and creative measurement techniques. In attempting to answer the question "Where does time go in software development?" we have been experimenting with several forms of data collection. We have found that two techniques in particular, time diaries and direct observation, are feasible and yield useful information about time utilization. The major source of discrepancy between them is granularity: most software developers can not retrospectively report with a high degree of accuracy the large number of interruptions and unplanned transitory events that typically characterize their working day. Drawing upon experimental techniques from the behavioral sciences, we used three alterna...
Evaluating Techniques for Generating Metric-Based Classification Trees
- In Journal of Systems and Software
, 1990
"... Metric-based classification trees provide an approach for identifying user-specified classes of high-risk software components throughout the software lifecycle. Based on measurable attributes of software components and processes, this empirically guided approach derives models of problematic softwa ..."
Abstract
-
Cited by 12 (1 self)
- Add to MetaCart
Metric-based classification trees provide an approach for identifying user-specified classes of high-risk software components throughout the software lifecycle. Based on measurable attributes of software components and processes, this empirically guided approach derives models of problematic software components. These models, which are represented as classification trees, are used on future systems to identify components likely to share the same high-risk properties. Example high-risk component properties include being fault-prone, change-prone, or effort-prone, or containing certain types of faults. Identifying these components allows developers to focus the application of specialized techniques and tools for analyzing, testing, and constructing software. A validation study using metric data from 16 NASA systems showed that the trees had an average classification accuracy of 79.3 percent for fault-prone and effort-prone components in that environment. One fundamental feature of the ...
Measuring the Impact of Reuse on Quality and Productivity in Object-Oriented Systems
, 1995
"... This paper presents the results of a study conducted at the University of Maryland in which we assessed the impact of reuse on quality and productivity in OO systems. Reuse is assumed to be a very effective strategy for software industry to build high-quality software. However, there is currently ve ..."
Abstract
-
Cited by 12 (1 self)
- Add to MetaCart
This paper presents the results of a study conducted at the University of Maryland in which we assessed the impact of reuse on quality and productivity in OO systems. Reuse is assumed to be a very effective strategy for software industry to build high-quality software. However, there is currently very little empirical information about what we can expect from reuse in terms of productivity and quality gains. This also applies to OO development which is supposed to facilitate reuse. Our experiment is one step towards a better understanding of the benefits of reuse in an OO framework, considering currently available technology. Data was collected, for four months, on the development of eight medium-size management information systems with equivalent requirements. All eight projects were developed using the Waterfall Software Engineering Life Cycle Model, an Object-Oriented (OO) design method and the C++ programming language. This study indicates significant benefits from reuse in terms o...
Coordination neglect: How lay theories of organizing complicate coordination in organizations
- RESEARCH IN ORGANIZATIONAL BEHAVIOR, ELSEVIER
, 2000
"... We argue that organizations often fail to organize effectively because individuals have lay theories about organizing that lead to coordination neglect. We unpack the notion of coordination neglect and describe specific cognitive phenomena that underlie it. To solve the coordination problem, organiz ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
We argue that organizations often fail to organize effectively because individuals have lay theories about organizing that lead to coordination neglect. We unpack the notion of coordination neglect and describe specific cognitive phenomena that underlie it. To solve the coordination problem, organizations must divide a task and then integrate the components. Individuals display shortcomings that may create problems at both stages. First, lay theories often focus more on division of labor than on integration. We discuss evidence that individuals display partition focus (i.e. they focus on partitioning the task more than on integration) and component focus (i.e. they tend to focus on single components of a tightly interrelated set of capabilities, particularly by investing to create highly specialized components). Second, when individuals attempt to reintegrate a task, they often fail to use a key mechanism for integration: ongoing communication. Individuals exhibit inadequate communication because the ‘curse of knowledge’ makes it difficult to take the perspective of another and communicate effectively. More importantly, because specialists find it especially difficult to communicate with each other, the

