Twenty dirty tricks to train software engineers

Nov 16th, 2002 by Tony in * papers

Many employers find that graduates and sandwich students come to them poorly prepared for the every day problems encountered at the workplace. Although many university students undertake team projects at their institutions, an education environment has limitations that prevent the participants experiencing the full range of problems encountered in the real world. To overcome this, action was taken on courses at the Plessey Telecommunications company and Loughborough University to disrupt the students’ software development progress. These actions appear mean and vindictive, and are labeled ‘dirty tricks’ in this paper, but their value has been appreciated by both the students and their employers:

  1. Give an Inadequate Specification
  2. Make Sure All Assumptions are Wrong
  3. Change the Requirements and Priorities
  4. Present an Uncertain and Naive Customer
  5. Have Conflicting Requirements and Pressures
  6. Present Customers with Conflicting Ideas
  7. Present Customers with Different Personalities
  8. Ban Overtime
  9. Give Additional Tasks to Disrupt the Schedule
  10. Change the Deadlines
  11. Introduce Quality Inspections
  12. Present a ‘Different Truth’
  13. Change the Team
  14. Change the Working Procedures
  15. Upgrade the Software
  16. Change the Hardware
  17. Crash the Hardware
  18. Slow the Software
  19. Disrupt the File Store
  20. Say “I Told You So!”

— Ray Dawson, Proceedings of the 22nd International Conference on Software engineering

No Comments