Developing software in the Real World