One thing that I'm slowly learning during my time as a team lead is that communication is vitally important to all people involved. It is one of those things that is never part of the job description, but lands up becoming a crucial part of your role and without it you may very well fail.
The Universal Translator
Like I mentioned above, you need to be able to communicate to everyone in the team in their language. This means that when you get a requirement from business, you could just hand it over to the team and tell them that this is what needs to be implemented. However, a better alternative would be to explain to them the thinking & logic behind the work. In doing this, the team has a better understanding of how it fits into the bigger picture. In my personal experience, what often surprises me the most, is when people understand the actual problem, together the team can often brainstorm a better solution. At the end of the day, there is nothing better than a happy customer!
The inverse should also be true. For example, if you run into any issues in developing a particular piece of work that was requested, then you need to be able to communicate back to business about the issues. You need to remember that the business people aren't usually technically savvy, so by going into to much depth, it will go straight over their heads. You also can't tell them that you "...ran into a problem" and leave it at that, as this slowly starts to erode trust. You need to find the goldilocks zone where you are able to simply explain to them on a high level what the issue is, but still give them enough "meat" to be content with the explanation.
One way I like to look do this, is imagine you are explaining this to your non-technical spouse. Would she be lost if you were to tell what you were to tell business? Would they understand? If so, then you have hit the ball into that goldilocks zone
At the end of the day, you are the universal translator that is able to provide "transcribing services" so that everyone can stay on the right path.
In order to become a successful translator, you need to be able to translate into more languages than you may already know, which may be a challenging task.
As I alluded to earlier, you often find that as technical people we are always inclined to go into the great detail when explaining something to business, which often leads them to be more confused at the end of the day. You need to master the business language, the technical language, the tester language, the HR language etc. This isn't an easy task, but by just starting by talking to the people and consciously thinking before you say anything will slowly help you your quest to becoming a universal translator.
But Wait, There's More!
A side effect of being learning to talk to all the different people, is that you start to build relationships with them, and as I have seen at my current client, having the right contact can go a long way in helping your project.
Imagine being able to explain to a business owner that your project will be out by a few weeks due to various reasons that you are able to clearly explain to him. This will leave him with a sense of relief as they don't feel like the wool is being pulled over their eyes, which in turn builds trust.
To some this topic may seem really trivial, and if this is you, then great, you are on the right track! Unfortunately, I have seen this mistake happen far to often and I myself am also guilty of this. Being constantly involved in the technical details, makes us operate on that level. We need to learn to rise above it and be consciously aware of the mistakes we are making. I myself have found that this has helped me slowly improve over time, and hopefully the same will apply to you.
As always...keep learning!