Lessons Learned -- Current Problems - Technical and managerial best/worst practices. Based on study of US Department of Defense software projects.
The Many Dimensions of the Software Process - Explores the importance and purpose of software process and quality.
Classic Testing Mistakes - The role of testing, Planning the complete testing effort, Personnel issues, The tester at work, Test automation, Code coverage
Seven Principles Of Software Development - Emphasizes "soft" issues - attitude, approach.
Principles of Good GUI Design - Describes the basic rules for all good interfaces - the cardinal dos and don'ts.
Orphans Preferred - Characteristics of software developers - personality type, demographics, age, education, attitudes.
Successful Engineering Management: 7 Lessons Learned - People management advice for technical people.
Nine Steps to Delivering Defect-Free Software - By a software developer and consultant with over 30 years experience.
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.
The Therac-25 Accidents - Case study of a well known software error.
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.
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.
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.
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.
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.
The Programmers' Stone - Recapturing, exploring and celebrating the Art of Computer Programming.
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
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.)
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.)
|