Authentic software development (whether for industry, government or research) is most often done in teams, not as individual efforts.
Therefore, an important component of success is the establishment of successful teams.
(Also known as Team Alliances)
(The following notes on Team Alliances are copied (with permission) from training materials authored by Natalie Schauser at AppFolio.)
Becoming a Team involves commitment to working together and supporting each other in our common goals. This commitment is supported by writing what all team members believe are important protocols for the Team to comply with to maximize their capabilities to deliver faster and with higher quality.
It helps all team members understand what are common protocols for the Team and an opportunity to work through conflicts in practices.
Effective teams have a shared approach to work (though not a rigid process).
The team’s agreements evolve to address both challenges and aspirations.
The protocols aim to forge commitment and a shared approach that will help the team meet their goal.
Some questions are:
- When the team works together, what should the atmosphere/culture/planning/grooming process be?
- When differences/challenges arise how do you want to be and how do you want to address them:
- What would make this team’s work together successful?
- What will help this team flourish?
- What intention (plan or aim) are we out to fulﬁll (goals for the time this team will be together). What would make this team’s work successful?
- What can we count on from each other?