Browsing by Author "Lewis, John A."
Now showing 1 - 16 of 16
Results Per Page
Sort Options
- The Effects of Roles and Personality Characteristics on Software Development Team EffectivenessStevens, K. Todd Jr. (Virginia Tech, 1998-03-20)The objective of this research is to show the utility of roles and personality characteristics to the evaluation and formation of software development teams. The goals of this research include demonstrating empirically that Belbin's team roles can be used to form and evaluate software teams, providing a partial validation of the analyses by using the Belbin roles to analyze teams from the software industry, and comparing the personality data collected for this research to data from two previous studies and to the general population. In the highly competitive software industry, improving the software development process can be critical to a company's success. More specifically, improving a team's productivity can save employers significant time and money. This investigation addresses the productivity of software development teams in a series of studies. First, controlled studies empirically show that Belbin's roles can be used in team formation to improve team performance. Second, additional studies, both qualitative and quantitative, demonstrate that Belbin's roles can be used as criteria in team evaluation and formation. Finally, teams from the software development industry are evaluated, providing a partial validation of the usefulness of Belbin's roles to software teams. The cumulative effect of the results of the studies in this investigation demonstrate that Belbin's roles can be used effectively in team formation and evaluation. Specifically, Belbin's roles for leadership and innovation are shown in empirical studies to be important in the formation of software teams, and all of the Belbin roles are used in the evaluation of teams in academia as well as in industry. The results of this investigation should be used in team formation and evaluation, in an academic setting as well as in the software development industry. For team evaluation, deficiencies uncovered in the Belbin roles should be remedied, and positive aspects should be encouraged. In team formation, teams should contain the complement of Belbin roles and should specifically contain the leadership and innovation roles focused on as part of this investigation. It is clear from this investigation that Belbin's roles can be used effectively to improve software development teams.
- An empirical study of software reuse: the impact of the object-oriented paradigm and human factorsLewis, John A. (Virginia Tech, 1991-04-05)Little or no empirical validation exists for many of software engineering's basic assumptions. While some of these assumptions are intuitive, the need for scientific experimentation remains clear. Several assumptions are made about the factors affecting software reuse. In particular, the object-oriented paradigm and various human factors are hypothesized to affect the successful reuse of software components. This dissertation describes a controlled experiment designed to evaluate the impact of the object-oriented paradigm and human factors on software reuse. The human factors under investigation include managerial influence and cognitive abilities. This experiment concludes (a) the object-oriented paradigm makes significant contributions to productivity, (b) language differences are far more important when programmers reuse than when they do not, and (c) the object-oriented paradigm holds a particular affinity to the reuse process, (d) reuse results in higher productivity than no reuse independent of language paradigm, (e) the level of management encouragement does affect the reuse process, and (f) the cognitive ability of visualization does relate to effective reuse.
- An Empirical Study of the Object-Oriented Paradigm and Software ReuseLewis, John A.; Henry, Sallie M.; Kafura, Dennis G.; Schulman, Robert S. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1992)This paper describes the preliminary results of a controlled experiment designed to evaluate the impact of the object-oriented paradigm on software reuse. The experiment concludes that (1) the object-oriented paradigm substantially improves productivity, although a significant part of this improvement is due to the effect of reuse, (2) reuse without regard to language paradigm improves productivity, (3) language differences are far more important when programmers reuse than when they do not, and (4) the object-oriented paradigm has a particular affinity to the reuse process.
- An Empirical Study of the Object-Oriented Paradigm and Software ReuseLewis, John A.; Henry, Sallie M.; Kafura, Dennis G.; Schulman, Robert S. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1991)Little or no empirical validation exists for many of software engineering's basic assumptions. While some of these assumptions are intuitive, the need for scientific experimentation remains clear. Several assumptions are made about the factors affecting software reuse, and in particular, the role of the object-oriented paradigm. This paper describes the preliminary results of a controlled experiment designed to evaluate the impact of the object-oriented paradigm on software reuse. The experiment concludes that (1) the object-oriented paradigm substantially improves productivity, although a significant part of this improvement is due to the effect of reuse, (2) reuse without regard to language paradigm improves productivity, (3) language differences are far more important when programmers reuse than when they do not, and (4) the object-oriented paradigm has a particular affinity to the reuse process.
- Evaluation of the Maintainability of Object-Oriented SoftwareHenry, Sallie M.; Humphrey, Matthew C.; Lewis, John A. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1990)Empirical research is one way of testing software engineering methodologies. Many claims of the advantages of the object oriented paradigm have been made by research. Our work involves empirical projects in an attempt to validate these claims. This paper describes an experiment which compares the maintainability of the two functionally equivalent systems in order to explore the claim that systems developed with object-oriented languages are more easily maintained than those programmed with procedural languages. We found supporting evidence that programmers produce more maintainable code with an object-oriented language than with a standard procedural language. Another on-going research effort attempts to measure the reusability of objects (written in C++) versus the reusability of procedures (written in Pascal). These experiments involve students, but unlike other published reports, deal with large systems.
- Human Factors and Software Reuse: The Manager's ImpactLewis, John A.; Henry, Sallie M.; Kafura, Dennis G.; Schulman, Robert S. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1992)This paper describes the results of a controlled experiment designed to evaluate the impact of human factors on software reuse. The experiment concludes that (1) software reuse promotes higher productivity than no reuse, (2) reuse resulting from both moderate and strong encouragement promote higher productivity than no reuse, and (3) while strong managerial encouragement did not create a significant difference in productivity, it does tend to promote improper reuse activities.
- Implications on the Learning of Programming Through the Implementation of Subsets in Program Development EnvironmentsDePasquale, Peter Joseph III (Virginia Tech, 2003-07-17)The undergraduate Computer Science program at Virginia Tech is the largest in the Commonwealth of Virginia, of which a key component is ``CS 1044: Introduction to Programming'', and is typical of a first course in computer programming throughout the USA. While the student access to learning resources has improved considerably with the development of web-based assets, students are still expected to use the same sophisticated program development tools as are used in industry. The perceived complexity of the learning environment currently in use drives many women and minority students from the Computer Science program. A great deal of attention has been paid to the need to administer the student assignments and the grading system for this course, so as to minimize the teaching/grading load, but little attention has been paid to the methodologies of learning the material through practice. The work reported herein is intended to improve the pedagogy of this course by creating and integrating teaching/learning tools that better manage the student's engagement in the use of program development activities. Following the implementation of a three-element software system involving an interpreter for the C-language, a program development environment, and a data-monitoring/collectiondevice, the system was deployed in support of the freshman course in parallel to the commercial system commonly used. The experiment concentrated on examining the impact of the simplified development environment and the effort required for students to complete assigned programming projects.
- Integrating Metrics into a Large-Scale Software Development EnvironmentHenry, Sallie M.; Lewis, John A. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1989)Software metrics have been shown to be indicators of software complexity. These complexity indicators identify error-prone, unmaintainable software, which if identified early can be rewritten and/or thoroughly tested. However, the integration of metric use into commercial situations faces practical resistance from budget and deadline restrictions. This paper presents an experiment that introduces a nondisruptive method for integrating metrics into a large-scale commercial software development environment.
- Management Issues and Software Reuse: An Empirical StudyLewis, John A.; Henry, Sallie M.; Kafura, Dennis G.; Schulman, Robert S. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1992)This paper describes the results of a controlled experiment designed to evaluate the impact of managerial influence and cognitive abilities on software reuse. The experiment concludes that (1) software reuse promotes higher productivity, (2) reuse resulting from both moderate and strong encouragement promote higher productivity than no reuse, (3) management's strong encouragement to reuse tends to promote improper reuse activities, (4) in general, reuse of a module is unproductive if 30 percent or less is used for the target system, though as much as 50 percent can be discarded for some modules and still be worth reusing, (5) of integrative ability, perception speed, and visualization, only the ability to visualize changes made to patterns was related to software reuse, and (6) of the subject's prior experience, only the amount of testing experience was related to software reuse.
- Managerial Issues in Developing a Quality Metrics ProgramLewis, John A.; Henry, Sallie M. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1990)Software quality metrics are used to determine error prone code due to excessive complexity. These results can be used to guide testing efforts and predict future maintenance needs. However, implementing a quality metrics program involves many subtle issues which complicate the development and use of a metrics methodology. Many of theses issues are managerial in nature. This paper examines some managerial elements of designing and implementing a quality metrics program. Previous studies which incorporate a metrics methodology into two different commercial environments are used to demonstrate the difficulties in implementation and approach.
- A methodology for integrating maintainability into large-scale software using software metricsLewis, John A. (Virginia Tech, 1989-05-16)Maintainability must be integrated into software as early in the development life cycle as possible to avoid overwhelming maintenance costs at later stages. This research describes a methodology which assists in the development of maintainable systems and does so without disrupting industry standard development techniques. The process uses software metrics and iterative enhancement concepts to reduce the complexity of high-level language code, making it less error-prone and more maintainable. The experiment uses large-scale system software from a major software producer.
- A Methodology for Integrating Maintainability Using Software MetricsLewis, John A.; Henry, Sallie M. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1989)Maintainability must be integrated into software early in the development process. But for practical use, the techniques used must be as unobtrusive to the existing software development process as possible. This paper defines a methodology for integrating maintainability into large-scale software and describes an experiment which implemented the methodology into a major commercial software development environment.
- On the Benefits of a Maintainability MethodologyLewis, John A.; Henry, Sallie M. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1990)A metrics methodology can dramatically reduce the problems associated with software maintenance. However, several issues must be addressed in order to develop and use these techniques successfully. This paper defines a metrics methodology which is designed to deliberately integrate maintainability into software as it is being developed. The benefits of using this approach are discussed. Then several issues which complicate the development and use of the methodology are examined. Previous maintenance studies which incorporate the methodology into two different commercial environments are used to demonstrate the difficulties in implementation and contrast the differences in approach.
- On the Relationship Between the Object-Oriented Paradigm and Software Reuse: An Empirical InvestigationLewis, John A.; Henry, Sallie M.; Kafura, Dennis G.; Schulman, Robert S. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1992)This paper describes the results of a controlled experiment designed to evaluate the impact of the object-oriented paradigm on software reuse. The experiment concludes that (1) the object-oriented paradigm substantially improves productivity over the procedural paradigm, (2) language differences are far more important when programmers reuse than when they do not, (3) under both moderate and strong encouragement to reuse, the object-oriented paradigm promotes higher productivity than the procedural paradigm, (4) software reuse improves productivity no matter which language paradigm is used, and (5) the object-oriented paradigm has a particular affinity to the reuse process.
- Software Metrics and the Object-Oriented ParadigmLi, Wei; Cooley, Charles; Lewis, John A.; Henry, Sallie M. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1990)Software metrics are in use to guide current software development practices. As commercial organizations make use of the benefits of the object-oriented paradigm, the desire to apply metrics to that paradigm has logically followed. However, standard procedural metrics are limited in their ability to describe true object-oriented designs and code, and in some aspects fail outright. This paper describes the difficulties in applying standard metrics to object-oriented code and defines a set of metrics which are specifically geared toward the features which make the object-oriented approach unique.
- A study to develop and evaluate a taxonomic model of behavioral techniques for representing user interface designsChase, Joseph D. (Virginia Tech, 1994-04-06)A user-centered approach to interactive system development requires a way to represent the behavior of a user interacting with an interface. While a number of behavioral representation techniques exist, not all provide the capabilities necessary to support the interaction development process. The original goal of this research was to modify and extend the User Action Notation (UAN), a user- and task-centered behavioral representation technique. In order to facilitate and evaluate the improvement in the UAN, we developed and evaluated a taxonomic model of behavioral representation techniques. The development and evaluation of our model followed the epistemological cycle of observation, theorization, and evaluation. The model provides a framework for discussing, analyzing, extending, and comparing existing behavioral representation techniques, as well as being a springboard for developing and evaluating new techniques.