At Unfuddle, I have had the privilege of serving countless software development teams, helping them build their best stuff. This has come primarily in the form of developing tools that help them to communicate. It has also come in the form of consulting directly with teams. These roles have put me in a position to see which teams do well and which teams fail.
Often, we get customers who are looking to Unfuddle as a tool to help solve their communication problems. I am proud to say that it can! But sometimes, teams fail even though they use good tools. Maybe you have the perfectly curated software development stack, the best developers, the end-all-be-all of project management methodologies. But something lacks.