Really? Assuming that people come in around 8, you think that a lot of good, quality coding gets done in the 30-60 minute time frame before the interruption? I guess we just have to disagree.
I tend to work in 2-4 hour (or more) blocks of time, and I’ve found that common among developers. Give me 4 hours of uninterrupted time and I can get an immense amount of work done, whereas an afternoon punctuated by even a couple 15+ minute interruptions makes me feel like I get nothing done.
Hell, my current workload is workerbee on one (very important) project, Project Manager/coder on another big project, and 80% coding/20% managing on a small third project. I get fookin’ nothing done lately because it’s constantly talking to clients and going to meetings.
Well, let’s see:
Share commitment : I guess I don’t buy that publicly committing to everyone really does anything. Seems kind of child-like, actually. Developers definitely need to know what they’re expected to do every day, but that’s a matter of communication between manager and developer.
Communicate status : Makes sense, but I don’t think it’s necessary to do daily unless there’s some sort of bad thing going on. If the group is way off track, or if there’s a really pressing issue, yeah, communicating status on a daily (or even more frequent) time basis makes sense. Otherwise, every week is fine.
Identify obstacles : Once again, makes sense, but not every day, nor with the entire team. I would rather have an ad-hoc meeting with the relevant people at the time the obstacle is identified than to have to do it with everyone once a day.
Set direction and focus: I sound like a broken record, but again, not necessary every day. If a developer is having trouble with direction/focus, I think one-on-one meetings with their manager does more to help than daily reminders.
Build a team : Blech. Teams either work or they don’t; I’ve never seen a “team building” exercise work better than the way a team naturally emerges from months of working together.
The one thing that every good manager I’ve had has done is to only set up meetings when they benefit everyone at that meeting. Meetings shouldn’t be solely for the manager - that’s the sign of a lazy manager IMO. If the manager needs a status update from everyone on the team, that manager should gather up those statuses himself, either in-person or email or whatever. He shouldn’t make everyone sit around in a conference room listening to everyone else’s status. And the same goes for development issues. Occasionally there’s an obstacle or risk that involves everyone on the team; it’s far more likely that only a handful of people are necessary.