This is an English translation of Serhiy Berezhnyy original article with the working name ‘outsourcing vs product’. Syndicode recently found his thoughts on the topic ‘why not every company able to develop a product’ quite reasonable. Moreover, this opinion shows why we have such situation in development when many unicorns fail. So we decided to deliver this utmost useful material for the English-speaking community. We called it ‘Why not every company able to develop a product. Outsourcing vs product’. Enjoy!
Why not every company able to develop a product. Outsourcing vs product
There is the battle between product development companies and employees of outsourcing companies. And it will not stop, at least in the nearest future. You could hear the disputes between two groups of IT specialists (different in size but equally important) that are very similar to disputes between Apple’s and Samsung’s fans. Probably nothing wrong with that. But instead of confessing to love for one of the approaches, let’s try to deal with facts.
Once Serhiy Berezhnyy was a co-founder of a product company and managed to make many mistakes. Then he worked in the outsourcing company and used to constantly switch between two types of companies in search of a golden middle between approaches. For now, it’s almost a year since he had been monitoring the integrated focus of a product approach in development. So there are some conclusions he likes to share with the community.
Why every company dreams of the own product?
Let’s start with the fact that the Ukrainian community of developers is formed by outsourcing. Most of the Ukrainian developers are still working for outsourcing. But it’s a bad thing that a soldier doesn’t want to become a general, and the bad programmer who doesn’t want to create his own product and become a billionaire once. It is a natural desire to create something big and potentially popular.
Why every company dreams of the own product? The popular example of the explanation is the classic mistake of the survivor. The history is written by successful people, who are often just lucky. They don’t really often recognize this fact and see only their hardworking that ‘helped’ to reach the success. The product gives us scaling and quick profit. Therefore, everybody wants to create an analog of a Snapchat.
Outsourcing is a service business that always scales only by size. Growth in outsourcing is needed only to handle ten times more customers. Sometimes it requires 10 times more people, and sometimes even 12 times more because the scaling is nonlinear in this case. However, for the developer, this is not the main thing.
What motivates developers to work in product companies? These are two quite attractive things: money and fame. It is more pleasant for the programmer to carelessly notice that he is an employee of, let’s say, Facebook than to explain why it is cool to work on an outsourcing project. Service companies themselves are rarely famous, and with a successful product, it is quite possible to share success. It does not matter how interesting or boring is the work of the developer who participated in its creation.
In outsourcing companies, the sense of belonging and participation in the work results is less common. The need for this sense of belonging and participation is the core idea for internal startups and incubators since they do not leave dreams about the product.
Switching from outsourcing to product
If we want to migrate from a service company to a product approach, then we should understand that it’s the absolutely new business for us. The team will need the other motivation and there will be other requirements for engineers. Everybody from the CEO and project managers to developers and QA should understand how the product will earn money.
Relations between software engineers and business are built in different ways. Outsourcing companies usually have many levels of managing processes protecting developers from thinking about business aspects. The product approach puts them at the cutting edge of communication with software users. As an exception, we have Booking where are no testers and managers at all to decide release or not. It doesn’t look like the traditional service model.
The new feature here can be delivered with the single line of code. Simply because the code first goes into the rotation of AB tests with millions of options. The main parameter is the conversion of orders. If new conversion of orders with a new feature is higher, then the robot begins to increase traffic. If it’s lower – the robot removes it from the rotation, and the author’s idea marked as the fail. So here business indicators become a measure of decision-making. You know, inactivity often turns out to be a better strategy than writing an inappropriate feature.
Now imagine that you are the owner or CEO of the coffee house. For some reason, you decide to outsource development of the IT system for your business. What information should you give to the executives so that the business remains effective? ‘Business vision’ and ‘the target audience’ are the two main things about your company. You know who buys your coffee and what motivates them. Also, the reasons indicating that the product should be adjusted or changed should be provided.
In order to succeed in developing we need to answer the two key questions:
- Who and how can determine whether a successful project or not?
- Who will ask if the project has been successful?
If the service company doesn’t have people able to answer these two important questions – there is no product approach in the company. To be honest, not even real product companies can always answer. But, of course, it shouldn’t be that way.
The coffee house is the business we can understand. In IT we create innovative business products not always understandable. And it’s hard to consider business indicators here.
What is worse, the feedback loop for the products we create is very long in most of the cases. In the big online games, the feedback loop is already much longer than it was at launch. Users do not leave immediately if they are bored. They begin to squeeze out step-by-step, and the drop in engagement is expressed in percentages of interest at first. And you need to understand if this is a seasonal phenomenon associated with external factors, or it is a matter of your mistake.
Outsourcing companies are great in the technical part, but they often do not know how to keep track of business. At the same time, most clients who access them do not have the direct relationship with IT. The clients, in fact, not really imagine how to monitor their own high-tech product from the point of view of the business.
Getting down to business
Nothing wrong with not making the products yourself. Outsourcing is an important and honest business. The point is, only evaluating your product from the standpoint of product management, you can understand the optimal solution that can lie outside the software development.
When you create a software, you pay the most attention to architecture, reliability, functionality, etc. But when you create a product, you start paying attention to time. As a rule, the project manager considers the work completed when the tasks are closed and the required quality indicators are achieved. For the product manager, the quality criteria are equal to business indicators. From this point of view, you understand why the MBA program includes finance or marketing.
Switching to product development looks attractive mainly because it opens the global market. If you are offering the high-end IT product it doesn’t matter where you’re located: in Ukraine, Kenya or China. If your offer is a service, there are a number of limitations: language barrier, time zones, etc.
(Btw, Syndicode can argue with the last author’s statement about limitations for the outsourcing companies. You can find out our opinion in the article about outsourcing marketplace development).
Outsourcers have long been able to prepare a good technological base. They used to solve problems through the software development. The bigger your company is, the more difficult it will be to change the common approach.
It is impossible to develop the products without understanding the business. If you’re planning to start product development you have to teach this all the people you plan to take in product development. Physical relocation for the newly formed team can really help.
We hope you enjoyed reading! If yes, you can subscribe to our weekly newsletter and receive all the most interesting updates right into your mailbox!