Building bug-free O-O software: An introduction to Design by Contract (TM)
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
Designing and Managing Successful Projects
An overview of some simple principles to attain success designing and implementing new projects
Essays on System Effectiveness Management
Index to articles written by members of Jerry Weinberg's SEM Group.
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.
The Many Dimensions of the Software Process
Explores the importance and purpose of software process and quality.
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.
The Programmers' Stone
Recapturing, exploring and celebrating the Art of Computer Programming.
Scripting: Higher Level Programming for the 21st Century
The advantages of scripting languages - typeless data, smaller code size, greater reuse, higher productivity. By TCL creator John Ousterhout.
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.
Results: 1 2 3 4 5 6 Next