Partnership with IT outsourcing companies is an internationally recognized approach for efficient software product development. Experienced vendors are ready to cooperate with companies of all sizes from around the globe to help them extend the potential, all while reducing the costs of the tech departments. IT service providers can deliver solutions of varying complexity from straightforward mobile or web applications to digital ecosystems with AI-powered digital twins integration and insignificant involvement of the in-house tech team.
According to Statista, the global outsourcing market amounted up to $85,6 billion in 2018, while the total expenditure on the IT sector reached $3,7 trillion. The numbers look impressive, don’t they?
Why should business stakeholders consider liaison with outsourcing companies?
Outsourcing turns out to be an efficient solution to a significant number of companies as they start to contract out recruitment, marketing, data analysis, accounting, and management processes. Custom software engineering has reached its height of popularity across all the services because it helps to:
- get access to the intellectual capital and best resources;
- minimize costs for full-cycle product development;
- free up internal resources to focus on the core business;
- solve capacity issues and boost productivity;
- improve the overall quality of the product.
Every company can count on these benefits when hiring IT outsourcing services. However, when business owners are looking for a vendor and choose among several candidates, they can easily get to the Iron Triangle trap.
What is the Iron Triangle and how does it work?
You may have heard about the Iron Triangle before, while sometimes managers also call it a ‘Triple Constraint.’ Initially, the Iron Triangle concept presents three essential components of a project — Scope, Cost, and Time. All these elements establish the product’s quality. So to launch a functional product business needs to define the scope of work (SoW), set the deadline or create a timeline with essential milestones, approve the cost from the vendor, and outline the quality acceptance criteria for the product they expect to get. To have the Iron Triangle explained, we need to mention that its fundamental idea is to keep things balanced. The changes in one of the constraints are immediately compensated in others, and consequently, the software quality suffers.
For instance, it is no secret that most companies are looking for cost reduction. The IT outsourcing vendor did the estimation of the Scope, and the client wants to develop their product at a lower price. If the outsourcing software development company decides to involve less experienced application developers at a lower rate, the quality will go down. If the client wants to keep the software quality at a high level, then they should reduce the Scope and ask the vendor to re-estimate the project. In other words, the company and the IT outsourcing vendor should keep in mind the balance between Scope, Cost, Time, and Quality.
The process of collaboration with the contractor can be fascinating. Over the last few years, companies have found ways to overcome the main challenges associated with different time zones, mindsets, and stages of involvement in the product life cycle.
Dashdevs outsourcing company operates on the market of custom application development and fintech consulting services since 2011 and 2015, respectively. Over the years, our team built hi-tech products for leading companies from different business domains, consulted clients on various issues, and supported with Research & Development experience. We have established five rules for successful collaboration with IT services and solutions providers that help to keep the balance within the Iron Triangle.
#1 Business needs come first
Remote and distributed teams are working hard to write hundreds of lines of code. A big commit to the repository is the most valuable input from such a company. However, the lines of code don’t solve the business needs itself. I have never heard a story of a company becoming an industry leader thanks to 1 billion lines of code, have you?
Success stories of market front-runners are based on the ways how they approach and solve actual problems of their users. For instance, the commercial client defines the way how they want to help their customers and what benefits they want to offer. They estimate and evaluate different approaches and strategies. That’s why, for the vendor, the business needs of the client must be in the first place. The software product is just a tool.
Our approach: At Dashdevs, we solve this predicament in the following way. We start the process of product development only if we understand the market and business demands. Despite all the experience we have in creating digital products, sometimes we get requests from markets/areas representatives that require additional knowledge from us. We investigate the market, competitors, technical approaches, and substitute applications. After the investigation, we may ask for the workshop with the client to synchronize our understanding of the market. With such an approach, we understand the needs of the customer company better. It is also essential to have an additional meeting with the representative of the C-level to define the goals, manage expectations, and agree on the deadlines or checkpoints.
Talking about the Dashdevs corporate structure, we’ve created the Product development department that includes technical product owners and business analysts who can become a technical product team for the customer. They have the necessary experience in the development of various products.
Our recommendation: Don’t be afraid to speak with the outsourced development team about the strategic plans and business needs of the company. As a result, they may come up with unique solutions and suggestions you haven’t even thought of. Such communication can keep your Iron Triangle balanced, especially on the Scope.
#2 The responsible for the product
The responsibility for the software development process is distributed between all the people within the team, such as developers, software quality assurance engineers, DevOps specialists, and managers. Sometimes you can face a situation when something is done incorrectly or doesn’t work properly. However, you can’t find out the reason why the team doesn’t want to fix that. The most common cause is that the solution should be implemented by the mobile application team or backend engineers. As a client, you want to get rid of the bug and make your app work correctly. But software developers are holy warring and shift the responsibility to others. The process mentioned above can be endless.
Our approach: Dashdevs decided to use a different strategy for development. We have two responsible positions for the product - the technical product manager and the delivery manager. The key requirement for both roles is to have an IT background since these positions suggest a deep understanding of the development process. A technical product owner is a person who understands the product and business requirements. They know what must be developed and why the product follows this way of solving end-customers needs. A delivery manager is a person who is responsible for the product to be produced in time and with the specified level of software quality. This person needs to understand technical requirements and challenges, create architectural solutions, mitigate risks, and synchronize different teams. Depending on the size of the software ecosystem and the clients' team, both roles can exist within one project.
Our recommendation: If your company wants to develop a hi-tech digital product and you have no experience in software engineering in general or for a particular niche, it is better to hire an augmented team with a product owner and a delivery manager. If your team has an active product owner and visioner on your side, use the delivery manager to help you manage the processes across the development team. It allows you to concentrate on the general product implementation and not on the particular software development processes. Such an approach may also help the business to control the Time constraint in the Iron Triangle model.
#3 Agile product management for every client
Every business has different expectations for IT outsourcing vendors and different requirements for product development. The various team sizes require different approaches to the process of software development management. Some companies want to have augmented development teams who execute their requests precisely. Other companies need comprehensive product teams that understand the global goals of the company and are ready to build products from scratch. Such a squad must be self-organized and be able to run effectively without control.
Our approach: We had experience with pure Scrum and Kanban methodologies for custom software development, however, we quickly realized that they didn’t suit our clients and us. Currently, we are using the iterative agile development approach that depends on the needs of a particular product at a specific moment. We have experience in developing small projects and enterprise systems. We always take an individual approach and suggest convenient schemes to our clients with reasonable ceremonies that meet the level of the software developers and can improve the quality of the software we produce.
Our recommendation: Don’t stick to the Scrum or Kanban approaches if they don’t suit your processes and business rhythm. However, the company needs to be predictable and open to the requirements of the team. In the first meeting, the business needs to establish rules for the processes and agree on the procedures. The approach to the software development cycle unites Scope and Time in the Iron Triangle.
#4 Team hiring and firing
Our approach: At Dashdevs, we don’t hire people for a specific project. We recruit people to our team, and only after that, we assign them to the project. We have a variety of engineering resources that have experience in different areas. Some of our projects may have more specific requirements for the devs, so we can additionally hire them, but after the project ends, the person stays with the team. That’s why our qualifications for the candidates are high, and we’ve created our internal recruitment department that can always find the best candidates in the market. Such an approach to hiring simplifies the exchange of resources between projects, for instance, if a software developer doesn’t suit the project level or they burn out. At the same time, we have strict rules about the quality of performance. If an employee often fails on projects, we can dismiss the person to avoid low performance. The dismissal process becomes essential if you fight for the quality of the products. Dashdevs has strong corporative values with a result-oriented approach.
Our recommendation: Time and Cost on the Iron Triangle are connected with the product development team. However, when you outsource, the hiring-firing problems become the vendor’s headache. So select the company that is good in both directions and can provide you with the best resources.
#5 Cross-industry experience
Our approach: “Blue Ocean Strategy” is a well-known book by W. Chan Kim and Renée Mauborgne that emphasizes the value of cross-industry expertise. We share the same vision, especially when we talk about outsourcing solutions companies because, in this way, we can bring more value to the digital product. For instance, we had experience with loyalty programs, messengers, and cryptocurrencies before the client came to us with the idea of the crypto-messaging application. Consequently, we knew how to execute the concept from the first moment.
Working in different markets and with different types of applications allows us to mix features and approaches. Our product team can create a powerful digital system based on the vision and objectives of a business owner. The Dashdevs strategy is to be a cross-market company with different clients.
Our recommendation: Leverage the cross-market experience for the more efficient development of your product. Even in the early stages, you can discuss the realization of the features with the development team. Designers need to know what are the technical requirements and limitations since the same problem can be solved in several ways. The more rich experience the team has, the more sophisticated solution paths they can suggest. Use this advantage to keep up the Scope item of the Iron Triangle.
Collaboration with outsourcing IT services companies can help businesses develop functional digital products time- and cost-efficiently, whereby take top spot in the market. And more importantly, companies should select IT outsourcing vendors with similar values. The outsourcing of the product team grows into one of the main trends of 2020, thus emphasizing on the quality standards of IT service providers. Each year they bring improvements to the development and communication processes, all while pushing the tech progress with incredible speed.