1st Edition

The Laws of Software Process
A New Model for the Production and Management of Software



ISBN 9780849314896
Published September 25, 2003 by Auerbach Publications
270 Pages 90 B/W Illustrations

USD $110.00

Prices & shipping based on shipping country


Preview

Book Description

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.

Table of Contents

The Nature of Software and The Laws of Software Process
A Brief History of Knowledge
The Characteristics of Knowledge Storage Media
The Nature of Software Development
The Laws of Software Process and the Five Orders of Ignorance
The Laws of Software Process
The First Law of Software Process
The Corollary to the First Law of Software Process
The Reflexive Creation of Systems and Processes
The Lemma of Eternal Lateness
The Second Law of Software Process
The Rule of Process Bifurcation
The Dual Hypotheses of Knowledge Discovery
Armour's Observation on Software Process
The Third Law of Software Process (also known as the Footwear Manufacturer's Minor Dependent's Law)
The Twin Goals of Optimal Termination

The Purpose of Process
Types of Teams
Software Teams are All Types at the Same Time
A Range of Unknowns, A Range of Processes
Inventing Processes
The Purpose of Process
The Problems of Process

The Meaning of Methodology
The Maturity of Testing

The Logic of Life Cycles
Words Force Sequence
Shooting Down Zeppelins
Shooting Down Jet Planes
The True Lifecycle
A More Complex Generalized Model

Of Methods and Models and Minds
Models of Convention
Models of Numbers
Counting
Chunking
The Physical Nature of Models
The Logical Nature of Models
Map Onto Problem and/or Solution Space
Methods and Models
Minds

The Advent of Agile
It's Always Been Agile
The Problems of "Big" Process
Agile Methods
Extreme Programming (XP)
Code Science
Crystal Methods
Scrum
Dynamic Systems Development Method (DSDM)
Feature-Driven Development (FDD)
Lean Development
Adaptive Software Development (ASD)
Why Agile? Why Now?

Agile and the Orders of Ignorance
Agile and the Orders of Ignorance
Subdividing the Orders of Ignorance
Agile and Zeroth Order Ignorance
Agile and First Order Ignorance
Agile and Second Order Ignorance
Agile and Third Order Ignorance
Agile and the Fourth Order of Ignorance

The Future of Software Development
The Execution of Knowledge
The Demise of "Software Engineering"
Software Development as an Educational Activity
The Project

Appendix A The Five Knowledge Storage Media
Knowledge
A Brief History of Knowledge Storage
The Characteristics of the Knowledge Storage Media
Building on Knowledge
Brains, Books and Software

Appendix B The Five Orders of Ignorance
A Walk in the Woods
A Path Less Traveled
Tracks
Prototyping
The Expectation of Product
Kinds of Knowledge
The Five Orders of Ignorance
The Five Orders of Ignorance in Systems Development
The 3OI Cycle
The Inability to Measure Knowledge

...
View More

Reviews

"This book nicely consolidates and expands on the material in Phillip Armour's columns…This is a thought-provoking book that…has ideas about how to approach process design and implementation that could be useful in most situations."
Scott Duncan, Software Quality Press