Agile Principle 12: Look at yourself in a mirror
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Inside a project team, we have two types of meetings: daily, and weekly.
Calling the daily meeting a "meeting" might be overstating it. It's a quick opportunity to catch up and make sure that all of the developers are on the same page. Within Cloudspace, many of our projects follow the Team of Two pattern, so catching up is somewhat automatic. When we pair with our client's developers, the daily meeting is slightly more formal, since there's a larger team involved, but it's important to get done quickly -- anything more than 60 seconds per person is probably too long.
Our developers also have weekly meetings to plan the work that's coming up and make sure everyone understands what needs to be done. These (daily and weekly) developer meetings make sure that there aren't any unaddressed problems. It's important for everyone on the team to know about things that can hold them back (a bug in a remote API), or more happily, can make them more successful (new functionality completed in the past week).
Every Cloudspace employee has written some amount of code -- even the non-engineers, although we keep them away from client work. Given that we're an entire company of developers, keeping up with new tools and techniques is important. Every Friday morning, the team comes in early for Cloudspace breakfast, and they spend time either reviewing code on a project, learning how to work with a new Ruby gem or JQuery plugin, whatever is a need at that moment.
Since Cloudspace is a big believer in the value added by doing things as a team, we also have management meetings every Wednesday. Obviously having IM makes it easy to catch up during the week for one-off decisions, but there's still no replacement for frequently getting everyone together and catching up.