In pt.1 of building a successful dev team we looked at a very practical way that we can enhance the value of our dev team by writing code that easy to use and update by other members on our team…
In this article we are going to touch on something a bit less tangible but no less important, actually it is probably the most important element in establishing a successful development team. Communication is, in my opinion, the most foundational piece of a strong development team.
Where skill, and resources may come up short, if strong communication is in place a team can overcome prepare in advance, and address some of these shortcomings more readily, setting them on the road to success.
With many teams built of diverse parties setting up solid lines of communication is key. Developers, project managers, marketing, front end designers, and quality assurance personnel are just a few of the many parties that make up a solid dev team for products and projects. With so many different people, perspectives, and skill sets touching the project it can become very easy for details to slip through the cracks that end up slowing down the workflow, hindering progress, delaying deadlines, and contributing to headaches and frustrations on all ends.
Those of us who work in this team environment have experienced this in one form or another, and more than likely something will slip through regardless. With this in mind I have compiled a few simple practices, along with a couple of applications that can help open up the lines of communication.
Learn to Dabble in Disciplines.
One great way to increase the value of your contribution to the development/project team is to gain an understanding of the other team members disciplines. This doesn’t mean that we have to become experts in their fields but gaining an understanding of their roles and responsibilities will help us to provide the right information in the right format to make their job that much easier (not to mention score some brownie points with them).
In our team I have found it helpful when preparing front end designs to ask alot of questions of our engineers, so as to avoid providing files, designs that simply aren’t practical from a development perspective. I am still a pretty big noob when it comes to .net but since that is the framework we develop in I have made an effort to understand their world, and what would make life easier for them. I would suggest even going beyond frameworks and code, and find out how to prep designs, and deliver files in a way that makes life easier for them.
By expanding our horizons to understand each of the team’s disciplines we make life a bit easier for everyone, and learn to communicate more effectively in ways that help others be more efficient, and well equipped in their roles within the team environment. Besides the initial benefits we also expand our skill set which opens up new avenues within our current jobs, as well as in our future endeavors. We should never stop learning.
Go get your Intel
This is a very critical point. We can only be responsible for ourselves, and I would strongly encourage all of us to be proactive in getting info about projects/products. If you are unsure about something, ask, and then ask again until you feel comfortable with your understanding of the scope, and your role in the project.
This brings the focus to the most important aspect of communication… Listening, don’t just hear what is being said, listen, ask questions and make sure that you understand, repeat what is being said back to the team, that way there is little room for misunderstanding, and mis-communication, it will also validate your team members, showing them that you value their input and efforts in the project. Some of this may sound pretty rigid, but if we can take these extra steps it will really help us in the communication process.
Tools of the Trade
In some circumstances team members may work remotely or off-shore this can also make communication a bit tough at times. Using tools/apps can help bridge the gaps, and keep everyone on the same page.
For project collaboration, task management, file sharing, time tracking, and version tracking we use Basecamp by 37signals. I am sure there are other project management software/apps out there but this one has proven itself to be a very valuable tool, and is very affordable.
For more immediate communication we also use Skype as this allows for instant access when questions, and issues may arise.
There are other resources out there, and if your team isn’t using something I would encourage you to be proactive, find something that will fit best with your team.
By no means is this a call to arms, my hope is that we can be encouraged in our efforts to better our development team. This effort starts with us, team development is an investment in our projects and fellow team members. Listening, learning other skills, and being proactive in communication are just a couple of foundational ideas for better team communication, as projects come and go many different situations will arise, and they will provide new challenges, as long as we are communicating openly the challenges can be faced, overcome, and turned in to successful solutions.
Next up in the series “There is no “I” in Team, and no “U” in Win” dealing with conflict, and disagreements in development.
1) Building a Successful Dev Team
2) Coding In a Team Environment
3) Building Development Team Communication