Tech Harbor SDLC Process

Tue, 01/20/2009 - 6:59pm -- mjpierce

Tech Harbor uses the systems development lifecycle model principles combined with those from agile programming methodologies as a basis for our software engineering efforts

THC SDLC illustration

This model helps us think of the big picture during the real development cycle.  ;)

We use some agile methods to help us get there.  The principles we use:

  • Customer satisfaction by rapid, continuous delivery of useful software
  • Working software is delivered frequently (weeks rather than months)
  • Working software is the principal measure of progress
  • Even late changes in requirements are welcomed
  • Close, daily cooperation between business people and developers
  • Regular adaptation to changing circumstances

The things we must to avoid by being fast:

  • Lack of structure and necessary documentation
  • Insufficient software design
  • Inability to develop realistic estimates of work effort needed to provide a quote.

We're not hung up on best practices, but we want to follow them where it makes sense, like this:

The Joel Test

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?