I work with a lot of offsite developers and contractors. I ask them daily to send me a quick 5 minute status of their work for the day. I have to sometimes consolidate the status of individuals into teams and sometimes consolidate the status of a week, for end-of-period reporting to my clients.
I want to learn:What would you suggest?
Use Scrum. Create the sprint backlog, have a spreadsheet with the tasks and a column for each day of the sprint. Ask people to fill out the hours worked on each task every day. Send daily report starting with the burndown chart for the sprint and then short two one liners for each member - last worked on and next working on. Send weekly report with the burndown chart, red/yellow/green status for each major feature (and blocking issues and notes if it's not green) and the remaining items on the sprint backlog.
I don't have a link to samples, but here are some drafts:
10/02/2008 - Product A daily status <Burndown chart> Team member A Last 24: feature A Next 24: feature A unit tests Team member B Last 24: bug jail Next 24: feature B Team member C Last 24: feature C Next 24: feature C Blocked on: Dependency D - still waiting on the redist from team D
10/02/2008 - Product A weekly status <Burndown chart> **Feature A** - Green [note: red/yellow/green represents status; use background color as well for better visualisation] On track **Feature B** - Yellow [note: red/yellow/green represents status; use background color as well for better visualisation] Slipping a day due to bug jail Mitigation: will load balance unit tests on team member A **Feature C** - Red [note: red/yellow/green represents status; use background color as well for better visualisation] Feature is blocked on external dependency from team D. No ETA on unblock. Mitigation: consider cutting the feature for this sprint **Milestone schedule:** Planning complete - 9/15 (two weeks of planning) Code complete - 10/15 (four weeks of coding) RC - 10/30 (two weeks stabilization and testing)