Table of Contents
Establish a clear vision and goal for the team
Many software development teams may have the same goals and vision, but not all of them are clear from the start. Establishing a clear vision and goal for your team will give you a strong sense of direction and focus. This is especially important if your team is diverse in skills, personality types, experience levels–any combination that doesn’t fit into one simple mold. Your team’s goal should be something that everyone shares in, so you can all focus on achieving the same thing. Think about what moving forward would look like, and write it down.
Consider a team of people with different abilities and experiences, from different sectors. For example, you have a software development manager who is fairly new to the field and needs help from specialists from another department as well as from his team members.
The project manager needs to know what everyone expects of them in terms of deliverables, communication protocols, code reviews etc. You may also have additional tasks that take different skill sets. For example, this manager may need to decide whether to use a framework and then he or she can assign specialists to work on that feature.
That’s where a clear vision and goal become vital: If you don’t know exactly what type of website you want to build as an outcome, how can you establish the required features?

Define roles and responsibilities for each member of the team
This step is optional, and depends on the size of your team. For a small team it’s possible to define most of the roles before you start and just fill in the specific tasks that need to be done, but for larger teams you’ll need a more formal process for defining roles and responsibilities. Choose members of your team who have complementary skill sets–for example, one person who has software coding experience and another who has marketing experience. Having a well-defined structure for your organization makes it easy to assign tasks (which also helps keep everyone accountable for their work), and will make it easier for everyone on the team to know what’s expected of them.
Step 1: Create your team roster.
Using a simple spreadsheet (or Excel) document, list all of the team members who will be involved in project operations. The roles and the member’s responsibilities listed here should be consistent with the roles you want each person to play. You can use this document to help you create individual, detailed performance indicators for each team member.
Add a column for each team member. In the cells for each team member, document the same roles and responsibilities you’d like to be on your team, as well as a brief description of what each role entails. Avoid excessive detail that is irrelevant to the job at hand–we don’t want to make this list a specification for each individual’s job description. You’ll fill this out in Step 2. You’ll also need to decide on a name for your team.
Step 2: Create your team’s charter.

Set expectations for communication and collaboration
It’s important to establish clear channels of communication and collaborative work. This could include setting up a wiki or using tools like Trello to post tasks and notes, or using tools like Skype or Google Hangouts to communicate online. At the end of each meeting, create an action item list so that everyone can see what needs to be done next. This will make it easier for everyone to be aware of what the team is working on and to participate in that work.
##
Author:Carol J. Laitenberger
Date:May 28, 2013 2:11:44 PM
Source link:http://www.management-help.org/tips/managing-software-teams/managing-software-teams-article.htm
target URL:http://www.management-help.org/tips/managing-software-teams/managing-software-teams-article.htm
##
The Myth of the Team Grouper: Some teams seem to be able to make it work, but they are not as effective as they could be because they can’t manage their meetings well enough.
Book synopsis:
The Myth of the Team Grouper is a short (122 p.), enjoyable read that defines what a team grpper is and why they are destructive to an otherwise effective team. The book explains how to manage meetings, especially when dealing with remote teams.
Publisher:http://www.acceleratingenterprise.com/products/superior-meeting-effectiveness/
# posted by anon : 4:34 PM

Encourage creativity and innovation
Software development can sometimes feel like an assembly (or disassembly, depending on your perspective) line–code is churned out in a regulated fashion, and there aren’t many opportunities for creativity. That’s not to say that creativity isn’t important in software development, just that too many people get too focused on one way of doing things and fail to see other options. Encourage your team to consider new approaches, and make it a point to try new things. Try working with a new style, or create an application from a different perspective than you might normally take. Let your team members be creative, not just in their day-to-day work but in helping decide how the team works together.
There’s a difference between having a creative team on the one hand and a team that tells everyone else what to do on the other. The former produces helpful suggestions, such as improving an existing feature or adding new functionality. The latter produces nothing but frustration and anger in its wake. A key part of encouraging creativity is to manage your team so that the right behavior will flourish.
Ensure you have enough time to encourage creativity. If you’re always pushing code to a deadline, then your team will have no time to improve on existing features or even ask for more time to get things right.

Celebrate successes and learn from failures
Success isn’t something to be celebrated only at the end of a project–it’s a journey, and one that each team member should feel that they’re a part of. Celebrate smaller successes throughout the project, and be careful not to let anyone get down on themselves when something goes wrong. Everyone makes mistakes, and good teams learn from those mistakes. By celebrating successes as they happen and learning from mistakes as they occur, your team will be able to work together more smoothly.
Read the full article here: http://www.artificial-intelligence.ai/blog/artificial-intelligence-in-software-development.html
