It takes more than great code to make great software.

Often the biggest challenges in software development have very little to do with the act of writing code. A whole host of other non-technical problems can easily derail your project.

Unfortunately there is no single method to guarantee success, but we have found that examining the following questions helpful in determining your current position:

  1. Who is the customer?
  2. Do you meet regularly with the customer?
  3. How do you manage requirements?
  4. Does your team have clearly defined goals?
  5. Do your programmers have a quiet working space?
  6. Do your programmers spec their own development machines?
  7. Is the project manager removing obstacles?
  8. How are you measuring progress?
  9. What is your testing, release and bug-fixing plan?
  10. Do you have a contingency plan?

Written by Joel Spolsky, the The Joel Test is a list of 12 simple yes/no questions to gauge your teams level of software development ability. Anything less than 10 and the chances are you'll hit problems.

Where appropriate, we have educated and led clients away from waterfall-style development towards an agile approach. The results are improved communication, better responsiveness to change, a greater sense of ownership and ultimately better software. The ability to embrace change is particularly important for innovative or disruptive products and services.