edit: at the most, I think async are passable via slack or something similar. Otherwise all data on this can be easily done via a Kanban board.
- sync up / status is 15 mins. Any implementation discussion gets put in the parking lot
- once we've gone around the table, the rest of the meeting is handling the Q&A / parking lot we parked during the status discussion. Anyone not directly concerned by it is encouraged to leave, get out and be productive!
This gets you the double benefits of interrupt coalescing (a single regular interruption instead of 2 smaller ones where one is an irregular surprise), and preserving the quickness and relevance of the stand-up, as it's really just the first 10-15 minutes of the calendar slot, after which you're good to leave.
In my experience, the need is to provide a clear method of communication and ability to unblock one another. A Kanban board is perfect for this, as well as committing to a definition of done.
Anything else... is very wasteful in my experience.
Also if a teammate is actively working on something that is a downstream dependency of something I am working on, then I can passively learn about requirements and expectations for my own work, become aware of issues ahead of time, etc.
1. For transparency any member of the team can identify blockers in Kanban by putting them in the blocked column. 2. If you're blocked, and running into issues, you'd reach out to anyone that can help you. Why would you wait for a standup or "talk to the wall" for that? Just be proactive.
Dependencies should be known before committing to a scope of work (iteration) with the team. Planning stage (minimal time investment for scope of work definition) vs committed work stage (in progress iteration).
At Pivotal we see the PM as part of the balanced team. The PM, just like designers and engineers, will have the daily standup, weekly retros and planning meeting together. The goal of the standup is to share what of interest happened yesterday, if help or opinions are needed and discuss pairs for the day. Sometimes discussions start about topics mentioned in the article where it's crucial to have the PM there.
Standup should usually be around five minutes. That's the reason it's not a sit-down meeting.
My view is that a PM is available as a resource to clarify as needed. Meetings between the "doers" of a team and the PM should not be forced, especially daily. This leads to micromanagement and changing requirements too often.
But alas, everyone has a different philosophy. :)
My personal preference is for very fine-grained stories rather than giant chunks of acceptance criteria. The latter tend to turn into week-long wanderings and get edited over and over. Whenever I've been able to I've coached PMs towards smallest possible units of value.
Changing requirements should only happen outside the scope of committed work; otherwise you're building churn, poor features, and poor code.
This lever of "committed work" can be adjusted per team (1 week, 2 weeks, 4 weeks, and so on).
It seems you agree with my view of a minimum of 1 week before it can change.
I agree also with fine grained tasks/stories. As small as possible and as consistent as possible. They should all have clear DOD's though.
Definitely agree with smallest possible units of value (that also varies per a person).
Finally! A sane voice appears!
*status report
> My team meets for 30 minutes each morning
That is far too long IMO and IME
> We're a small team (3 developers)
30 mins for 3 devs...