So, exactly how does the extended development team cooperation model work?
The answer lies in a carefully considered, step-by-step process that will result in an agile software development team that functions in cooperation to meet project goals.
Here’s the overview of those steps.
Step 1: Pre-Planning
The first action must be to look at the scope of the project and to draw up a list of roles that are needed. Which ones can be filled in-house, and which ones will require outside expertise. These roles should include detailed descriptions, and all in-house staff should be assigned to those roles accordingly.
In addition to the in-house expertise you have, you will need to fill the project management role and/or lead developer. These roles require both managerial and software development expertise. Craft precise job descriptions, including the anticipated number of hours that must be dedicated.
Once you have filled what roles you can keep in-house, you will see the gaps that you need to fill. For example,
Will you need a Java team extension?
What will be the detailed roles of each of these additional team members?
Again, estimate the possible workload for the candidate(s) and the scope of duties.
This process involves all of the same tasks you would complete filling any position you are looking for. You know the drill. You look at options, you have discussions, and you check histories and references.
Step 2: Onboarding the Selected Team Members
You now are confident that a specific provider can give you the expertise and the best collaboration you need. The next steps will be as follows:
You have to rely on the provider to present to you the individuals who will best meet your needs. But, do not simply accept them. Be certain to interview them, including your in-house manager or lead developer. There must be a “cultural” fit, along with technical expertise.
A preliminary contract should be developed by you. This will specify the roles of each additional team member you will be employing and the expectations for their performance. It will include salaries and other cost breakdowns, based on what the provider has given you.
Your preliminary custom contract may need to include provisions for scaling, should the scope of your project expand.
Firming up the contract is the final formal step in the process of how to build an extended development team. But the informal processes are still to come, and that is where consistent monitoring comes in. Your project manager must be a “hands-on” leader – one who is willing to get into the trenches and stay there, to iron out any communication issues, to foster those relationships that lead to great cooperation and performance, and to ensure that every team member, in-house or remote, feels ownership in the project.
Step 3: Develop an Efficient Communication Funnel
The next key area to address is how to manage an onshore or offshore extended development team. You have members that you see face-to-face and members that you only see virtually. This situation requires some deft management, but there are several best practices that will help.
A Communications Management Plan and an Operating Agreement will set out exactly how the team members will interact with one another and set the “rules” for meetings during product development.
In general, these plans detail what types of communication need to occur, what must be involved in each type of communication, and how the communication will happen. The operating agreement is an extension of the communication plan.
How are members to work together?
How will conflicts be handled?
What happens if deadlines are missed?
This agreement should be fluid and subject to modification if parts are not working well.
Step 4: Get the Right Tools in Place
There are several aspects of being a virtual manager. The goal is to be visible, but not so visible that you appear to be micromanaging everyone’s work. Just as important as a manager’s word choice and tone – it may change when attempting to inspire as opposed to creating a sense of urgency.
Being too directive and intrusive may mean that team members are hesitant to give feedback or identify issues. Again, it is all about striking the right balance as circumstances present themselves. Overall, however, a virtual manager must create an atmosphere that is open, transparent, and honest.
Certainly, you will need some tools to help you build the right rapport. Here are the top suggestions from our team:
JIRA for product backlog management & project management in general. It’s the go-to tool for most software development companies.
Bitbucket and GitHub – the two great code repositories to securely store and exchange source code files.
Skype and Slack – popular and efficient communication tools to hold online meetings and check up on team progress.
Now, about those meetings – they must be effectively run. The goal is to create an environment that engages and fosters honest interactions among all team members. Avoid monologues/lectures; ask a lot of questions; validate what any team member contributes; keep them brief and on-topic, but be flexible enough that any team member can pose an issue and solutions can be kicked around. The management of co-located extended teams comes with a learning curve. Putting these practices into place, however, will take a manager deep into that curve.
Onboarding and managing an extended development team certainly comes with a learning curve, however, with the right partners, this process will go smoothly and efficiently.
Rede Consulting is a company filled with dedicated developers in India and Romania. We are providers of software development as full outsourced dedicated development teams or as individuals who become a part of extended teams for companies all over the world.
If you are in need of specialized ServiceNow expertise to fill gaps in your projects, give us a shout out. We have experience with extended teams that meet your needs.
Contact us at - email@example.com