Software Engineering
Home Planning Requirements Writing Hazard Analysis Requirement Analysis Config Control Software Design Software Testing Software Standards Basic Logic

Points to Consider

  • Even the best planning is not so omniscient as to get it right the first time.
  • Fixing a defect has a substantial (20% - 50%) chance of introducing another defect.

  • Adding people to a late project makes it later.

  • More projects fail for lack of time than all other causes combined.

- Fred Brooks, The Mythical Man-Month


John Wyatt's Programming Website

This site is intended to be an overview of many of the concepts in software engineering and software project management. The information here is based on my personal experience mentoring entry-level and intermediate-level programmers, as well as mentoring project teams. This is not intended to be a comprehensive course; there are numerous books that cover these subjects in depth. However, I find that the Pareto Principle still holds true: 20% of the work can generally solve 80% of the problems. This covers the 20% that I have successfully used to handle the majority of problems that I have encountered in software engineering. While some of the material is specific to medical device software, most of the material is universal to all software projects.

- John Wyatt -

| Contact John Wyatt |

I cover aspects of:

  • Project planning.
  • Writing software requirements.
  • Software hazard analysis (safety critical software).
  • Requirements analysis.
  • Configuration Control.
  • Software Design.
  • Software Testing.
  • Software Standards (IEEE, SEI, and FDA).
  • Review of Basic Logic and how it applies to test design.

The typical software lifecycle ?

  1. Order the T-shirts for the development team.
  2. Announce the shipping date.
  3. Write the code.
  4. Appoint a project manager (someone to blame).
  5. Put some notes together for a userís manual.
  6. Write the software specifications.
  7. Ship the software.
  8. Test (the customers are a big help here).
  9. Announce the upgrade program.

Additional Sources