This book is a summary of my 32 years of experience in designing and building computer software: 7 years in the U.S. Army building software, and 25 years at the Jet Propulsion Laboratory. This period of accumulated experience also includes the information I gathered as a software management consulta