Software houses are popping like mushrooms, and so are outsourcing options. Body leasing, IT team extension, development teams on demand, offshore software development, nearshore IT development – if you have carried out a partially or entirely outsourced project even once, you are probably already familiar with these terms.
We have already covered these outsourcing models on our blog, so we will not delve into this particular topic in this article. If you are looking for advice in this area, check our take on teams on demand vs. team extension and team extension vs. body leasing.
Today, we will look at IT outsourcing from a more holistic perspective, touching upon such subjects as billing and quotation as well as universal criteria the companies working with agile methodologies can adopt. All the tips are based on our experiences from various professional cooperations. We hope they will help you make more informed decisions and find the best match for your company!
Which billing model works best for agile projects?
Before agile dominated the IT landscape for good, most companies would rely on the fixed price billing model in their cooperation with external developers. That approach would have its benefits – above all, the customer would know from the beginning what expenses they can expect. However, the workflow agile enforces does not go in line with the fixed price model, even if it adopts a more flexible form of price ranges.
IT service providers work in iterations and remain highly flexible in terms of the scope of work and the deadlines. The billing model should reflect that. Even the milestone approach that enables including changes in pricing to a much greater extent still fixates on the scope of work, making it impossible to implement agile principles in practice.
Which billing method should you contract, then? The only model that shifts the attention to business value is Time & Materials. In its case, you calculate the price of services based on the tracked time spent on development and materials applied in the process.
At first, such an approach may sound risky as you don’t know the final price, but in the end, it is much more likely that you will be successful with your project. 83% of projects with time & materials contracts are successful, compared to only 38% with a fixed price (Journal of Software, September 2017). The iterative approach saves time and can generate significant savings, so that it might be a double win.
How to organize the process of quotation for the purposes of agile projects?
The Time & Materials model is much more flexible, but it does not mean it entirely rejects estimations. The time & materials contract doesn’t include either the project’s scope or the deadlines. However, it does contain the rates both parties agreed on – usually hourly.
Establishing a consensus in this field is essential before launching the cooperation. To estimate the budget, you can loosely determine the expected timeframes of the project and calculate the total cost on this basis. Nevertheless, you have to take into account that these estimations may not be accurate.
If you want a little more security, you can go for a capped time & material model. It is based on the same principles as the previous, but with a little bonus – it determines the upper limit of the total project cost.
What to pay attention to when preparing to outsource software development services?
Every company has its own specifics, so it is difficult to give universal advice when it comes to finding outsourcing partners. However, some tips have proven to work for our customers across different sectors. What to put emphasis on?
Organization of the IT outsourcing team
The success of outsourcing-based projects depends largely on good matching, both in terms of skills and work culture and approach. Even if the specialists have a perfectly fitting tech stack and expertise, they may struggle to sink into the atmosphere because their previous experiences were radically different.
Our customers expect outsourced professionals to maintain independence but also easily adjust to the company’s specifics. To cope with their expectations, we provide self-managing teams that consist of experienced developers, QA specialists, and product owners. Transparent communication and partnership are the backbone of our approach. To facilitate it, we engage different kinds of agile-specific collaborative tools that keep both parties updated and help them stay on the top of things.
It is essential for you to be conscious of the values and preferences your existing team represents so that you can easily communicate them to the outsourcing partner. It is worth gathering the team member’s feedback on that before you start the selection process. Then, give yourself time to observe the developers at work before establishing a long-term commitment. Both sides will benefit from such a strategy!
Inwedo provides us with a core team of resources to help us with our projects (…). At the beginning of the process, two Inwedo consultants visited us in our Stockholm office for a week. During their stay, we discussed the project and talked about where it fits in the overall picture of our company. That week also served as part of their onboarding process. Over time, our engagement with Inwedo has grown, and their resources now assist us in onboarding new resources from their team. Additionally, they now provide us with product and project management support for certain projects.
The flexibility of the software development outsourcing company.
Agile already implies flexible, but it is worth looking beyond that. Some projects are unpredictable in terms of workforce demand, particularly if you are incorporating emerging technologies into it or developing innovative functionalities (examples? Decentralized finance, generative neural networks, and augmented reality, just to name a few). Not every outsourcing partner will provide you with an option to engage more developers straight away when such a need emerges. It is worth discussing this aspect with the potential contractor before making a final choice.
We’ll take the opportunity to assure you that our software outsourcing company is ready to scale the IT team on demand. We know how important flexibility is for our customers. It also matters to us – we use agile methodology for a reason. Working in iterations gives us time and opportunity to introduce changes in the development process and polish every idea. We know priorities change through the project and are ready to embrace it.
Inwedo’s resources have delivered work consistently, reliably, and on time, and the functionality-to-bugs ratio of their deliverables has been extremely good. Additionally, they work fast and are good at keeping up with the rest of the team. Over our engagement, we’ve only had two consultants from their team helping us in our different projects, allowing us to have an incredibly positive continuity. (…) We currently work with seven full-stack senior developers from Inwedo.
Experience of your software development partner
Sometimes it is worth emphasizing things that seem obvious at first glance. So here we go: always verify the experience of your potential outsourcing partner! Don’t look at the number of finalized projects – it can indicate quality work, but doesn’t have to. Instead, check whether the company has already worked with customers from your niche. What was the outcome of these cooperations? Ask for a portfolio, case studies, and references to see the big picture and make sure that the dedicated software development team understands your business needs. And don’t forget to visit Clutch for verified, in-depth reviews!
At Inwedo, we support the cooperation model in which we become full-fledged business partners instead of just providing the customer with professionals. We approach software development holistically instead of just writing code. Sharing is caring, so we do not keep our expertise and know-how to ourselves.
Inwedo’s biggest strength is their values; they value their people and their working relationships equally. Additionally, they facilitate a very collaborative environment and strive to provide us with working products, demonstrating interest in meeting our needs to the best of their ability. Moreover, Inwedo’s team has very good people on board. Their resources are extremely technically capable, and they seem to be well looked after. Their internal support helps those resources grow, which ultimately impacts what they do for us. Overall, they’re extremely good at what they do.
Contracting the outsourcing IT service providers: step by step
#1 Prepare questions and prepare yourself for questions
When doing your research, don’t just go with the flow! Be prepared to assess the suitability of the company as your outsourcing partner. We recommend creating a list of questions that will provide you with a notion of their approach to work, communication habits, and values. Answer themselves in the name of your company after gathering insights across the teams. Even though you know its specifics, some things may slip your mind during the interviews. Having them written down may help! Then you can compare the answers to see your compatibility.
Alternatively, instead of asking questions, you can prepare little tasks to solve typical of an agile development process. Provide the software houses with a hypothetical issue – for instance, a significant delay in a sprint or gaps in documentation of the legacy software that the company is rebuilding – to see how they’ll approach it.
#2 Start the bidding process and see how the candidates approach it
Once you already have a preselected group of candidates, it’s time for bidding! The way the company approaches this process can tell you a lot about its future work. Are they trying to adjust their proposal to the specifics of your business? How do they approach the estimation and validation processes? Do they take the lead, or rather step away? Do they insist on a specific billing method without considering any others? The lack of initiative and the lack of flexibility are both big red flags.
#3 Interview developers of the outsourced IT team
Identifying skills you are interested in is the first step to prepare for an interview, but you shouldn’t limit yourself to professional qualifications. The soft skills and working approach matter equally! We recommend checking them with tasks that simulate particular scenarios in the development process to see whether the candidate’s declarations are well-founded.
The best practice when outsourcing developers is to start with a screening interview and then move to a skills assessment. In the second part, companies often decide to both carry out a technical interview and check the dev’s skills in practice with a coding challenge.
We would love to tell you more about how we approach outsourcing cooperation. Please reach out to us in case of any questions!