How To Successfully Outsource Software Development
POSTED: May 16, 2018 12:06 pm,
Assume your company decides to outsource its software development. Now you’re wondering: Will outsourcing affect the quality? Simply put, the quality of your software depends on the provider you hire. When you choose the right provider, it shows.
In my 30-plus years of IT experience, I’ve seen many companies make the wrong software outsourcing choice. And I’ve watched this cost their software and companies dearly, including time, money, delays, glitches, security issues and other problems. As an example, almost three-quarters of mobile apps ship with as many as 10 bugs, according to the 2015 Mobile Development Survey of more than 500 software developers from Evans Data Corporation. Some estimates go as high as 50 bugs, calling into question some developers effectiveness in testing and quality assurance (QA). So making the right software outsourcing choice is vital.
I’ve found that when you work with a great developer, they not only adhere to standards to ensure quality, they focus on your overall objectives and intended results. Meaning the right team is more thoughtful in its approach versus quickly slapping code together. My recommendation: Never make a decision based on a quick Google search. And don’t simply choose the least expensive developer.
Quality From Experience, QA And Testing
If you decide to outsource, everyone must share the goal of creating high-quality software to grow your company. Ideally, the right vendor or developer will bring vast experience from working on software across different industries. As a recent post from Salesforce says, “Outsource partners can leverage their collective experience to help overcome otherwise difficult challenges. Because they often work with many companies on a variety of projects, outsource partners can quickly interject critical skills and expertise to any product or software development.”
Indeed, outsourced teams use their collective knowledge to solve problems and innovate. In fact, many software outsourcing companies hold regular meetings, where team members share information on what they’re working on – their development successes, challenges and creative solutions. They share these insights and cross-pollinate information that can benefit the quality of each developer’s work. One provider may have 50 to 60 different developers in a meeting, which means you inevitably get all of that experience applied to your software.
Tip: When you interview potential providers — whether that’s an individual developer or an outsourced team — ask them about their portfolio of work and their successes across different markets. Ask for references that can substantiate that work. Ask how they apply those experiences to creating software.
Also, when you’re evaluating your shortlist of outsourcing partners, make sure you evaluate their potential for success – in-person, if possible. Meet with the potential teams or individuals to better understand their strengths. Learn about their processes. Are they Agile? Are they focused on DevOps? Are they aware of the latest technologies and standards? Is security a priority? What procedures do they have in place to ensure business continuity? Are there safeguards, if a situation arises, to keep your software development on track? When you gain this insight, you’ll be better prepared to select the right partner that’s focused on quality and the success of your software.
In addition, ask potential partners about QA and testing. Will they use a variety of tests to confirm quality? Ensure they’re proficient in this area by discussing it early on. Common tests to ask about include: regression testing, static testing, dynamic testing, white- and black-box testing and visual testing. The key is to ensure your provider makes QA/testing a priority.
Two Tips for Making the Most of Your Partnership
Once you’ve selected the right outsourcing partner, consider doing these two things to further support the creation of quality software through your provider.
- Say “this is what I think I want.” If you’re a CIO, CTO or CEO, you sit down with your team and spec out what you want the software to do – and then you have your partner create it. But that doesn’t always work because what you think you want isn’t always what you need. Instead, start off by providing complete specifications of what you think you want. Don’t say, “This is exactly what I want.” Say, “This is what I think I want,” so that the software can be developed in an environment where fresh ideas and solutions can emerge. You don’t want to limit your developer. You want to allow room for your outsourcing partner to ponder and to draw upon their previous development experiences so they can innovate, look beyond what you think you want, and deliver the best quality software.
- Collaborate. You also need to collaborate to ensure quality, and a good developer encourages this. Ask upfront: How do you collaborate with your clients? What you’re looking for is a proactive developer or team – one that asks lots of questions, wants to fully understand the software’s user, is able to make suggestions for improvement, brings fresh ideas to the table, wants to be involved in discussions, conducts brainstorming meetings, and works with you to solve problems. Without a doubt, if you and your outsourcing partner are not able to participate in the process of creating the software together, you’re not going to get the best product possible.
One thing I’ve seen successful companies do that helps with collaboration — which can help with quality — is create short user stories about the software features they want to create. They then share these stories with their provider. This helps the developer better understand the desired user experience and interface. You want your partner to understand the outcome you think you want, so the final product becomes a simple, friendly and high-quality experience for the user.
Consider this: What if you outsourced your software to the wrongprovider? How would that affect quality? Would you lose customers? Take the time to find the right software partner to deliver a high-quality product.
Quelle: Forbes.com (Autor: Steve Mezak)