Research gathered by Statistic Brain showed that nearly 43% of US companies are outsourcing programming-related jobs. When asked why they were outsourcing, the top five answers included:
- Accessing IT talent unavailable locally
- Giving employees time to focus on other projects
- General improvements for business growth and better customer service
- Digital transformation acceleration
Companies are recognizing the value of outsourcing like never before, but that also means that this year many companies— perhaps even your own — will be partnering with a software development company for the first time.
If you have never contracted with a software development company, it may be difficult to know where to start. The following six steps can help you understand and master the process.
Step #1: Identify Business Goals and Project Requirements
Work with team leaders and other stakeholders to figure out what goals you are trying to accomplish by outsourcing software development projects. But do not confuse goals with outcomes.
Goals relate to meeting milestones related to business growth. Outcomes are the deliverables or results.
For instance, if you have a business goal of increasing productivity by 5-15 % per quarter, outsourcing helps you achieve that goal by delegating certain tasks to your technology partner. With those tasks out of the way, your employees have more time to focus and be productive on other business-critical projects.
Project outcomes are important as well because they help you determine the project requirements. For example, if you wanted to hire a software development company to build a mobile app, your list of requirements may include such items as:
- Includes payment portal
- Allows customers to make direct purchases
- Shows delivery progress
- Must work on all major mobile operating systems
- Rolls out to customers in 3-6 months
While it’s nice to know what you want to get out of a software development project, not everyone knows what their outcomes or project requirements will be. And that’s fine. As long as you can explain what’s going on in your business and what you would like to see happen or change, then a good software development partner can make solution recommendations to help you achieve your goals.
Step #2: Review Software Development Company Options
When comparing options, you may be wondering if you should go with a commercial off the shelf (COTS) software agency or a custom software development company. It’s not uncommon for leaders to feel they have to choose one or the other, but believe it or not, you can actually do both.
(Check out this article and read more about when to choose COTS or custom software development).
At AltSource, we embrace a buy-build mentality. Certain COTS are worth buying, especially if they meet your business needs and support your goals. But not everything can be bought off the shelf, and for those situations, it may be a good investment to work with a custom software development company to build exactly what you need.
When you’re comparing companies side-by-side, verify their specific processes and approaches to software development. If they don’t list a process or approach, that’s a bit of a red flag and could indicate a less mature company.
The physical location of the potential technology partner can also be an important issue. For instance, if you look at a company that is based out of the country, you may risk language barriers, time zone problems, and communication slowdowns.
That said, many software development companies do have technology resources in and out of the country, but their project team leaders are local to provide ideal customer service. As a rule, always verify their location so that you know what you’re getting into if you choose to work with a particular partner.
Step #3: Come Prepared with the Right Software Development Questions
Before speaking with any potential software development companies, you should draft a list of questions to obtain key information you and your executive team will need when making final decisions.
Typical questions you should always ask include:
- What type of services do you provide?
- Which industries do you serve or specialize in?
- Where can I see examples of past projects similar to mine?
- What are your security protocols for sensitive customer data?
- How do you approach project management?
- Can you go over your development process with me?
- How do you test and debug software?
This list is not exhaustive, but it covers some of the most critical information you should know upfront. If you have company-specific questions that you need to know early on, make sure to include them in your list.
Even if you come across answers to these questions in your online research of the company, it’s always a good practice to verify if your research is accurate. You never know if a website is outdated, so double-checking the facts can help to minimize any potential risks.
Step #4: Check Out the Software Development Pricing Model Options
Many of us are used to transactional purchases where a seller sets the price and the buyer pays it. Software development is different though. Software developers often use a wide variety of pricing models, and they do this for very strategic purposes that could be operationally based or to better accommodate customer needs.
The most common software development pricing models include:
- Fixed price or fixed bid
- Time and materials
- Mixed pricing or hybrid pricing
- Dedicated team
- Managed services
- Cost plus
To learn more about these pricing models, including the pros and cons of each one, review this article.
Step #5: Compare Your Short List of Software Development Companies
After you talk with several software development companies, you’ll undoubtedly develop a short list of preferred partners. While many leaders make their decisions based on price alone, be aware that you do get what you pay for in this industry. Quality may cost more, but think about what that quality can save you down the road in terms of delivering a high-value product and securing a software development partner for future projects.
Besides just looking at which offer fits your budget best, compare companies based on other business-critical criteria. For example, you may want to compare companies based on the following items:
- Experience delivering successful solutions similar to what you need
- Experience in developing solutions for your industry
- Depth and breadth of known frameworks and computer languages
- Communication and collaboration styles
- Software development process
After putting in the time to compare companies on your shortlist, you may have narrowed it down to your best option. But it’s not uncommon to be torn between 2-3 potential software development companies. Now your choice will most likely be based on each team’s proposal, cost, time-to-market, and your time to value.
Step #6: Finalize Your New Software Development Partner Choice
It’s been a long road completing the above five steps, but you have reached the end of the decision-making process and have selected your software development partner. The next part of the process entails combing through the final proposal to make sure it includes everything you want, the timeline, and the budget.
With that part completed, the software development company creates a contract that details all the agreed components of the proposal as well as legal disclaimers. Don’t worry if the contract part of the process takes slightly longer than anticipated. The lawyers from your company and the software development company will go through a “redlining” process to protect assets and avoid any unnecessary risks.
Once the lawyers figure everything out and declare a good agreement on both sides, everyone signs, and then you start setting up meetings to kick off the project.
AltSource Recommends Software Development Business Assessments
Many business leaders feel that they should only hire a software development company if they have an active project or know what they want to be built. However, there are other situations in which hiring a software development company as a consultant may prove the best strategy for moving forward.
For example, if your business has been unsuccessful in monitoring your internal data or implementing new software initiatives, that may be a sign of some internal stability problems. Such issues need to be addressed before you can successfully update any technology within your business.
For companies that are struggling in this manner, or for businesses that simply don’t know where to start with their digital transformations or software upgrades, we often recommend a formal software development business assessment.
When we assess a client’s business, we have three goals in mind:
- Help clients recognize where they are now.
- Identify where they want to be in the future.
- Make a specific and detailed plan on how to get there.
This plan is both strategic from a companywide perspective, but also includes tactical recommendations on what actions must be done to improve and reach goals.
This type of assessment helps stabilize your business and sets you up for the future growth you want to attain. It also develops a committed plan in writing that you can share throughout the entire company, keeping everyone on the same page regarding what needs to happen to achieve your goals.
If you want to learn more about our assessment process, or if you have any questions about this article, feel free to reach out to our team: firstname.lastname@example.org