| Building bug-free O-O software: An introduction to Design by Contract: Advanced use of assertions for clearer specifications and greater software reliability. By OO guru Bertrand Meyer, creator of Eiffel. |
| Classic Mistakes Enumerated: Description of 36 ineffective development practices: people-related, process-related, product-related, technology-related. (Sample chapter from Steve McConnell's book Rapid Development.) |
| Classic Testing Mistakes: The role of testing, Planning the complete testing effort, Personnel issues, The tester at work, Test automation, Code coverage |
| Heavy Rotation: For business software, faster-cheaper can be better too. |
| High-Pressure Steam Engines and Computer Software: Software safety. Parallels between the early development of high-pressure steam engines and software engineering that we can apply to the use of computers in complex systems. |
| Introducing Demeter and its Laws: Adaptive Programming - specifying the connections between objects as loosely as possible. Makes programs more flexible, more resilient to change, and more adaptable to varying configurations of classes within a given domain |
| Large Software Systems - Back to Basics: John Evans; Crosstalk, June 2000. The importance of software architecture, and related items such as unambiguous requirements and coding standards. |
| Lessons Learned -- Current Problems: Technical and managerial best/worst practices. Based on study of US Department of Defense software projects. |
| Major Causes of Software Project Failures: Lorin J. May; Crosstalk, July 1998. Based on interviews with software consultants and practitioners who were asked to provide "autopsies" of failed projects with which they have been acquainted. |
| Nine Steps to Delivering Defect-Free Software: By a software developer and consultant with over 30 years experience. |
| On the Criteria To Be Used in Decomposing Systems into Modules: One of the classic articles leading to modern software engineering, by D.L. Parnas. |
| Orphans Preferred: Characteristics of software developers - personality type, demographics, age, education, attitudes. |
| Principles of Good GUI Design: Describes the basic rules for all good interfaces - the cardinal dos and don'ts. |
| Seven Principles Of Software Development: Emphasizes "soft" issues - attitude, approach. |
| Seven Steps to Test Automation Success: This paper presents seven key steps: improve the testing process, define requirements, prove the concept, champion product testability, design for sustainability, plan for deployment, and face the challenges of success. |
| Successful Engineering Management: 7 Lessons Learned: People management advice for technical people. |
| Sure It Works, But Is It Beautiful: The Relationship Between Software Aesthetics and Quality: Some aspects of the relationship between quality and aesthetics (beauty) in software, using architecture analogies. |
| Survival Crib Notes: NASA's Success Checklist: 9 Dos and 8 Don'ts for software project success, from NASA's Goddard Space Flight Center. (Sample chapter from Steve McConnell's book Software Project Survival Guide.) |
| The Many Dimensions of the Software Process: Explores the importance and purpose of software process and quality. |
| The Programmers' Stone: Recapturing, exploring and celebrating the Art of Computer Programming. |
| The Therac-25 Accidents: Case study of a well known software error. |
| To Hell and Back: CIOs reveal the projects that did not kill them and made them stronger. |
| What Do Users Want? Engineering Usability into Software: User-Centered Design. Simple approaches for delivering smaller, simpler systems that better serve the needs of users. |