During the Embedding Agile Methods mini-conference in London last week, Keith Richards suggested several interesting techniques for checking how a software project is going:

  1. Can everyone on the team write the aim of the project on a post-it note with a thick flip-chart marker? If not, then the end game is not clearly defined and universally understood.
  2. Come up to a colleague and say 'can I ask a favour?' just to see how they will react. If you get told off, the person is probably not very happy about the work. Richards advised building teams with "those who say can" , even when they are dealing with problems. Such people will improve collaboration and team spirit on the team.
  3. When a phase of project is officially done, ask yourself "is it safe enough to move on?". If this question gives you a bad gut-feel, you aren't done yet.
  4. How many of your projects ended with a serious project review? This is, according to Richards, crucial for organisational improvement, preventing repeated mistakes and sharing knowledge between teams.
  5. How would people on the team feel about the customer saying "I've changed my mind". If the response is negative, the system isn't as flexible as it should be.
  6. Ask someone for an update on a task and stay completely silent for 10 seconds - don't do anything to provoke a response. If the other person is unsure or nervous about something, they will start spilling that out. If they too remain silent, things are going OK.
  7. Do you know how much time was spent on testing on your last project / iteration? If you can't even estimate this, you aren't collecting good actual measurements of the project. Collecting actual measurements is, according to Richards, crucial for getting to realistic work estimates.
  8. Pick up a document, turn it over and see what's on the back. If you find diagrams, that suggest the need for clarity as people were drawing on it to explain things.