|
|
1. |
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.
|
|
|
2. |
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.)
|
|
|
3. |
Classic Testing Mistakes
-
The role of testing, Planning the complete testing effort, Personnel issues, The tester at work, Test automation, Code coverage
|
|
|
4. |
Heavy Rotation
-
For business software, faster-cheaper can be better too.
|
|
|
5. |
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.
|
|
|
6. |
Lessons Learned -- Current Problems
-
Technical and managerial best/worst practices. Based on study of US Department of Defense software projects.
|
|
|
7. |
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.
|
|
|
8. |
Nine Steps to Delivering Defect-Free Software
-
By a software developer and consultant with over 30 years experience.
|
|
|
9. |
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.
|
|
|
10. |
Orphans Preferred
-
Characteristics of software developers - personality type, demographics, age, education, attitudes.
|
|
|
11. |
Principles of Good GUI Design
-
Describes the basic rules for all good interfaces - the cardinal dos and don'ts.
|
|
|
12. |
Seven Principles Of Software Development
-
Emphasizes "soft" issues - attitude, approach.
|
|
|
13. |
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.
|
|
|
14. |
Successful Engineering Management: 7 Lessons Learned
-
People management advice for technical people.
|
|
|
15. |
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.
|
|
|
16. |
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.)
|
|
|
17. |
The Many Dimensions of the Software Process
-
Explores the importance and purpose of software process and quality.
|
|
|
18. |
The Programmers' Stone
-
Recapturing, exploring and celebrating the Art of Computer Programming.
|
|
|
19. |
To Hell and Back
-
CIOs reveal the projects that did not kill them and made them stronger.
|
|
|
20. |
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.
|
|
|
21. |
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.
|
|
|
22. |
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
|
|
|
23. |
The Therac-25 Accidents
-
Case study of a well known software error.
|