- Engagement model definition
- Possible problems when choosing a tech partner
- Types of engagement models
- Budgeting structures
- Our approach to the engagement process
- Wrapping up
In recent years, more and more companies started working with outsourcing agencies. Due to the ongoing shift to remote work, businesses are expected to spend more than 21% of their budgets on work with external teams.
Well, many businesses are looking for ways to develop software that will be cost-efficient, quick, and will help receive a product of the highest quality at the same time.
The success of the development process depends on the choice of the team. Especially if working with an in-house team is not an option for a number of reasons: lack of consistent tasks, budgeting, incompetency, lack of time, and so on.
Yes, outsourcing is a hot trend now, but did you know that 20-25% of all outsourced projects fail within two years and 50% – within 5?
I’m sure that you don’t want to be among those numbers.
If you have been thinking of finding a team of developers to create your software, but you’re afraid your project will fail, pay special attention to how you will cooperate with the team.
In other words, make sure to choose a working engagement model for your particular project.
How do you choose an engagement model?
First, you should identify the level of your internal technical expertise and what your business goals are.
Do you need a team that would work on your project from A to Z? Or do you have an in-house team, and your only request is some help with the ongoing project?
Budgeting structure is also important.
Are you ready for extra expenses and the uncertain final cost of the project? Or do you want to pay a fixed sum of money but have little to no flexibility in terms of changes?
In this article, I will talk about each type of cooperation and budgeting in detail, so you’ll be able to choose the one that will save you money, time, and guarantee that your next project is a success.
If you want to know which engagement model has less risk and want to ensure smooth and effective cooperation with outsourced developers, keep on reading.
Engagement model definition
In short, an engagement model is a detailed plan. It covers all specifics of your collaboration with the team of developers: responsibilities, budgeting terms, management issues, rules, commitment, and the duration of the business engagement. Usually, it is a legally binding contract signed by the client and the developers.
When you employ a team of constructors to build your house, you also use a certain engagement model. You decide on their working hours, salary, responsibilities, and the approximate duration of the building process, right?
For example, if you’re out of town a lot, you would discuss this with the constructors and employ a person that would control the process because you won’t be able to do it yourself. Or, let’s say you have always dreamt of building a house yourself, but you still need some help on the site. In this case, you would look for an entirely different type of cooperation.
Engagement models not only exist in IT. If you need to work with an external team of any kind, the rules are the same.
There are a few different types of partner engagement models:
- Technology partnership
- Dedicated team
But before I dive deeper into it, we need to learn what are some major mistakes while choosing your development team:
Possible problems when choosing a tech partner
The process of your product development and the final outcome depends greatly on your IT business partner. A wrong choice of tech partner can lead to a number of problems:
Project management problems
Let’s say you have never had any experience with managing tech teams. You don’t know how to set realistic deadlines, control the process of development, and set tasks.
Then, if you hire a team that requires a clear and detailed scope of work, your project can fail. It can lead to issues with management communication, and the product development won’t move anywhere.
Before choosing a business partner, assess your management experience with tech teams, or else you will hate every second of the process.
Budget planning problems
If you have a tight budget, good planning should be your best friend.
When you’re building the house, you always estimate how much money you will need, right? You don’t hire the most expensive team of constructors but plan to buy designer furniture when you have a limited budget.
Plus, it’s always possible to find a cheaper replacement of high quality.
The same with software development.
You don’t want to find yourself in a situation where you can’t pay the tech team because you didn’t plan well and spent all your money.
The key here is to estimate all future costs of development, including extra expenses, and make sure that whatever happens, you won’t go bankrupt.
Final product problems
Imagine building a house, putting a lot of money and effort into it, just to realize that you hate it and can’t live in it.
If you experience communication or management issues during the development process, you can experience the same with your software.
You can receive a product that you either do not like at all or do not need. It simply becomes a waste of everyone’s time.
That is why you need to make the choice of engagement model very seriously. It can help you get the best product for the money invested, enjoy the process, save your time, and help you collaborate with talented software developers.
Types of engagement models
When you decide to purchase a car, you don’t buy the first one you see, right? You consider its technical characteristics, size, and other requirements. You won’t buy a sports car if you live in the mountains or if you have a family of five, will you?
Come to the choice of an engagement model with the same approach, and remember that it is a responsible task. You’re not buying a new phone; you’re choosing a tech partner who will develop your software.
The first step towards deciding on the type of cooperation is learning about all of them, including their advantages, disadvantage, and who they fit best.
Also, consider the percentage of the project you will trust the third party with and what channels of communication you will use.
The first engagement model is the one we use most often in SoftFormance, and it is the one that goes beyond development.
When you choose a tech partner, you choose an agency that will work on your project from start to finish, help you develop your ideas, research the market, and provide advice on all aspects of the project.
Tech partnership is when your partner immerses in your business processes, and that is how they can develop a product that fits your needs and capabilities the best.
Tech partners usually consist of a team of experts from different fields: software developers, consultants, designers, UX experts, business analysts, projects managers, etc. These people have years of expertise and can provide quality knowledge sharing if needed.
How to find a tech partner?
First, consider your business capabilities.
Think about what type of service you need because there are full-cycle and part-cycle development teams. If you need help with one aspect of the project – design or marketing – a part-cycle agency may be your choice.
If you need help with a full range of services, choose a full-cycle agency like us. They will help you with product strategy and tech consulting, web and mobile development, UX/UI design, QA, and ongoing support.
Second, make sure that they understand your business objectives, not just the product you need help with.
Communication is also the key.
More than 56% of software projects fail because of communication issues. To not let this happen, ensure that you clearly communicate your needs and expectations to your business partner. Moreover, make sure that the dev team tells you about the process: the new features, the status of development, and data volume statistics.
The communication must be consistent, transparent, and cover all issues and achievements on a regular basis.
Talking about transparency, make sure that the development process is fully transparent, or else you will face serious issues.
At the moment of writing this article, 7 of 9 ongoing projects came to us from previous development agencies. They didn’t know in which phase the project was and what the next step would be because the process was not transparent.
The agency of your choice should provide a detailed working plan of the project, regular reports, and give you access to project-management apps and all the necessary communication channels.
A good tech partner is an expert in the field and has years of experience. Choose a partner that has an innovative approach, can offer creative solutions, and has been on the market for several years.
Finally, always ask your tech partner if they provide technical support because you don’t want to struggle with technical issues after the project is finished. A reliable tech partner also offers monthly support retainers; keep that in mind.
A broad scope of expertise
Technology partnership agencies consist of various professionals who will help you with all parts of the project, will be able to solve any challenges, and propose innovative ideas in design, business analytics, etc.
Communication and trust
The success of any project is in great communication, and with tech partners, regular and transparent communication is a must. When you choose a technology partner, you choose regular reports, feedback, conversations, and constant contact with the partner.
Analysis of business needs
Tech partners provide their clients not only with tech expertise and software development. They analyze your business needs and propose solutions that are well-optimized, more cost-effective, and suitable for your exact case. They care about the final product and its success no less than you do.
The more time and effort goes into the project, the more profitable it is. Since technology partners have an in-depth understanding of your business goals and operations, they put a lot of effort, time, and trust into the work. As a result, they deliver the most effective technology systems that benefit your business in the long run.
The lack of control
When you choose to work with a technology partner, they do their work independently. You don’t need to control anything. They take on your project and manage it from the very start, and that is why if you don’t have worked with IT developers before, it may be challenging to manage the tech partner’s work.
But if you find a good agency, you won’t need to spend with them more than 2-4 hours a week. All will be done on time, within budget, and with project scope and quality.
Sharing a lot of data with a third party
The success of your cooperation with a tech partner hugely depends on disclosing sensitive business information with a third party. It may sound scary, and it can cause serious problems if you choose an unreliable tech partner. But the key here is to make sure you trust your partner and know that the information will be used to the benefit of your project.
For example, we have access to our client’s software dashboards, payment gateway,s and all the necessary hosting options to help them manage their business and overall software processes. So that they can sleep well 😉
Difficult to find a perfect fit
Not all IT agencies will suit your business goals and your vision of the project. There are thousands of tech partners on the market right now, many of them with years of experience and talented experts on the team.
However, not all of them will fit your needs and requirements. It is important to find a partner who will understand your business goals, values, and the mission of your company.
When is a technology partner the right idea?
- When you need someone to work on your project from A to Z
- When you’re in need of the help of different experts: designers, developers, QA, product managers, etc.
- When you don’t have or need an IT in-house team
Dedicated team model
The other IT engagement model is the dedicated team model. Unlike technology partnership, this model offers partial help with projects, usually by teams outside of the country.
When clients choose this model of cooperation, they transfer only a part of tasks to a third party, either to cut costs of software development or to save time.
If you already have an IT in-house team who have proven their expertise and have successfully completed other projects, but you’re in need of some additional help, this model is for you.
The client may decide to manage the third-party team from their side and communicate with the team directly or employ a project manager.
At SoftFromance, we don’t usually work with this model, but it has a number of advantages that may make it a perfect fit for you.
Usually, the dedicated team model allows clients to predict their expenses and cust costs by hiring outsourcing agencies to develop their software. Outsourcing is not always a cheaper option, but it does allow you to control your costs and not spend money on office space, hiring process, benefits, and equipment.
With this engagement model, the scope is not clearly defined, and that’s why it is much easier to change requests at any time. Don’t worry; the team of developers is aware that your requirements may change, and they are ready to implement the changes. A dedicated team model offers high adaptability, and the team can reconfigure at any stage of product development.
When you choose this model, you get full control over the selection and management of the dev team. You know exactly what needs to be done, and that is why it is easier to find competent and talented experts to bring your ideas to life.
When you need help with a specific part of the project, you can choose experts who specialize in that field. This model allows you to find the best fit among the talented experts with years of expertise and extensive business knowledge.
Disadvantages of dedicated team model
Working with third-party developers is difficult, even if they are not from a different country. When you have to manage people across borders, the issues of language and cultural barriers arise. Time zones are also problematic: when you wake up, your team finishes their working day. These issues may create some communication and management problems for some business owners.
Crewing takes time
With a dedicated team model, you need to create a team by yourself, and it never happens in a day. Building an efficient team of experts takes effort and time, or else you won’t see any positive results if you don’t have enough time for crewing, then this model is not for you.
Not efficient for short-term projects
Since it takes so much time to build a team, it wouldn’t be wise to work with it short term. A dedicated team means that these people are willing to help you with longer projects, especially because the team needs to grow together.
When to choose this model, then?
- When you want to staff up your in-house team.
- You look for long-term cooperation and need control over the project.
- You have expertise in managing IT teams and third-party providers.
- You want to create an outsourced department to support your products.
With the dedicated team model, you choose the members of the team. With outstaffing, this is done for you by the outsourcing agency. Let’s say you lack Java developers on your team. This is when you turn to resource staffing and find an outsourcing agency that will provide you with the team of experts you’re looking for.
This IT engagement model is different from outsourcing, though. Outsourcing refers to the whole project support, while outstaffing provides hiring and maintenance of individuals.
With outstaffing, you don’t need to employ the experts or provide them with workspaces, benefits, equipment, etc. They are already employed at their agency, and they are here to help you short-term. This way, you have full control over their activity.
Outstaffing allows you to quickly scale a team up or down. If you have an in-house team of developers but need extra resources, outstaffing is your perfect fit.
You are in full control of all the processes and employees’ performance. Unlike the dedicated team model, your Project Managers manage the developers, so you don’t have to worry that some aspects of development will go out of hand.
With outstaffing, you don’t need to spend money on administrative expenses. You can find an outstaffing agency that is perfect for your business size and budget and avoid any extra costs.
All the project management is happening on your side. That’s why your task is to provide the team of developers with as much information about the project as possible and constantly control the development process and the quality of their work.
Different time zones with your dev team can lead to a missed deadline. Who would want that? Yet, it’s a price many business owners pay when working with external teams. The key is to find an agency with proper development and management process and has at least 1-2 hours/day overlap with the team.
When do you need outstaffing?
- When you need extra resources but have no time to close the position.
- When you need an expert to work on the project full-time, but only for this specific project.
- When you need help long-term but not on a full-time basis.
How to select the right engagement model?
Now, what do you do with this information? You know that there’s no universal engagement model, and it makes it even more challenging to choose. To make this process easier, consider the following questions that will help you understand your expectations and business needs.
Do you have an in-house development team? Are you looking for an extension of the current team because you lack resources? In this case, consider an outstaffing or dedicated team model.
Do you need help with the entire project and help from an entire team of experts? Technology partnership is your best fit, then, especially if you are starting from scratch.
How much money can you invest in software development? Do you have a tight budget? Is your budget fixed, with a few extensions? Then, choose to outsource as it allows you to control costs more and save money spent on hiring employees, benefits, and equipment.
Do you have a new idea that you need help developing? Are you ready to trust a third party with new ideas development and guiding you through the next steps? Choose a tech partner, then. Their team of professionals will help you with any aspect of the project and will bring your idea to life.
Do you have a clear plan of action and a set of tasks? Then, consider outstaffing a part of your project to a remote team that will follow your requirements, and you will be able to control the process.
Do you have no prior knowledge of working with development teams and won’t be able to manage their work? In this case, you should consider technology partnership and not worry about management at all because everything will be done by their team.
If you do have experience in management, an outstaffing or dedicated team model can suit you. In any case, you can always get a project manager involved.
Scope of work
Think about the size of your project. How big or small is it? Do you need to create an MVP or an entire project from scratch? You don’t want to choose the outstaffing model if you need help with an entire project. This should be handled by a tech partner.
Do you want to be constantly engaged in the project and manage the teams and all the processes yourself? Or are you ready to trust the team and only receive regular reports and feedback?
Before choosing an engagement model, set your priorities straight. Think about what is your number one goal for you. What do you want the development process to be like? Is communication important? Maybe delivery on time, regular reports, or budget-friendliness?
Thinking about your priorities will make the choice of engagement model so much easier. When your needs are defined, you can cast aside any models of engagement that don’t suit you at all and choose between two or three of them.
If it still seems like there is no perfect option for you, and everything seems off, try contacting the most suitable vendor and negotiating. Perhaps, you will come to a mutual agreement and work together.
It is also important to remember that all of the business engagement models can have different budgeting structures, which we will cover next.
When a client and a development agency agree to work together, they create a contract that covers how the costs are structured. This is what we call a budget structure. Usually, the cost of the project depends on the type of contract and the chosen budget structure.
There are three main budget structures for software development projects: fixed price, time & material, and cost-plus.
And you can combine them with different engagement models.
This pricing model presupposes thorough planning and strict terms and conditions of the agreement. Everything is defined in advance: time, task scope, budget, materials, etc. This way, the client pays a fixed price for the project, and the development team cannot charge extra for anything without the client’s approval.
If the team does need to make some extra changes, such as add-ons, new features, or new services, the client and the vendor make additional agreements.
Usually, you prepay the development in 2 weeks sprints and half-project upfront, a half project in the middle of the MVP/MSP development.
Advantages of fixed-price pricing model
Fixed price budgeting is always about a clear plan. Everything should be defined in advance, the scope of work should be written down in detail. This allows the developers to follow the plan and rarely forget something, which happens if there’s no clear plan.
Easier to manage
With a fixed price model, you hand over the project to the developers, usually a tech partner, and can focus on other business activities. Since every step of the process is defined, there’s rarely a need to constantly check how everything is going, control the process, and answer a million questions.
Low financial risk
You pay what is mentioned in the contract. This budgeting structure won’t wake up one day and see that the vendor has overcharged you and you have no money left to pay the developers. You know the cost in advance, and you can be sure that the price won’t change.
Predictable and transparent
You have a precise budget, deadlines, and every aspect of the project defined and written down in the contract. You don’t have to expect any surprises and sudden changes to the process.
The very word “fixed” does not presuppose any flexibility, right? Sometimes, the projects turn out to be a little more complex than expected, and you need to change or add something ASAP. That’s one of the main disadvantages of this model. It allows little to no flexibility. Changing something is usually expensive and time-consuming.
No matter how detailed and well-explained your plan is, there’s always a possibility that someone doesn’t understand it. That is why it is still important to communicate with the agency regularly and check if they clearly understand the task and the requirements.
Time & Material
This budgeting model means that you pay for the time and materials spent on the project. You don’t pay for the entire project. You pay for the tasks completed and the changes made. Unlike the previous model, this one is not fixed, and it offers a lot of flexibility.
Usually, you pay for invoices at the end of each month based on spent hours or days.
When clients choose this budgeting structure, it allows them to begin work on the project immediately and adjust the development process according to their business needs and capabilities.
Usually, smaller projects start as Fixed Price projects and then move on slowly to Time & Material after public release.
Fast project start
Time & material allows the client to start working on the project as fast as possible because there’s no need for planning, estimating costs, and thinking about deadlines and changes.
This budget structure is incredibly flexible. Since you don’t pay in advance, you can make changes at almost any stage of the development process, improve the initial idea, and add or subtract some features.
With this model, you can always control the process and learn about what the developers are doing. You’re free to suggest changes because there are no strict conditions and defined tasks or deadlines.
Even though having control and being able to stay engaged in the development process is a plus, sometimes it’s just too much. When you choose the time & material model, you agree to communicate with the vendor almost 24/7. You will be expected to be constantly involved in the process to review the progress, approve changes, and control how the tasks are completed.
Low budget planning
With this model, the prices aren’t fixed, and you can’t just pay a certain sum of money and forget about other expenses. With time & material, it is quite hard to predict the final cost of the development because of all the changes.
No clear deadlines
Just like with money, you won’t be able to predict how much time the development process will take. There’s no well-defined and precise scope of work and no plan. Thus, deadlines can constantly shift.
If you have chosen outstaffing as your preferred IT engagement model, it will most probably involve cost plus budget structure.
What is it?
When you start working with outstaffed developers, you pay them wages plus all extra expenses that can occur during the development process, as well the contractor’s fee. At the end of every month, the outstaffing agency sends you a report with all the expenses and a detailed explanation of why they were needed.
These expenses can include the team’s wages, management costs, and even electricity bills. You never know. But this model is incredibly transparent. You always know what you are paying for since every detail is written down in a monthly report.
In other words, you pay for the process compared to the fixed price where you pay mainly for the results.
The cost-plus model presupposes fewer expenses than a fixed-price contract. With the fixed-price model, vendors often charge more to cover the risks of higher material costs. With cost-plus, you pay only for what is actually needed and used, nothing more.
The cost-plus model involves monthly budget reports with a comprehensive breakdown of all expenses. You won’t have to worry that your money is vanishing and going nowhere because the vendor will explain where every cent is spent.
Long project timeline
Constant changes, additions to the projects, and new expenses can make your project timeline much longer than expected. This contract takes longer to conclude than other types of contracts.
The total cost is uncertain
If the budget isn’t fixed, the total price of the project is always uncertain. This can put extra pressure on you since you can’t possibly predict how much money you will have to spend. If your budget is limited, this model may not be for you.
And usually, a project will generally cost you more. You pay for the process and not that much for the result. Management is on you and it all depends on how you’ll manage things.
A lot of documentation
This model presupposes a lot of documentation, and we mean a lot. Not every client agrees to work with so much documentation.
Reports, resources allocation, inventory management, and main assets… This all takes a lot of agreements and documents to regularly review and update.
Our approach to the engagement process
At SoftFormance, we use the technology partnership model and choose a fixed price or time & material as the budget structures.
Our clients usually come to us with the request to work on their projects from A to Z and offer support after the end of the project.
Most of our client projects are long-term: from 6 months to 6 years.
We have been tech partners hundreds of times. For us, our client’s idea is the top priority, and we never give up on it. We believe that a tech partner should be loyal, reliable, and not afraid to face challenges and innovate.
For one of our last projects, CoursPi, we created a backend for a French remote school. It began as a fixed price for nine months with a budget of 70k. Next, we changed to a planned time & material model with monthly budget restrictions and support retainers.
Now we have a dedicated team on that project working via monthly support retainers.
We have also worked on a very ambitious EdTech project a couple of years ago.
We created a whole new team to work on it. It consisted of a Busines Analyst, a Project Manager, 2 full-stack developers, a UI/UX designer, a frontend developer, and a QA specialist.
Our goal was to offer full support for our clients and work on every aspect of the project from start to finish. As a result, we launched the project in 6 weeks, and it cost around $29,000 instead of the previously estimated $32,000.
Now we work on adding a mobile app, more AI/ML components, and custom dashboards for management staff.
As you can see, each project is unique, and we can adapt the budget structures to your needs and capabilities.
At SoftFormance, we focus on a number of domains, mainly:
- Digital marketing
No matter the domain, our approach remains the same: we work on the projects from start to finish, take full control over all of the processes, and provide maintenance and support after the project is finished.
We provide a 6-month bug-free guarantee after the launch and offer full-time, half-time, or part-time uptime guarantees.
As you can see, there are multiple engagement models and budget structures. The key is to choose the one that would benefit your business goals the most.
Do you already have an in-house IT department and CTO? Do you need additional resources and more control over the development process? Then outstaffing and a dedicated team model are for you.
Do you have a small growing business that doesn’t have an in-house development team? A wise decision would be to work with a tech partner and let a team of experts develop and support your projects all the way, including all management processes, product strategy, and maintenance after the launch.
If that’s your case, you need an agency that offers a technology partnership engagement model.
The choice of the model and budgeting depends on your expertise in IT, business capabilities, and your desired level of engagement in the process of development.