Choosing a high quality software development team to build the latest mobile or web application your company needs can be stressful. You’ll encounter a myriad of opinions on the topic, many boast about the benefits of outsourcing, many argue that a dedicated team can only be found in house. Considering overall project requirements, budget, and required time to market are among the most important qualifications to evaluate before making a decision.
We often encounter statements like; “I’m planning to build an eCommerce Application. Should I outsource or hire an in-house team to build my app?”. Our response is simply a slew of clarifying questions.
13 Smart Questions to Ask
- What company do you work for?
- Is it a large corporation or small business?
- How involved do you want to be in the selection of the people that are doing the work for your project?
- How much do you care about the aesthetic?
- How much do you care about the interaction design?
- When you think of good user experience design do you think of Apple or Google?
- Do you not care?
- Do you not see a difference?
- How involved do you want to be in giving guidance to the team?
- Some teams use agile processes in the management of the project which requires you to be involved in the process as a product owner, do you want to be involved?
- Are you simply looking to hand the design and dev team a specification, walk away, and have them come back six months later with what you asked for?
- What involvement do you want on the technical side of the project?
- Is this a project where you’re going to be very dictatorial about the specific types of tech, frameworks and standards that the development team follow?
Answering these questions on a per project basis gives us understanding and insight into whether or not your team should leverage an outsourcing partner, or build an in house team. Your goal is (always) to cultivate a long term competitive advantage for your digital product.
We’ve taken the time to debunk some common misconceptions and break down the key differences, pros, and cons of outsourcing, offshoring, and in house software development.
What is In-House Software Development?
Development of in-house software involves employing an organization’s resources (in-house unit) to create or execute software according to the needs and requirements of the client. Within larger corporations, the in house software development process looks a bit like this: There’s a flexible team of designers and developers that move around within the organization, to work on and deliver for the needs of other parts of the organization. However, the arrangement nearly mirrors what you might see with a professional services team.
For example, let’s say that the marketing department for Intel wants to build an AR marketing application for the conference coming up in November. Money isn’t an issue, they simply need it done quickly. The marketing team will then pay the in house developers and designers to build the app, using dollars from their budget. The in house team only needs to charge the marketing team its overhead costs (i.e developers salary + benefits).
- More cost effective within a large corporation
- Full commitment to the project, design/development team is always available
- No cultural gaps (language barriers, time zone restrictions)
- Increased ability and flexibility for face-to-face meetings
- Limited access to the “best” talent (especially UX Designers, because design is only 20-40% of any given project, it is incredibly hard to keep an inhouse design team busy)
- More likely to be resistant to digital transformation (lack of interest, unwilling to change)
- Less likely to be up to date on the latest technologies available
What is Outsourcing Software Development?
Simply put, outsourcing is the redistribution of a job/s. Basically, an agreement made by a corporation to pay a third party software vendor to do the work related to the technology/application rather than doing it in-house. Software development outsourcing is extremely common. Outsourced services have grown immensely within the last decade. As of 2020, there are 53 million freelance workers in the US. Within a large corporation outsourcing traditionally takes place through a procurement department. For example, that same marketing department at Intel (you, know the one needing that AR app?) would go to procurement and say “Hey, I need a design and development team to build this augmented-reality application for the conference we’re going to in November”. Procurement would ask the marketing department to provide the project requirements. Then, the procurement team, leveraging its unique expertise, would begin their search. Their goal is to get the best price and terms for the company. Once they are satisfied with the software development agency they’ve found, the team will hand that company back to the marketing department.
- Access to exceptional talent. About 46% of companies outsourcing IT functions say that outsourcing lets them access skill sets that aren’t available in-house.
- Outsourced designers and developers are more likely to be up to date on the latest technologies available.
- Outsourced teams, working on varied projects (encountering varied challenges) are more likely to be up to date on the design and development industry as a whole.
- Outsourcing software development tasks allow companies to spend more time focusing on core business processes. In fact, freeing up resources to focus on core business is the most widely cited reason for outsourcing IT functions.
- Avoid the employee hiring process. Did you know it takes 35 days, on average to find a good software engineer in the U.S.?
- When outsourcing within a large corporation, the product owner for the project is forced to work with procurement. Because of the use of a procurement department, the product owner’s specific knowledge base can be underutilized. I.e., procurement may not actually understand the artistic nuance of the project at hand.
- Outsourced teams cost more. Hourly rates reflect the ultimate upside of the service provided (not just overhead costs).
What is Offshoring Software Development?
Offshoring is the act of hiring lower-cost resources in another economy (and different country). For example, offshoring in Saudi Arabia means hiring from Egypt. American’s often offshore to India. Every country has its own labor dynamic and there will always be lower-cost labor that people are trying to get access to.
- Language barriers: most prevalent when working creatively. Within visual or interaction design, offshore designers are designing products for use by someone that is outside of their language (and culture).
- For example: recently, our North American based SingleMind team worked on a mobile app development project for a client from Saudi Arabia. Before embarking on the challenge one of our first questions of the product owner was around the right to left language used in Saudi Arabia, Arabic. The product owner assured us that the majority of the apps intended users would actually be expecting to use the app in English. The client assured us that most websites, apps, everything electronic/digital is in English. A fact that would have been unknown to us had we not communicated thoroughly with the project’s product owner.
- Cultural barriers: Oftentimes the way in which different cultures work together can cause significant communication problems. For example, if we look back 10 years, a unique challenge of working with a design and development team from India would have been a lack of questions asked. (Perhaps) given the historical caste system, many teams from that culture did not consider it appropriate to challenge instructions, or ask clarifying questions. However, the devil is in the details. Many teams that offshore a project to India learn the hard way that their project specifications must be completely detailed. Their team could get months into a project and then you finally realize that though you assumed the team would develop your website to be responsive (a given in America), you never specified with their team and now you have to go back and fix issues.
- Information confidentiality
- Time zone restrictions: New York City, to Vietnam boasts a weighty 11 hour time difference. Will the project management process be successful if your team is working while you are sleeping?
Through it all, intelligently choosing a design and development company to partner with is vital to your project’s success. Truly, the best way to make a decision that fits your needs is to answer the ultimate question; how involved do you want to be in the process?