The practice of having an extended software development team has steadily been gaining steam as more tech-enabled businesses realize the benefits of maintaining one. Because really, once the organization understands the process of getting the best value for money from an extended development team, what’s not to like? You are able to fill in the crucial ‘missing pieces’ in your core team that would maximize their productivity and get projects off the ground—and in a cost-effective manner at that.
However, approaching the extended team model with misaligned expectations and without proper planning may introduce major stumbling blocks that could derail the collaboration/outsourcing process. In this article, we aim to offer working principles and valuable advice on how companies can avoid the usual pitfalls that often come with augmenting software development teams.
It’s worth noting that we are by no means providing a foolproof recipe for success. However, we also believe that the knowledge and experience that Arcanys has accumulated for the last 9 years in the software development space as a provider of team augmentation services should prove useful for enterprises looking to maintain an offshore development team as an extension of their core IT team.
That said, let’s take a look at the 7 most common mistakes in software team development extension that typically result in unsuccessful partnerships between tech businesses and outsourced team providers. This awareness should then help you avoid the same mistakes, because as they say, forewarned is forearmed.
Mistake #1: Thinking short term production instead of long term partnership
If you are serious about augmenting your capabilities, you should see the project on a long term basis rather than a short term set-up. If you enter into a collaboration with the mindset that it is going to be a temporary arrangement or a one-time project, then you’re setting your partnership up for failure. This is because with that thinking, you would no longer put in the needed resources into training your extended team as if you were hiring on-premise staff.
The reality is that, training is a necessary investment of time, effort, and money, whether you hire in-house or outsource. There is always a need to train new developers. People are people, and all have a learning curve–in this case, learning the ropes include familiarizing how the software works and understanding the business. If these issues are not addressed from the get go, it could lead to mistake #3. Consider things from the larger perspective and you will see how giving the outsourced team members ample time to assimilate the development process can help ensure quality output.
Now you may ask, “Why outsource then if you would need to spend about the same resources in training the extended team as you would your core team?” Well, contracting an outsourced team is still much simpler and cost-efficient, since you do away with candidates scanning and interviewing, the hiring fees, sign up bonus, and other benefits that you would have to provide for in-house employees. Long term partnership versus short term collaboration is a key point in software development, and whichever you choose is critical to the success or failure of your working relationship.
Mistake #2: Believing that doubling the team size will double the output in a linear fashion.
Let’s ditch this misconception for good: Adding more programmers to a project falling behind schedule can get it back on track. No, it can’t and it won’t. While having more people on board may sound logical for other industries, this just is not the solution in the software development space. In fact, it may even be counterproductive, delaying the project even further.
This observation was explained by Fred Brooks in his 1975 book The Mythical Man-Month. According to Brooks, there is an incremental person who, when added to a project, makes it take more, not less, time. This is similar to the general law of diminishing returns in economics which states that increasing one factor of production while holding all other factors constant will, at some point, result in lower returns.
In software development, at least three factors can explain this:
- There is a “ramp up” time for any new team member; meaning, it takes some time for the people added to a project to become productive in any software project;
- Communication overheads increase as the number of people increases. When team members need to communicate with more people, they get less productive work done;
- Most software development tasks are not divisible. This is in contrast with other tasks like cleaning a room, for example, where adding more people to the job hastens its completion. The man-month model does not work here.
In software development, the ideal team size is about 4 to 5 people. Past this threshold, the work process would no longer be as efficient. The best solution in projects where more individuals are involved is to create multiple independent teams of 4 to 5 people. Thus, four 5-person teams as opposed to a single team with 20 members would have higher productivity with less bottleneck in communication channels.
Mistake # 3: Treating the outsourced team as a different team that is not part of the company
When you have an extended development team, this is one of the biggest mistakes you can make: depriving the outsourced team members of knowledge of your business, thus essentially building a management layer between you and them. One crucial ramification of this is that your extended team would not have a comprehensive view of the business and the project at hand, potentially resulting in unoptimized or inappropriate solutions. In addition, the perceived lack of trust and feeling of alienation could also bring down their morale, motivation, and in effect, productivity.
That’s why it is important to take care of the extended team members in the same way that you would your own people. Your efforts in this aspect will greatly factor in the success of your projects and company over the long term. See to it that you are heavily involved in the day-to-day updates with a senior lead on the client side, send over the work with the needed information, and answer questions to guide the developers. This is what you would normally do with your core team, and I can never overemphasize the advice that you should treat your extended team no differently than yours.
Lastly, paying them a visit maybe once or twice a year, would bring about a very positive impact on the global output. We’ve experienced it ourselves and so have our clients.
Mistake #4: Looking for an outsourcing vendor that will blindly execute software development.
Companies who are starting the process of team extension often fail to realize at the outset that outsourcing providers are not created equal, and this is what could create serious problems moving forward. In reality, software development firms vary in terms of function and intention. Some are more of software vendors, geared towards creating the actual software solutions. Other staffing providers are focused on meeting the required manpower, but then leave it at that. For many enterprises, this is not the partnership they envisioned.
Instead, a collaboration with a real software development team extension provider is what most companies need. What sets the software development company apart as an outsourcing provider is that they have a deep understanding of the broad picture. Being in the industry themselves, they know the whole development life cycle, can step in when issues arise or when they see you taking the wrong path, and are able to give expert advice.
It’s also important to partner with a team augmentation provider that maintains the same high standards as you do so that both parties’ expectations are aligned when it comes to running day-to-day operations, assessing skill levels, and evaluating the quality of the solution. Also, don’t hire a firm that only offers software development; make sure you choose a full-service outsourcing company that has the capability to understand your needs and turn them into requirements with business analysts, or into beautiful and user-oriented designs with designers and UI/UX experts. Look for people who will not just blindly execute what you’ve laid down on paper, but will help your project evolve into the software product that you have in mind.
Other key services that you should consider in your provider search are code reviews, manual QA, automated QA, SysOps, customer care, among others. Keep in mind that developers are creative people, but they are not the best people to design a new interface, or to understand the full picture of the business logic behind your choices. For these, you would need higher levels of IT talent. If you don’t have expertise of senior software architects, business analysts, or UI designers in your core team, make sure that the company you choose is able to offer these crucial members of your extended team.
Mistake #5: Looking at the cost rather than the value
It’s common for company executives to automatically look at the bottomline when faced with a business proposition: How much will this cost? While keeping tabs on expenses is a given in any business, it becomes a problem when companies fixate on the cost and not on the overall value of a deal. It should come as no surprise that many organizations choose the less expensive option when given a choice, and because of the unfortunate results most of them often end up with, we’ve discussed why lower rates don’t always mean you’re getting the better end of the bargain.
This is where the approach of looking at value for money comes into play. Yes, a certain provider may not offer the lowest rates, but considering their significant portfolio and the level of expertise of their developers, perhaps the higher costs would translate to higher chances of getting your projects to completion. And then perhaps, you’ll find even better bang for your company’s buck when you get an offshore team based in a country with a lower cost of living. Chances are, you’ll find developers whose skills match those of their counterparts in developed countries, but at lower rates. Just take a look at the Arcanys track record and portfolio, and see for yourself that these are not empty claims.
So how do you measure value for money? Consider your potential teams using the three E’s as the guide factors in your assessment: Economic—how competitive the rates are; Effective—how high the chances for project completion are; and Efficient—given the provider’s capacity and range of services, will you get your investment’s worth back and then some. It’s all about balancing the quality of work with the cost, rather than simply looking at the price at face value.
Mistake #6: Thinking that the requirements can be built on-the-fly with no clear roadmap
As an integral part of the Agile software development methodology, lean software development is a concept that emphasizes optimizing efficiency and minimizing waste in the development of software. At Arcanys, we are trained in Agile practices and it shows in our partnerships with clients. We are flexible, use a creative approach, and can provide incremental results every two weeks. We work in a way where waste is avoided and removed, and we prefer to measure the value in terms of fitness for use rather than strict conformance to requirements. We see short iterations as opportunities to speed up the learning process, communicating small sets of plans upfront, and allowing us to adapt to unforeseen circumstances.
But while it’s true that organizations with the ability to complete fast, simple improvements in the shortest time frame can gain powerful decision-making benefits, rushing into a project headlong and building all requirements on the fly is not something we would also advocate. Adherence to lean development principles is good, but there should also be limits to how flexible a team can be. Failing to prepare is preparing to fail.
While it can be appealing to build requirements on the fly, you still need to make sure that you have enough work piled up for your team for the next one to two sprints at the very least, with a clear roadmap in mind. In some cases, you can get a UI/UX designer to clarify the vision (usually in highly visual projects or at the start of a new project), or utilize the expertise of a business analyst or the product owner (either on the Arcanys side or on your side) to help the team establish clear requirements and the specific work to be accomplished on sprints.
Mistake #7: Startup special — Thinking that there is such a thing as a free lunch. Work for equity deals.
For startups who have yet to find funding, it seems like an easy alternative to use stock or stock options to ‘pay’ for the initial software development. But there are some risks associated with this approach.
At Arcanys, we are very often asked to do development for equity, or to massively lower our already-low rates, because, well...they don’t have a lot of funding to start with; that’s a reality. Before startups get to the first few-hundred-thousand-funding round, it’s normal for these new companies to save as much cash as possible and make sure that the available financial resources are wisely spent. As a startup however, you need to be careful in choosing the software development partner you are going to work with, and how you will structure the deal.
For one, never forget that everyone must earn some money to eat (and for companies, pay their staff). Software services providers working for free will rarely prioritize this job when paying customers knock on the door to get some work done. This could significantly slow down the development course, or lower the quality of the product as the outsourcing partner entrusts the project to junior developers. This practice is risky for entrepreneurs because it puts the project in a state of uncertainty, particularly in terms of time to market and perceived quality for the very important early adopters of the product.
At Arcanys, we’re always looking to partner up with ambitious startups and happen to work for equity through the Arcanys Labs program, but just as startups have to be cautious when choosing a software development partner, we also do our due diligence. When both sides have been working together for a while and both parties deliver on their respective promises, then it could be high time to get into a more serious relationship and talk about work for equity, if the opportunity makes sense for both parties. Even then, work for equity deals are always partial; funds still need to come in to cover some of the costs, as this is the only way to have sustainable “co-owned” projects.
Ideally, before an investment occurs, both parties have to work together as regular clients-provider would do. This would help the partners determine if there is an alignment in values, and if the teams can collaborate efficiently. We call this dating before getting married. This is for example, what we did with ThinkItTwice.
Any deal that seems too easy for any of the parties is usually no good as there might be surprises hidden down the road. Having a software development outsourcing firm on board is key to faster and cheaper product building, but this requires serious consideration. What the outsourcing partner provides goes way beyond cash investment; it’s an incredible added value for the startup founding team to work with technology experts with proven track record and experience. With the right outsourcing partner, startups can accelerate their journey to success.
Learn from these mistakes
Nobody ever said that managing and onboarding an extended team was easy. But when you go into such partnership with all the factors considered, then you’re in the best position to succeed. Work with the right outsourcing partner, manage your expectations, maintain great communication, and go places (even literally) with your extended team.
At Arcanys, we help you get the results that you want from the team that you have. Ask us about our extended team services.