josh@polaris.UUCP (Josh Knight) (11/23/85)
%A W.S. Humphrey %T The IBM Large-Systems Software Development Process: Objectives and Direction %J IBM Sys. J. %V 24 %N 2 %P 76-78 %D JUN 1985 %X This paper introduces a special issue of the IBM Systems Journal on the IBM large-systems software development process. The issue provides an overview of the subject and a summary of the key principles of the IBM software quality and productivity efforts in large-scale systems programming. The major topics addressed in this issue are the software development process, software development tools and methodologies, quality and productivity measurements, and programmer education. %A R.A. Radice %A N.K. Roth %A A.C. O'Hara, Jr. %A W.A. Ciarfella %T A Programming Process Architecture %J IBM Sys. J. %V 24 %N 2 %P 79-90 %D JUN 1985 %X The Programming Process Architecture is a framework describing required activities for an operational process that can be used to develop system or application software. The architecture includes process management tasks, mechanisms for analysis and development of the process, and product quality reviews during the various stages of the development cycle. It requires explicit entry criteria, validation, and exit criteria for each task in the process, which combined form the "essence" of the architecture. The architecture describes requirements for a process needing no new invention, but rather using the best proven methodologies, techniques and tools available today. This paper describes the Programming Process Architecture and its use, emphasizing the reasons for its development. %A R.A. Radice %A J.T. Harding %A P.E. Munnis %A R.W. Phillips %T A Programming Process Study %J IBM Sys. J. %V 24 %N 2 %P 91-101 %D JUN 1985 %X A programming Site Study group was convened to look at the work of eight large-system programming development locations within IBM and to evaluate them according to a set of process stages. Eleven attributes were applied to each process stage. The process of the Site Studies is directly transferable to software evaluations on any project in the software industry, and it is believed that the studies are the first step necessary in the evolution of a consistently repeatable and dynamically controllable process of improvement within the industry. The phases of these studies and implementation of the studies are described. %A G.F. Hoffnagle %A W.E. Beregi %T Automating the Software Development Process %J IBM Sys. J. %V 24 %N 2 %P 102-120 %D JUN 1985 %X Demand for reliable software systems is stressing software production capability, and automation is seen as a practical approach to increasing productivity and quality. Discussed in this paper are an approach and an architecture for automating the software development process. The concepts are developed from the viewpoint of the needs of the software development process, rather than that of the established tools or technology. We discuss why automation of software development must be accomplished by evolutionary means. We define the architecture of a software engineering support facility to support long-term process experimentation, evolution, and automation. Such a facility would provide flexibility, tool portability, tool and process integration, and process automation for a wide range of methodologies and tools. We present the architectural concepts for such a facility and examine ways in which it can be used to foster software automation. %A M.B. Carpenter %A H.K. Hallman %T Quality Emphasis at IBM's Software Engineering Institute %J IBM Sys. J. %V 24 %N 2 %P 121-133 %D JUN 1985 %X Improvements in quality and productivity in the development of programs can be obtained by instructing the programming development groups in the use of modern software engineering methodology. To provide this instruction to its employees, IBM has established a Software Engineering Institute. Currently training in the methodology is being offered through an education program of the Institute known as the Software Engineering Workshop. This paper describes the role of the Institute, its background and offerings and some results obtained. %A R.G. Mays %A L.S. Orzech %A W.A. Ciarfella %A R.W. Phillips %T PDM: A Requirements Methodology for Software System Enhancements %J IBM Sys. J. %V 24 %N 2 %P 134-149 %D JUN 1985 %X Traditional requirements processes often do not address the many problems encountered in the development of software products. Conventional processes begin with the structural definition of the proposed system, under the assumption that the raw requirements are understood. How this understanding is developed is not formally addressed. The IBM software development process requires a methodology to develop the rationale of the requirement, both in terms of its underlying problem and its business justification, prior to the development of the functional specification. Conventional requirements processes address a single software application intended for use by a uniform set of end users. The resulting system is usually a one-time replacement of some existing system. Many IBM software products, however, address requirements received from a large, diverse set of customers who use the products in a wide array of computing environments. Product releases are typically developed as incremental enhancements to an existing base product. This paper describes the Planning and Design Methodology (PDM), a requirements planning process that supports the collection, analysis, documentation, and tracking of software requirements. The process includes requirements collection, definition of the underlying problems, development of an external functional description that addresses the problems, and development of system and product designs from the external functional descriptions. PDM has been applied in three development areas with positive results. %A C.L. Jones %T A Process-Integrated Approach to Defect Prevention %J IBM Sys. J. %V 24 %N 2 %P 150-167 %D JUN 1985 %X Recent efforts to improve quality in software have concentrated on defect detection. This paper presents a programming process methodology for using causal analysis and feedback as a means for achieving quality improvements and ultimately defect prevention. The methodology emphasizes effective utilization of all error data to prevent the recurrence of defects. %A M.J. Flaherty %T Programming Process Productivity Measurement System for System/370 %J IBM Sys. J. %V 24 %N 2 %P 168-175 %D JUN 185 %X Discussed in this paper are the underlying principles of a programmer productivity measuring system. The key measurers (or metrics) are people and lines of code. Definitions of these metrics are refined and qualified, according to the conditions under which they are used. Presented also is a data base design for retaining and retrieving these metrics under a wide variety of applications and other circumstances. Depending on definitions, applications, and other circumstances, productivity measurements may differ widely. On the other hand, after suitable productivity metrics have been defined, consistency of application of the same metrics yields comparable results from project to project. -- Josh Knight, IBM T.J. Watson Research josh at YKTVMH on BITNET, josh.yktvmh@ibm-sj on CSnet, ...!philabs!polaris!josh