When launching a new project, it is important to not only choose the right providers for your company, but to know which questions exactly should be put to them in the first place. So for today’s article, we’re taking a look at some of the most vital questions about outsourcing and providing our own responses to get you started as quickly as possible.
1. How would you ensure developer continuity over a long period of time?
Especially in the case of more long-term projects, it is in both the customer and supplier’s interest to ensure developer continuity, as this can greatly cut down time spent on team integration and project familiarisation. This is why at Software Planet Group, we ask for each team member’s personal commitment for the entire duration of a project. Similarly, before embarking on a new endeavour with a new or existing customer, we spend ample time on project planning and scoping to identify which specialists will be actively involved in the project, which skills will be required for participating developers, at what stages they will each be needed, and equally the amount of time that they will have to stay a part of the team. This calls for a measure of foresight and sufficient warning of changing requirements to provide our company with the necessary leeway to keep continuity intact.
From time to time, however, we are unable to maintain the same developers for longer time periods. This can sometimes occur when development frequently pauses or the team size scales up or down. Nevertheless, when project managers remain in place for the duration of our client’s project, this does not tend to be a major problem, as an important part of their role is to ensure smooth project delivery. This goes hand in hand with effective team management, so any serious potential risks may be ironed out by the project manager.
2. What would be the process if at some point during development we did not have the expertise we needed? Would we look externally?
When interviewing a prospective company with your questions about outsourcing, it is vital to also enquire about their expertise. Of course, the wider the expertise, the better, as they can fill in any gaps in your company with capable experts that you can hire at will. More importantly, however, if you do not require a full-time hire, they can often provide developers at comparably affordable rates. This is one of the greatest benefits of hiring a company as opposed to freelancers.
With over 100 full-stack developers, at SPG, we very rarely lack the technical prowess to fully satisfy our customers’ requirements. Nevertheless, in the unlikely event that this does take place, we have the ability to look externally to integrate specialists into the current team and are more than happy to collaborate with your company’s chosen experts.
3. Are you able to make technical or infrastructural recommendations, and if so, then what is this process like?
This particular question is important in order to assess your candidate’s capabilities. Ideally, they should not only be willing to make changes to the project if needed, but provide their recommendations at the earliest opportunity. At Software Planet Group, because we aim to become trusted advisors to all of our clients, we analyse your company’s requirements at the very start of the project and propose the best possible technologies that will yield the desired results. We also analyse the underlying infrastructure and make suggestions to improve its feasibility in addition to its security, resilience and cost-efficiency.
4. How will you ensure the quality of your work?
Of all the questions about outsourcing, this is the one that should be asked to both parties. On the customer’s side, it is helpful when requirements are clear from the get-go and contain testable acceptance criteria. The fewer vague requirements there are such as “this particular feature should be fast” or “should serve plenty of concurrent users,” the less room for misinterpretation or any misaligned expectations. Similarly, because key requirements will ideally be perfectly measurable, it is also recommended that customers be as specific and accurate as possible (e.g. the system should serve 2 thousand concurrent users; the page should load in 2 seconds or less, etc.).
As avid supporters of both Lean and Agile principles, for SPG’s part, we believe that “continuous attention to technical excellence and good design enhances agility.” This is why we strive to incorporate built-in quality practices into all of our work. These not only ensure robustness at every level of the software product, but include Extreme Programming techniques like unit testing, test-first development (TDD), pair programming and collective code ownership.
On that note, because in the spirit of the Agile manifesto, we always welcome changing requirements, especially in the case of more complex projects in which requirements might substantially change, we never rely too much on manual testing. Instead, our developers maintain a set of automated tests on different layers of the system — unit tests for algorithms and internal behaviour, integration tests for component communication, and end-to-end tests for testing features. Though developing these tests takes time, it can also save a lot of time for finding defects, reproducing them and fixing them, and finally re-testing features, which guarantees the quality of the finished product.
5. How flexible are you to deal with changes in project scope or requirements?
This will depend on whether your contract is of a fixed price or time & materials nature, so if you have other questions about outsourcing, it’s a good idea to start with this one. After all, in general terms, fixed-price contracts will be inherently less flexible, as you will ultimately be responsible for any desired changes or anything beyond the supplier’s competence. By contrast, the time & materials model enables companies to readily modify the amount of work, revise materials and designs and shift the focus of the project entirely. As touched upon in question 4, at Software Planet Group, because Agile processes “harness change for the customer’s competitive advantage,” from a project management perspective, our projects thrive on changing requirements. Nevertheless, we offer both pricing models for your company’s convenience.
6. How familiar are you with working alongside internal resources?
For companies with in-house development teams, it is important to ensure that the external provider will be a good fit for your business processes — day-to-day schedule, communication channels, development standards and the like. The aim of the game here is to have as little disruption to the current team of developers as possible. Thankfully, over the years, SPG have had the privilege of working alongside internal teams at dozens of organisations. This real-world experience enables us to quickly adapt to your in-house processes and make further changes as and when required.
7. How quickly can you carry out scoping and requirement analysis?
It is only natural to wish to know how quickly you can kickstart your project. However, bear in mind that this too will depend on your company as much as the software provider you choose to work with. After all, every client or future client comes with their own set of project requirements. While some may turn up with detailed specifications that will include pre-made designs and mockups, others may come to developers with a brand new concept that will require multiple discussions to turn the idea into an actionable plan. This in turn could take several weeks, so make this one of your questions about outsourcing!
In SPG’s case, once the requirements become clear to all parties involved, then project scoping should take no longer than a week.
8. How do you select the right team for this project?
When seeking to put together an effective team, it is essential to strike the perfect balance between each team member’s skill set and strengths. In order to do this as efficiently as possible, software companies should at the very least take the following factors into consideration:
- The developer’s level of interest in the project in question (the project’s domain, technologies and concept)
- If team members have successfully worked together in the past
At Software Planet Group, in addition to the above criteria, we select teams based on the factors below:
- Business logic/business sector of the project
- Expertise in the required technology stack
- Team size
- Project complexity
- Developer availability
9. What are some of your SaaS development success stories?
Of course, few things are better than real-life examples, so along with your other questions about outsourcing, it’s advisable to ask your candidates about the projects they have worked on in the past. On that note, by the way, if you’re interested in finding out what SPG have in our company’s portfolio, please refer to this public page or reach out to us for more pertinent examples.
10. What is the process of reporting, communicating and presenting results at your company?
When it comes to keeping track of your product’s development, it is critical to establish early on if the company’s processes will be up to your standards. After all, any serious lapse in communication could engender some enduring consequences.
In SPG’s case, we are staunch advocates of the Agile methodology which includes a set of reporting and communication procedures. As a result, we organise development into weekly sprints that will each finish with a roundup of our week’s activities. This provides insight into any issues encountered throughout the week and the expected challenges for the following sprint. We also review our sprints against the wider development backdrop to ensure that we remain on track for a timely project delivery.
Finally, we communicate openly on a daily basis and will often also utilise our clients’ communication channels — including Slack, OpenProject and Teams. Once again, the principles of Agile development come in handy here, as we “deliver working software frequently…with a preference to the shorter timescale” (e.g. weekly sprints), hold that “the most efficient and effective method of conveying information to and within a development team is face-to-face conversation” (open communication channels including online video chats) and believe that “at regular intervals, the team [should] reflect on how to become more effective [and] adjust its behaviour accordingly” (e.g. frequent demo meetings and retrospectives).
11. How exactly do you onboard a new client?
Last but not least, if you’ve decided on an outsourcing provider, you’re probably wondering how to get started! Of course, every software company will be unique, so be prepared to hear some interesting responses.
In our own case at Software Planet Group, we first engage in high-level discussions to discover what issues the client is dealing with and how they might view a potential solution.
In order to do this, we have a few questions about outsourcing of our own:
- What issues are you facing on a business or development level?
- Do you know what the solution to your problem is?
- What do your development resources currently look like?
- Have you ever worked with an external provider?
- Have you explored any other options in an attempt to solve these issues?
Once the requirements become crystal clear, we translate our findings into actionable steps that may then be analysed from a development perspective. Finally, we carefully plan our approach and provide a realistic and practical proposal.
That’s all there really is to it! Just keep in mind that companies and projects from the finance sector should also expect some standard KYC checks.
Have any queries of your own?
We hope these questions about outsourcing can help you realise your company’s objectives. But if you have any queries of your own, feel free to contact our development team!Get In Touch