Hi! I work as a solution architect. It means I choose a technology for our clients on a regular basis and I have to prove them(or, 'sell') in front of Directors and VPs of Engineering. I would like you to know how to do that as well.
What are the CTO's concerns?
CTO is a Chief Technology Officer. Mind the first letter of this title: Being a C-level person makes CTO a manager in a first place, not an engineer. That shapes what this person is concerned about.
Product success on the market
The CTO considers the technology from the product perspective. The users expects the product to solve some problem for them, or ease their pain. The technology should allow to do that in a first place. CTO will decide if a particular technology fits that need.
Communication with C-level colleagues
Aside from CTO, the C suite of the company typically has a Chief Executive Officer(CEO), Chief Financial Officer(CFO) and others. Those people are not technical. Thus, they will have questions on how the things work in their product, what are the limitations and what are the options in different situations. CTO is the person to consult them and explain complex technical aspects in simple words.
Launching new products
The companies grow and launch new products. CTO's concern here is how the technology enables the company to do so. For example, if you have a mobile application, how easy is to create a website? Can we launch a desktop app as well?
Hiring and people growth
The products are not made by themselves. Instead, there are people who develop them. The company hires those people and puts their best effort to retain them. The company is also interested in people growth, both technical and career-wise. CTO is responsible for hiring and growing the people in the company who work on the technologies in the company.
Development efficiency
The CTO should also consider how efficient the people are. He/she tries to be sure there is a full toolset for them from static code analysis to some advanced performance analytics and monitoring. It is also important to have proper IDE, the set of libraries and so on.
How to sell technology solutions
People do not buy technologies or products. They buy a way to solve their problem. CTO is no exception. He/she just buys a solution for a specific problem.
It may happen that the CTO is not interested in what you are going to tell them because of the politics in the company. It may happen CTO is only concerned about their promotion and that's it. In such cases no matter how right you are you won't be heard. This article ingores the political games completely.
Tell a story
Generally, in order to sell a solution you need to go through a set of steps, or tell a story. Our story should begin somewhere: in a development department. Then we need to understand what we do and what is our problem. Let's say we deliver value through a mobile application. But we struggle: the development goes slowly and with a relatively high price. So, we need to do something, let's say move to a cross-platform solution. So, we will save the cost and decrease time to market. This is our prize.
You can take this step sequence as a base for your presentation, it works well, I guarantee it.
Speak in terms your audience think, not yourself
Story is a good ground to base your position on. However in order to convey it properly you need to use the language that your audience understands. What our CTO thinks about? What are his/her concerns? We found that out in the beginning of this article: product success, development efficiency, hiring. All those items should be measured in terms of time and money. Those indicators are straightforward for the CTO, so you need to use them for argumentation.
Show alternatives, not a single solution
The cases when a single problem in technology has a single solution are extermaly rare. And your CTO knows that. If you pitch a single solution, you will be pushed back immediately with a single question: what are the alternatives? So, do your research, find out the options.
Speak sincerely, show downsides and risks
I am not aware of any single silver bullet technology. That means, that every software comes with the list of pros and cons. CTO should have a feeling he/she can rely on yourself. Speaking sincerely and not hiding any details creates that feeling. Also CTO should be aware of risks, which the new technology will bring nonetheless. Provide a prioritized list of risks with a mitigation strategy for each of the risks.
Calculations
Given all the listed above, we need to make one conclusion: you need to show a benefit of a new technology for your company in a clear, related and understandable metrics for your CTO. Those are the money, time and new opportunities.
The problem you may face is that you don't know the numbers. You don't know your colleagues compensation or a compensation of the professionals with your target technology skill. It's alright. First: try to get some open data in Glassdoor or other similar resources. They obviously will not give you a perfectly correct picture, but rather an order of magnitude. Second: you can always tell that numbers are approximate, and you will need the data from the CTO to make the correct calculations. This will be a great starting point.
Now it's time to find out some formulas.
Current Cost(CC)
Cost of running the solution is always consists of 2 ingredients: people's compensation and license costs of tools for those technology. Although, you may not know the exact compensation, you can use market data. License cost can be asked right away in case you don't know it. Those are OPEX: operational expenses.
New Solution Cost(NC)
Grab the same data for the new technology. You will definitely require some research, but it is highly valuable data and one of your strongest arguments. And the argument of your CTO. Also, this is a future OPEX as well. It is highly desirable for you to have this cost lower than the cost of the current solution.
Migration Cost(MC)
You won't be switching the technology in one day. Instead the company will go through a transition period. This is a CAPEX: capital expense. It means it is a one time payment, and you should account for it. In general you need to have a timeline of the migration. Then it will be relatively easy to convert it into the money.
Development Velocity(V)
This is the amount of features you ship with the help of the technology. Story Points are widely used in the industry and can really help you here. Those points are accessible for example in Jira reports.
New opportunities(NO)
Try to roughly estimate the revenue for the new products you can build. It will be extremely hard to estimate correctly, however even the attempt to do so gives you points.
Risks(RC)
This is higly important one. You need to calculate the cost of all risks which the new technology brings. And I will show you how right now.
First, write down the list of the risks. Say, you will not have the developers on the market. Or there are missing libraries and tools for those technologies.
Second, come up with the mitigation strategy. If there is no library for a particular use case, how much will it cost to create your own? If there is no quality check tool, how much will it cost to fix the bugs? And so on.
Then, the risk might or may not realize. You won't always be able to know that in advance. So, you need to put a probability against each of the risks. Multiplying it with the mitigation cost will give you a risk exposure. Having those, you will be able to calculate the cost of all the risk with the formula:
Final Formulas
New running cost minus old cost plus benefit of the new opportunities should be greater than cost of all risks and migration cost.
Price of feature with new technology should be less than the price of the same feature with old technology. Or the velocity should be greater than with old technology with the same headcount.
Example
Let's say we are doing a mobile app for Android and iOS using Kotlin, Swift. A typical picture nowadays. And we, as developers would like to use Flutter for it. How do we sell this idea to our CTO? Let's follow the principles above.
Alternatives
Aside from Flutter, we can use React-Native, Xamarin and Kotlin Multiplatform. I already have an article which compares Flutter and React-Native. I also plan to write a "How to choose a cross-platform technology in 2021" soon. If you have the link active, it means it is already available. Otherwise, stay tuned!
Flutter - Native Comparison
As a developer you will likely think in development terms. As I mentioned before, you need to translate the terms into the language clear for CTO. Here's a table:
Developer | CTO | Pros or Cons |
---|---|---|
Short Feedback Loop | Velocity | 👍 |
Crossplatform | Lower Cost | 👍 |
App Stability | Increased user retention | 👍 |
Dart | Hiring issues | 👎 |
Dart | Lack of tools and libraries | 👎 |
Technology age | Velocity | 👎 |
Current Cost
So, we have 2 developers per platform, a mobile lead, 2 QA persons. Let's assume, everybody is paid $100,000 per year. The instruments are free, as we use Android Studio and XCode. It gives us (2 + 2 + 1 + 2) * 100,000 = $700,000 per year.
New Running Cost
With Flutter we are going to have 2 developers in total instead of having 4. We will still save the Mobile Lead position and both QA engineers. So, the cost will be (2 + 2 +1) * 100,000 = $500,000 . Looks like we may save $200,000 per year!
Velocity
From the market experience, we know that Flutter may give a 2-3 times increase of velocity per platform. As we reduced the developers head count already, we may count that the velocity will stay the same at the end.
Future Opportunities
With Flutter we can create a web and a desktop apps. Let's say it will give us an additional $200,000 benefit a year from users coming from a new channel.
Risks
We have the following risks:
- There are no existing libraries for some use cases
- There are no tools(say security scanners)
- There is a lack of seasoned developers for Dart/Flutter
- There will be technical issues during development
The risk exposures highly depend on a particular project. For simplicity sake let's say we have a 20% probability for each risk and the mitigation of each of them cost us $100,000. Then the total risk exposure should be 4 * 0.20 * 100,000 = $80,000.
Migration
Migration takes time of the developers and QA. We will also have to spend time learning new technology. Let's assume introducing Flutter into an existing app will take 1 month of 2 developers and a QA person. So migration cost will be 3 * 100,000 = $300,000.
Final Calculation
Remember the formula of profit&loss of introducing a new tech: (CC - NC) + NO - (RC + MC) > 0
($700,000 - $500,000) + $200,000 - ($300,000 + $80,000) = $20,000.
So, that's great! That actually means the investment will be profitable from the year 1 and will give significant profit in the upcoming years.
NB! These calculations are just out of the thin air. You need to carefully make your own.
Before pitching
The data above is a ground for the decision. CTO will carefully consider them and show them to CEO at least. However, the figures will work even better if you can present them properly and you are ready for it in advance.
Tell a story
Prepare the slides with the story. Here's the team, here is the struggle, here is the solution. Telling stories are more entertaining and work better than mere facts.
Be enthusiastic
If you don't believe in an idea, nobody will. Put energy in your pitch!
Convince a colleague
This is based on a social proof idea: your success chances will be higher if you are not a single person that thinks the new idea will benefit the company. Have an ally.
Use Persuasion Technics
There is a list of techniques that helps persuading what you aim for. It works on anyboady because they are based on human psychology.
- Reciprocity
- Consistency
- Social Proof
- Sympathy
- Authority
- Scarcity
You can read about them here or watch a short video.
Make a dry run
Try to run your pitch in front of a mirror, or, better in front of a colleague. That helps to polish the story, finding gaps and preparing for objections.
I hope you will be successful in selling a technology! Good Luck!
If you liked the article, make sure to Subscribe for future ones! Also, don't hesitate to leave a comment down below 🔽