Quality software can only be developed by an organization that has proven that it can reliably and repeatedly deliver quality software. This may sound like a catch-22, but in fact it is the criteria that many system purchasers apply to their selection of a contractor to build critical software intensive systems.
Assess the Quality of your Software Development Process, there is also an article and a printable assessment form, Assessing and Improving Software Quality.
Software Engineering Institute's Maturity Model is the most widely followed guideline. Paulk, Mark C. and Charles V. Weber .. Bill Curtis The Capability Maturity Model : Guidelines for Improving the Software Process (SEI Series in Software Engineering). (June 1995) Addison-Wesley Pub Co; ISBN: 0201546647. The first part of the book describes the evolution of the CMM (Capability Maturity Model), the concepts of software process maturity, the structure of the model, how to interpret and use it, and the case study of IBM Houston. The second part consists of the key practices of the CMM, which describe the software management engineering practices of a maturing software process. By describing the key practices of level two through five of the CMM the authors communicate much of what is needed to develop quality software.
If you have a small development team (2-9) programmers, this approach is worth looking at: Beck, Kent. Extreme Programming Explained: Embrace Change.
Watts S. Humphrey,
Managing the Software Process , Addison-Wesley
Pub Co 1989
A Practical "how-to" and "what questions to ask". If you wish to improve the Quality of your software development, this book is worth reading, studying, and questioning. It realy does not tell you how or why to improve, but suggest processes and measures that you need to concider if you are already commited to better software.
Jones, Capers. Software Quality: Analysis & Guidelines for Success , International Thomson Publishing, 1997
Maguire, Steve. Debugging the Development Process : Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams , Microsoft Press, 1994
Kan, Stephen H. Metrics and Models in Software Quality Engineering , Addison-Wesley Pub Co, 1995
Gerald M. Weinberg
Is a man I have never met; yet he has had great influence
on my consulting practice and me. The first book I read by him was
The Psychology of Computer Programming. He also wrote
and made an audio tape of
Secrets of Consulting : A Guide to Giving and Getting Advice
Successfully. These books and possible his workshops may be helpful
to you. I try to follow the principles laid out in the following 5 books
by this author.
Handbook of Walkthroughs, Inspections, and Technical Reviews : Evaluating Programs, Projects, and Products 1990
Quality Software Management : Systems Thinking, (Vol 1) 1991
Quality Software Management : First-Order Measurement (Vol 2) 1993
Quality Software Management : Congruent Action (Congruent Action, Vol 3) 1994
Quality Software Management : Anticipating Change (Vol 4) 1997
These books are not cheap nor are they easy to read and apply. I may have been attracted to them because of the author's devotion to family systems, which I believe is very helpful when working with teams and organizations. There is more on this topic under Team Building.
Extreme Programming Explained: Embrace Change. (October 15, 1999)
Addison-Wesley Pub Co; ISBN: 0201616416. eXtreme Programming eXplained provides
an intriguing high-level overview of the author's Extreme Programming (XP)
software development methodology. Written for IS managers, project leaders,
or programmers, this guide provides a glimpse at the principles behind XP
and its potential advantages for small- to mid-size software development
Planning Extreme Programming. (October 13, 2000) Addison-Wesley Pub Co; ISBN: 0201710919. The hallmarks of Extreme Programming--constant integration and automated testing, frequent small releases that incorporate continual customer feedback, and a teamwork approach--make it an exceptionally flexible and effective approach to software development.
Brooks, Frederick P., Jr. The Mythical Man-Month : Essays on Software Engineering (July 1995) Addison-Wesley Pub Co; ISBN: 0201835959
Cusumano, Michael A. and Richard W. Selby. Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets, and Manages People. (December 1998) Simon & Schuster; ISBN: 0684855313. Fascinating detailed account of how the most significant firm in the industry makes product and marketing decisions. Cusumano and Selby were given unprecedented access to Microsoft staff at all levels of the firm. This book covers the obvious strengths of Microsoft in Research and Development. And no one disputes the talent attracted to this company. However, time proves the true direction of travel despite the claimants' insistence of a praisworthy course. The accurate reasons for Microsoft's success lie in ruthless, paranoid management, expert public relations and remarkable skills at marketing, not innovation or the development of superior products.
DeMarco, Tom and Timothy Lister
Peopleware : Productive Projects and Teams, 2nd Ed. (February 1, 1999)
Dorset House; ISBN: 0932633439 Ever wonder why everybody at Microsoft gets
their own office, with walls and a door that shuts? It's in there.
Peopleware asserts that most software development projects fail because
of failures within the team running them. This strikingly clear, direct book
is written for software development-team leaders and managers, but it's filled
with enough commonsense wisdom to appeal to anyone working in technology.
Peopleware is a short read that delivers more than many books on the
subject twice its size.
Controlling Software Projects : Management, Measurement and Estimation. (September 1986) Yourdon; ISBN: 0131717111. This is an excelent textbook about software projects estimation. The only problem with the book is the lack of more examples to learn the techniques discussed.
Structured Analysis and System Specification. (November 1985) Prentice Hall; ISBN: 0138543801. This classic book of tools and methods for the analyst brings order and precisions to the specification process as it provides guidance and development of a structured specification. Covers functional decomposition; data dictionary; process specification; system modeling; structured analysis for a future system. Suitable for practicing systems analysts.
Glass, Robert L. An Iso 9000 Approach to Building Quality Software, 1996 Building Quality Software, 1997 Computing Calamities: Lessons Learned From Products, Projects, and Companies that Failed, 1998