There are a number of tried and tested models on how to manage teams in a development environment, with software development being a particular area to have produced several.
Look online for Agile Project Management and you will find a number of sources describing this particular method which has been adopted across a number of industries.
I have been involved in so many projects of various field for the past years. Regarding your questions,I will elaborate more on this topic based on my experience. From my point of view I believe that a good leadership and great communication skill are the main points that contribute into a success of a project.
A good leader will execute the task to its subordinates based on their own best ability and I think this is the main key if he want his team to be on track towards their main goal or objective.
A good communication between leader and team member will keep the team to stay in focus because each member will be updated with latest progress and the problem that arise quicker. I hope this can help you. Thanks