Maybe you’re an entrepreneur who has an idea for life-changing software, or maybe you’re a software consultancy that has maxed out your existing talent pool. Whether you need to augment your existing skill sets with another software partner, grow your talent team, or outsource your project, this blog post can help you get moving in the right direction. We’ll highlight some fundamental questions you’ll want to ask potential software partners before moving forward with your next project.
Has your team completed a project like this in the past?
One of the first things to consider, and to help you identify suitable software partners, is to ask them if their team has completed a similar project in the past. Partners that have completed similar projects in the past will:
- be experienced in your sector or industry
- be aware of potential challenges and have the ability to advise you on workarounds
- have existing code libraries, patterns and practices they can leverage to ensure the smooth delivery of your project
- have existing processes or templates that can be used to reduce the delivery time of your project
Software partners that haven’t completed similar projects in the past may take longer to deliver your project, must rebuild code from scratch and most likely will not be experienced enough on your sector to advise of potential challenges or pitfalls, all of which can hamper the delivery of your project. Commissioning a software partner that has a proven track record, backed up by case studies or white papers can give you that extra level of confidence that your project will be delivered on time.
After you ask the question and have narrowed down the list of potential matches, document your system requirements and share these with the prospective software partners. Invite them to submit proposals that communicate why they’re the best partner for your project. Look for proposals that indicate experience with your project type or industry.
Can you walk me through your existing software development processes?
Ask them about their existing software development processes and look for structure, organization, and tools that provide shortcuts. You’re for indications that your prospective software partner has tried and tested processes in place that:
- ensure predictable code transitions from development, system tests, and production environments
- helps developers reuse and extend existing code and libraries
- have defined roles and responsibilities for developers, system testers, database engineers
- uses tools such as source control (TFS, Git, etc.) to manage source code
Software partners should also be able to explain what their release management process is and how they promote code from the development team to system test and production – as well as how bugs are handled as they are raised by the user community, and how this affects work that’s “mid-development.”
Most common software methodology practice is Agile/SCRUM. You can get more detail about these on our agile development blog post.
Can you tell me who the main contacts are on your team?
Whether your software project is 1 month or 1 year long, knowing who the key contacts are on your software partners project is paramount.
Software projects typically consist of the following roles:
- Account Manager
- Delivery Manager
- Software Developers
- SCRUM Master
- Product Manager / Product Owner
- QA/QA Automation Engineers
- Data Engineers (data analytics projects)
- Data Scientists (data analytics projects)
Your software partner should be able to tell you who to contact when you need a bug fixed, a new feature developed, a new version of your application deployed, and so on. In smaller software partners, professionals may absorb one or more of these roles whereas a larger software partner will more likely have dedicated professionals for each role.
What communication tools do you offer?
Communication is key when delivering software projects and with the rise in globalization, businesses realize the benefits of all-in-one tools that offer video conferencing, instant messaging, and mobile communication options, such as Skype for Business.
Ask your software partner what communication tools they use to keep clients informed as to the status of projects and deliverables. If your software partner is in another country or continent, look especially for partners than use online collaboration tools such as:
- Trello
- Slack
- HipChat
Projects are built on open communication, trust, and transparency, and you want to feel confident that your software partner has such tools in place can help you achieve successful delivery of your project.
If your team needs to have a phone call with the account manager, will they be able to use GoToMeeting, Uberconference, or Skype? Knowing the answers to these questions can help prevent communication issues in the future.
Can I adjust my requirements or specifications mid-project?
So you’ve documented your system requirements, and your software partner is halfway through the build and you need to adapt your software to consider new legal legislation. Or maybe, as the client, you have additional ideas that you want to implement after seeing your creation come to life.
This is another important topic to consider prior to commencing a project. Changes to requirements mid-project can be budget killers!
- Ask your software partner if you’re allowed to adjust your requirements mid-project
- Ask how change affects release cycles for the overall project and budget
- Ask them to explain any commercial liabilities and how new features will be integrated with your existing project.
One of the benefits of adopting an Agile approach (that we touched on earlier) is that it attempts to deal with changes or adjustments to requirements mid-project.
Who owns the IP and code that you produce for me?
Intellectual property is another important aspect of your project. You’re paying your software partner to build software as per your documented system requirements, and with that in mind, you need to ensure that you own all assets that have been produced by your software partner.
Confirm this will be the case in writing prior to commissioning any software partner. Failure to protect your intellectual property before commencing a project can result in the sale and distribution of your project to competitors! You can ask your attorney about intellectual property protection, or sites like LegalZoom offer DIY protection options.
Do you offer long-term support or maintenance?
Once your project has been delivered, it will no doubt need supported and maintained, and there’s nothing more frustrating than releasing a new product or tool and not having access to the creation team for support.
You need a software partner that can support you in the long-term. Software projects are very rarely “done,” there’s always a new feature that can be added to improve the user experience or new process that can be introduced.
Summary
In this blog post, we’ve covered some key questions that you should ask a software partner before commencing a project. We’ve touched on how nearshore, when coupled with online collaboration tools, can help keep your project on budget while maintaining transparency.
Here at Growth Acceleration Partners, we have extensive expertise in many verticals and are well positioned to offer the benefits of the nearshore software development business model. Our Centers of Engineering Excellence (COEs) in Latin America focus on combining business acumen with top-notch expertise to help your business. We can provide your organization with resources in the following areas:
- software development for cloud and mobile applications
- data analytics
- data science
- information systems
- machine learning
- predictive modeling
- QA and QA Automation
If you’d like to find out more, then visit our website here. Or if you’d prefer, why not arrange a call with us? You can also catch us on email.