The nature of IT companies
The forces of the market shape what business models flourish and which perish. Think survival of the fittest: the companies most adapted to their environment win. Selection pressures are organically applied by the market to the business sector, filtering out the wheat with the chaff.
Three major patterns emerged from the IT sector regarding business models for companies: pure outsourcing-oriented, service-oriented and product-orientated. Of course, these three models that we’re going to get into are broad models; the rare company might use something different or maybe even a combination of two of them (like Mobiversal).
Pure outsourcing-oriented companies
The pure outsourcing model focuses only on the development stage (be it programming, design, etc.), from the process of building a product. Outsourcing means externalizing a part or whole tasks (any task, even things such as accounting tasks).
In the IT sector, companies that follow this model provide clients with just the necessary manpower to code products. Usually, the client has a specifications document already written, the design is done and a project manager is also provided.
Basically, they cover the whole development process, so that everything is in place for the programming phase to start. The client is responsible for the vision, the decisions and every other aspect that needs executive action. Developers follow closely the instructions of the documents provided by the client and the project manager, while every issue is decided by the client.
The basic principle behind this model is “rent-a-coder”. For an agency involved with developing projects, this model can be one of the most detrimental of them. Each developer you have gets paid a certain amount of money per hour worked.
From that amount, you have to pay for his salary and some fixed office costs (such as rent, sick leave, maternity leave, etc.) and the rest is pure profit. The only way you can scale your business is linear, by employing more and more developers.
Not only that but putting a price on a developer’s time isn’t always the best approach. The pure outsourcing model has commoditized software development: you can set a price on it of plus-minus $X.
Which is the same with, for example, wheat. Wheat is a good analogy, in that it too has a standard price on the stock market and depending on different factors such as humidity and price fluctuation, the price per ton gets altered.
Just like the price per hour of a developer. Now, you can try to periodically raise the cost of hiring a developer, but there is a global market cap that is highly competitive and does not leave much room for negotiation.
Now, the crux of the matter here is that even though the market dictates the price of a developer, it is said that an excellent software engineer can be even 20 times as good as a mediocre one. It’s difficult to set such different tariffs per developer and pitch their value to a client.
Think of it like this: Imagine the late great Picasso and a 5-year-old girl. You tell them both to paint a picture of a tree, and you set a deadline of two days. Chances are the differences between what Picasso and the little girl painted are indescribable. This is why the better talents of great software engineers reverberate best in a product-oriented company.
With the outsourcing model, you don’t get to grow your own brand, you only get to help others grow their own brand. The most you can grow is a “worker commodity” brand, in that you get recognized as a great worker, so people with tasks that need to be done can come to you (a.k.a increasing your reputation).
Exponential scaling is out of the discussion, only linear man-month growth. Moreover, there is no freedom in taking technical decisions because you only fulfill a small role within the grand scheme of the client’s business. Lastly, you get to depend on a few big clients, that form your revenue stream. If one of the clients decides to take their business somewhere else, then your revenue stream takes a hit.
Mobiversal started as a service-oriented company until it started developing its own products on the side. Now, it’s business model is product-oriented combined with services, on which we will touch on in the next section.
Service-oriented companies
The service-oriented model gives more leverage and creativity to companies, as opposed to the pure outsourcing model, by the simple fact that the outsourcing model generally sets a price per hour and the developers are “rented out”, whilst the service-oriented model usually has a flat fee per project, hence the higher creative leeway.
The company employs specialized professionals which provide consultancy to clients, with the differing factor (from the outsourcing model) being that besides coders, there are also business analysts, scrum masters, designers, etc.
These specialists come in the aid of clients and help them understand the different needs of the business, write the specifications document, provide guidance to the designers, construct the architecture of the product, etc; these are just a few of the services they provide.
Sometimes, even the product management and ownership are done at the agency, meaning that agency employees assume the responsibility, vision, and timeline of the product.
The main objective of such companies is to provide complete solutions to clients, not just the programming/design/etc. part. This is also what the agency-side of Mobiversal does, as it is a sustainable and successful model that not only makes use of smart and creative people building complete software and product solutions but also raises capital that can be further invested in the development of the company’s own products, which further grows our own brand. Which in turn aids us in our cause of developing products that people will love to use. It’s a win-win for everybody.
As opposed to the outsourcing model, there is much more leeway and autonomy when it comes to making decisions. Not only this, but the pricing is much more flexible, because theoretically in time, if you have skilled people at work you can have higher return values and better workflows that are included in the final price of the service – which means that there is a suite of services that are bundled into the contract, not a single one like when outsourcing.
Having a suite of professionals who provide consultancy besides specialized work, can also raise the quality of the product since the experts involved have at all times the whole picture in mind (as opposed to the outsourcing model, where people bother only with their slice of the pie, i.e. coding).
This article is a snippet taken from “The nature of IT companies”, which is the fourth chapter of our book, From A to App Success: How to turn ideas into apps that make a difference.
The rest of the chapter gets into the third type of IT companies, product-oriented. You can download the book for free by accessing our site here.