Thank you for continuing to share these thorough articles with us.
In my work, I find that communication is the second most-important aspect in any software team. The first, is seniority. Don’t give me someone who has only been writing computer programs, in any language at all, for less than ten years, please. (This pretty-much excludes all L-1 and H-1B Visa holders ... which lack both age and season.) Give me someone who knows how to understand a technical requirement and to turn that requirement into a set of necessary code-changes, in her head. Someone who knows how to study an existing piece of production software and to create, not only a change to it, but an effective and thorough test for that change. Someone who is routinely talking to and among his colleagues, working with them, sharing her thoughts and actively soliciting the thoughts of others.
Post-It™ Notes don’t work, because they are small and lose their stickiness. What you need is a permanent work-record: something that tracks the original request and all discussions pertaining to it, as well as the git/SVN/CVS thread of changes made, and a record of all test runs. Apple has such a system, which they call “Radar,” and as you walk in certain hallways you’ll see big posters which say, “Put It On The Radar.”
To my experience, it is most important that everyone is able to know everything that everyone-else knows, including senior management, about every work-in-progress item, every proposed change, every scheduled change, everything. A really good tracking system can (greatly help...) do that. Sticky yellow notes cannot. Yes, it is fine to sit down each morning with the first cups of coffee, herbal tea, or what-have-you ... ;-) ... but the vital communication is taking place all day.