Lessons learnt from three years of professional software development