The Generic Software Process
When you work to build a product or system, it's important to go through a series of predictable steps&emdash;a road map that helps you create a timely, high quality result. The road map that you follow is called a 'software process.' The resources presented on this page address generic information about software engineering and the software process. The following topic categories are considered:
Generic Software Engineering Resources
Software Process ModelsGeneric Discussion
The Capability Maturity Model
Software Engineering Standards
Software Process Improvement
Books
Generic Software Engineering Resources
Software Engineering Archives for comp.software.eng
Presents FAQ, tools lists and archives from the newsgroup.
The DACS - DCS Website
"The [DoD] Data and Analysis Center for Software (DACS) and the Defense Software Collaborators (DSC) have merged their websites into one great resource." Use the search function to find information of the topic you need. Highly recommended.
SWEBOK
The IEEE and ACM have developed a guide to the software engineering body of knowledge (SWEBOK). A comprehensive hierarchical collection of topics is addressed with pointer to appropriate reference materials.
Software Engineering Readings by Subject
A comprehensive listing of reading on a wide variety of software engineering subjects. Recommended.
Software Engineering Resources - 1
IT Sources has developed a comprehesive set of software engineering resources.
Software Engineering Resources - 2
One of the most comprehensive collections of software engineering links on the Web, assembled by Brad Appleton. Highly recommended.
Software Engineering Resources - 3
A relatively small, but still worthwhile collection of books, periodicals, web links, CASE tools, and programming checklists has been prepared by Mark J. Sebern.
Software Engineering Resources - 4
The DOD DACS offers a wide array of extremely useful software engineering resources. Recommended.
Software Engineering Resources - 5
A collection of useful pointers by the National Research Council of Canada.
The OPEN Process Framework
The OPEN process framework contain much useful information (and pointers) about process metamodels, models, components, and classes. Worthwhile.
Software Supportability Resources
A useful collection of resources and standards on software maintenance, supportability and reliability -- topics that are too often (incorrectly) deemphasized in discussions of software process.
Crosstalk
Crosstalk is a magazine published by the U.S. DOD available on-line (or in print) that consistently presents pragmatic software engineering advice and comment. Highly recommended.
Software-Engineer.org
The objective of this site is "to improve communication about Software Engineering and to create a Community for Software Engineers." Contains useful articles, discussion groups and pointers.
Methodology.org
A collection of resources that focus on software engineering methods
Adaptable Process Model
A complete software process available for evaluation (use requires a licensing fee). Includes tasks, subtasks, process design language description, document templates, checklists, etc.
Software Engineering Laboratory
Based in Switzerland, the lab performs teaching and research in software engineering with emphasis on development methods and supporting tools. Its site contains useful software engineering information on UML, formal methods, and a variety of related topics.
SERC Technical Reports
The Software Engineering Research Center has an on-going technical report series describing research results from projects in the Center. Some of these reports are limited distribution, available only to SERC affiliate organizations. Most, however, are available to the general public.
Software Engineering Essays
Tom Van Vleck has developed a collection of software engineering essays and proverbs that provide worthwhile insight into this broad subject.
ACM Software Engineering Notes (SEN)
The ACM SEN is a worthwhile source of current information on a broad array of software engineering topics. This site lists the TOC for SEN issues. Content is not yet available on-line.
Software Process ModelsGeneric Discussion
The Dimensions of the Software Process
A useful paper by Sebastian Tyrrell that discusses basic process concepts, principles, and philosophy.
Software Process Models: A Brief Tutorial
A useful introduction to process models.
Software Process Bibliography
The SEI has developed a comprehensive bibliography of software process information.
Process Modeling Tutorial
A brief tutorial on process modeling.
The Capability Maturity Model
The SEI-CMM and SEI CMMI
The Software Engineering Institute (SEI) offers many resources related to software process inlcuding the comprehensive Capability Maturity Model (CMM and CMMI). A brief tutorial for students has been developed at UMass.
CMM Hotlist
Over 100 links to CMM-related materials and information.
The Frameworks Quagmire
A Software Productivity Consortium paper that discusses the numerous standards and process models applied to the software development industry. The CMM, SPICE, Trillium. MIL standards, ISO standards and others are considered.
Software Engineering Standards
IEEE Standards
The source for IEEE standards (available for a fee).
International Standards Organization
The source for ISO standards (available for a fee).
DoD Software Standards
Software standards from the US Department of Defense.
Software Process Standards - A Description
An article that describes most prominant software process standards.
Software Process Improvement
Software Engineering Institute
SEI technical programs, publications, bibliographies, on-line documents, SEI courses and training certifications, and a wide array of SPI resources. Recommended.
European Software Process Improvement Foundation (ESPI)
The ESPI Foundation is a facilitator for effective networking and exchange of information on software process improvement, worldwide.
Software Productivity Consortium
Although much information at this site is restricted to paying members, useful SPI information can be found.
A Software Process Improvement Guidebook (pdf)
A comprehensive guide to SPI developed by NASA. Downloadable in pdf.
SPI Resources - 1
Much useful SPI information assembled by David Frico including an in-depth discussion of CMM Level 5 organizations and their secrets to success. Also a useful paper on cost benefit. Recommended.
SPI Resources - 2
Systems Modeling Ltd. provides a useful set of links to SPI resources.
EdistaLearning-An eLearning Initiative
Roger Pressman and QAI have developed a comprehensive curriculum, QAI & Dr Pressman Series, that covers many important aspects of the software process.
Costs/Benefits of Software Process Improvement
An early SEI paper on the benefits derived from SPI activities.
IDEAL: A User's Guide for Software Process Improvement
This SEI document describes a software process improvement (SPI) program model, IDEAL, which can be used to guide development of along-range, integrated plan for initiating and managing a SPI program. The purpose of this document is to provide process improvement managers with a generic description of a sequence of recommended steps for SPI.
SPICE (ISO/IEC 15504)
SPICE (ISO/IEC15504) is a major international initiative to develop a Standard for Software Process Assessment. Useful information can be found here.
Software Engineering Process Office (SEPO) Home Page
SEPO is the software engineering focal point for the Naval Command, Control, and Ocean Surveillance Center RDT Division (NRaD). SEPO provides software engineering processes and consulting services to projects, conducts and facilitates software engineering training, and acts as a software engineering clearinghouse for NRaD. Site presents a wide array of pointers software engineering information, including many downloadable documents.
Personal Software Process (PSP) Resources - I
PSP is a software engineering methodology by which an individual software developer can continuously improve his or her abilities, in particular: (1) learn to make accurate predictions of time required and quality obtained; (2) improve the quality of the software produced; (2) learn how to evaluate technology and methods. This site contains documents, tools, forms, and support information that are PSP related.
Personal Software Process (PSP) Resources - II
A collection of useful PSP resources including some that are downloadable.
Books 
The current state of the the software engineering and the software process can best be determined from monthly publications such as IEEE Software, Computer, and the IEEE Transactions on Software Engineering. Industry periodicals such as Application Development Trend and Cutter IT Journal often contain articles on software engineering topics. The discipline is summarized every year in the Proceeding of the International Conference on Software Engineering, sponsored by the IEEE and ACM and is discussed in depth in journals such as ACM Transactions on Software Engineering and Methodology, ACM Software Engineering Notes, and Annals of Software Engineering. Thousands of Web pages are dedicated to software engineering and the software process.
Many books addressing the software process and software engineering have been published in recent years. Some present an overview of the entire process while others delve into a few important topics to the exclusion of others. Among the more popular offerings (in addition to Software Engineering: A Practitioner's Approach!) are:
Abran, A. and J. Moore, SWEBOK: Guide to the Software Engineering Body of Knowledge, IEEE, 2002.
Ahern, D. et al, CMMI Distilled, Addison-Wesley, 2001.
Chrisis, B. et al, CMMI: Guidelines for Process Integration and Product Improvement, Addison-Wesley 2003.
Christensen, M. and R. Thayer, A Project Managers Guide to Software Engineering Best Practices, IEEE-CS Press (Wiley), 2002.
Glass, R., Fact and Fallacies of Software Engineering, Addison-Wesley, 2002.
Hunter, R. and R. Thayer (editors), Software Process Improvement, IEEE-CS Press (Wiley), 2001.
Persse, J., Implementing the Capability Maturity Model, Wiley, 2001.
Pfleeger, S., Software Engineering: Theory and Practice, second edition, Prentice-Hall, 2001.
Potter, N. and M. Sakry, Making Process Improvement Work, Addison-Wesley, 2002.
Sommerville, I., Software Engineering, sixth edition, Addison-Wesley, 2000.
On the lighter side, a book by Robert Glass (Software Conflict, Yourdon Press, 1991) presents amusing and controversial essays on software and the software engineering process. Yourdon (Death March Projects, Prentice Hall, 1997) discusses what goes wrong when major software projects fail and how to avoid these mistakes.
Garmus (Measuring the Software Process, Prentice-Hall, 1995) and Florac and Carlton (Measuring the Software Process, Addison-Wesley, 1999) discuss the use of measurement as a means for statistically assessing the efficacy of any software process.
A wide variety of software engineering standards and procedures have been published over the past decade. The IEEE Software Engineering Standards contains many different standards that cover almost every important aspect of the technology. ISO 9001: 2000 document set provides guidance for software organizations that want to improve their quality management activities. Other software engineering standards can be obtained from the Department of Defense, the FAA and other government and non-profit agencies. Fairclough (Software Engineering Guides, Prentice-Hall, 1996) provides a detailed reference to software engineering standards produced by the European Space Agency (ESA).