The Ultimate Guide to an Extended Development Team Model
If you are new to the concept of an extended software development team, it would be best illustrated with an example.
Company “Travel Awesome”, a large online travel booking enterprise, is looking to develop and implement a fraud detection system. The decision came as a result of two issues:
- The reality of fraud in the industry;
- The customer’s personal and financial information may be at risk, being housed in an in-house database.
The company’s IT team has been hard at work on research and development. But it is obvious that there is some expertise missing – a data scientist and a couple of high-level Java engineers, for starters.
The choice now is to recruit and employ these “missing pieces,” or to find a company that will provide the temporary human resources to become a part of the team for this project. The concept of bringing in team members in an outsourcing capacity has become popular recently and is now known as the extended development or dedicated team development model.
In essence, it is a software development team extension that is temporary and based on a specific project. The project is not handed off to an offshore development team, but rather is maintained in-house, with outsourced experts working in collaboration with that in-house team. Project management often remains in-house as well.
The Benefits of Extended IT Dedicated Team Model
The extended team model (ETM) differs from traditional outsourcing in some important ways:
- In traditional outsourcing, there is little reliance on the in-house team; with ETM, the outsourced developers become almost members of the in-house team and therefore an extension of the home IT department.
- Communication between the outsourced team and the in-house team usually occurs on a scheduled basis in the traditional model; the ETM model requires constant and direct collaboration across the extended development team, and communication is continual.
- Traditional outsourcing models generally entail the hammering out of requirements and then allowing the outsourced team, along with its PM to go to work; the Extended Development Team model tends to leave overall project management with the core team at home, although sub-management of pieces may be given to the outsourced members.
The benefits of the ETM model, then, are pretty clear and can be summed up in the following points:
Higher Trust Levels and Better Teamwork
The Extended Development Team model requires constant communication. When this happens, developers across borders develop more personal relationships. With those relationships comes trust. And with trust comes a willingness, to be honest, and transparent with one another. In a multi-year study, Google concluded that a major factor in team success is “psychological safety,” meaning there is enough trust to be completely honest. That honesty means that issues, roadblocks, etc. are addressed openly so that solutions can be found upfront.
The going “rate” for a data scientist, just as an example, is about $96,000/year. Add benefits to that, and you have a pricey employee. If you can locate a development company with this expert and bring him on as a while label team extension, you not only have this project completed, you have your resource for any need in the future.
In the U.S. alone, a company may spend weeks, if not months, finding top full-stack engineers. Why? Because most are taken by tech giants, like Google, Amazon, Facebook, and Microsoft. The top talent is just not available, even on a consulting basis.
The ETM model, on the other hand, enables more agility and allows you to upscale or downscale your team as needed and access to a diversified talent pool. Being headquartered in Lviv, Romexsoft, has access to 15,000+ IT professionals, according to the latest “census” by Lviv IT cluster. The IT industry keeps growing at a 20% annual rate, thus it’s unlikely that the local companies will experience talent gap anytime soon. Additionally, due to the city’s favorable location, ecosystem, and infrastructure, a lot of developers from other regions choose to relocate for work to Lviv.
Getting the right extended team members at the beginning means that development can proceed at a faster rate, as tasks are clearly delineated and each team member is focused on his ones. At the same time, the continuous lines of communication, even if through project management software, let every member know where others are in their progress, and bottlenecks can be addressed immediately. All of this translates to a faster time-to-market for new services.
Quick Guide to the Extended Development Team Model
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.
Romexsoft is a company filled with dedicated developers in Ukraine. 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 expertise to fill gaps in your projects, give us a shout out. We have experience with extended teams that meet your needs.
Written by Romexsoft on March 2th, 2019