Most software projects have dreadful quality! Good intentions and wishful thinking do not impart quality. Neither do software principles and practices if you overlook the fundamentals. The fundamental laws described in this book are universally important, yet software quality suffers because they are violated by most projects. Regardless of your role and experience, this book will change your view of software development forever.
Within one generation, software has become one of the principal sources of wealth in the world. The development and use of software has grown faster than for any artifact in the history of the world. Probably no topic or subject in history has accelerated in its rate of practice as software has. Software development now needs to mature into a disciplined activity to overcome the difficulties that have traditionally plagued it. Software developers, engineers, and project managers need a reference that describes the evolution of software: where it has been, and where it is going. The Laws of Software Process: A New Model for the Production and Management of Software reveals a novel and compelling structure for development that redefines the very nature and purpose of software. The author explains how, in the modern "knowledge economy," software systems are not "products" in the classical sense, but is the modern medium for the conveyance of information. Literally, software is the currency of the knowledge basis of wealth in today's society. From this definition flows a new assessment of the basics of software development: the purpose of methods and processes; a comparison of programming languages; and an analysis of quality management, cost estimation, and project management and completion. The groundbreaking perspective outlined in this book serves as an expert guide for successful planning and execution of development projects.
Annotation This handbook presents the laws that significantly impact software engineering. This book begins with requirements definitions and concludes with maintenance and withdrawal. Along the way, it identifies and discusses existing laws that significantly impact software engineering. Software engineers who wish to reacquaint (or ecquaint) themselves with the basic laws of software engineering and their applicability in an industrial setting.
In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).
Software engineering is playing an increasingly significant role in computing and informatics, necessitated by the complexities inherent in large-scale software development. To deal with these difficulties, the conventional life-cycle approaches to software engineering are now giving way to the "process system" approach, encompassing development methods, infrastructure, organization, and management. Until now, however, no book fully addressed process-based software engineering or set forth a fundamental theory and framework of software engineering processes. Software Engineering Processes: Principles and Applications does just that. Within a unified framework, this book presents a comparative analysis of current process models and formally describes their algorithms. It systematically enables comparison between current models, avoidance of ambiguity in application, and simplification of manipulation for practitioners. The authors address a broad range of topics within process-based software engineering and the fundamental theories and philosophies behind them. They develop a software engineering process reference model (SEPRM) to show how to solve the problems of different process domains, orientations, structures, taxonomies, and methods. They derive a set of process benchmarks-based on a series of international surveys-that support validation of the SEPRM model. Based on their SEPRM model and the unified process theory, they demonstrate that current process models can be integrated and their assessment results can be transformed between each other. Software development is no longer just a black art or laboratory activity. It is an industrialized process that requires the skills not just of programmers, but of organization and project managers and quality assurance specialists. Software Engineering Processes: Principles and Applications is the key to understanding, using, and improving upon effective engineering procedures for software development.
This book constitutes the refereed proceedings of the 7th European Workshop on Software Process Technology, EWSPT 2000, held in Kaprun, Austria in February 2000 in conjunction with a meeting of the European ESPRIT IV Project for Process Instance Evolution (PIE). The 21 revised papers presented were carefully reviewed and selected from 44 submissions. The book is organized in sections on methods, applications, process instance evolution, distributed processes and process modeling languages, and industrial experience.