US President Bill Clinton had a post-it note in his bathroom that reminded him every day, “it’s the economy, stupid”. When evaluating software companies, we need to remember that “it’s the management, stupid.”
I’ve spent a lot of time in the last few years trying to find “under the radar” nearshore software development companies. I mean companies with 100-500 employees and established typically for at least 3-5 years, turning over EUR 5M-25M per year. Where to find them? I’ve searched mainly in Poland and Romania (but also other EU member states of East-Central Europe) and outside the EU, in former Soviet Union countries, like Ukraine and Moldova.
Companies that I’m looking for are typically established enough to have created a set of cornerstone customers and experienced teams of developers. They also have recruitment and HR teams as well as development and quality processes. In short, they are potentially big enough to trust as a reliable partner. I see them as a great alternative – both for customers and for investment – to the big multinational brands with thousands of developers. They can be more productive and more customer-focused and they still care about every customer. However, the key difference in how these companies ultimately succeed in delivering on time, on budget and quality, is the quality of their management team.
How to evaluate outsourcing IT companies?
Only a great management team will be able to put together all the parts of the jigsaw that together create a great software development company. Let’s take a look at these puzzles and then how the management team brings it all together, when it comes to outscoring IT companies.
Firstly, does the company understand its customer’s business domain? We can take as given that they have the correct experience in the appropriate technical domains – be it .Net or Java or node.js or whatever. But they won’t be able to apply this successfully unless they also understand their customer’s business. Working with medical companies is different to automotive, or fintech.
Too many companies are totally technology-focused and don’t even have the motivation to understand what their software should achieve for the customers. We need to look for teams excited about their customers and their challenges, not only about how the software works.
It’s the great management that leads and inspires the company in this area. Ask about their background and what made them focus on this particular business domain.
Next, does the company really focus on transforming its customer’s business through technology? Some great customer testimonials will help us in this regard but we really need to know what they achieved for the customer and how the company’s software made a real impact.
Listen for the “war stories”. How projects were going off track but steps were taken to sort it out and learn for the future.
Is it a customer-focused company or a technology-focused company?
You’ll find out talking to the teams. However, the company culture ultimately comes down to the management culture and this is what you need to get a good feel for.
Do they like numbers?
You’d think that senior IT people would love numbers but so many have no interest in the financial details of their company. It’s fine that they are focused on the “business” but they’ll need to keep their eyes carefully on the financial aspects like cash flow and profit margins if they are to create and grow a sustainable business. Too many of the young leaders I’ve met don’t really have a clue on this side. I know it’s not usually part of their original education but it should be an active focus of their own continuous personal development.
You can get a business to this stage with some great tech skills, a few loyal customers and some luck but you’re going to need to transform yourself into a business person to grow to the next level.
Some people are born entrepreneurs, some people can become entrepreneurs; others just want a quiet life and a lifestyle business. We shouldn’t bother the latter with our investments.
Organisational structure and teams
The company is at risk if it relies on a few key individuals, often friends and disciples of the founding management. So we need to check if the management has succeeded in building an organisation and teams that don’t depend on individuals. It will make them sustainable and it will be the company that provides value for customers, not the individuals.
It may not be easy but we can always replace individuals if the company has an organisation and teams with well-defined roles. We know the interactions up, down and across of each role, what’s expected of them and the skills needed to fill those roles. If the company’s management team is too focused on an old friends’ network, that’ll limit expansion and scalability.
Process and Quality
Fewer companies today have official quality certifications and fewer customers are demanding them. In my experience, there’s a regrettably low correlation between having a quality certification and actually delivering customer-perceived quality. In the absence of dubious formal standards, how do you know that our company actually delivers and measures quality?
A good management team will have put into practice a clear, and well-documented, development process and will be able to document quality standards. Everyone in the company needs to be working to those standards. There should be a culture of pride in “professionalism” throughout the organization, not just in the tech teams but also in the administrative and support functions. Does the company generally give the impression of a systematic and professional, process-oriented approach? The management team should be able to explain it clearly and give examples of the action taken to tackle deviations: how they rectify and work to improve future projects.
Value-added functions and the total cost of ownership
When we are looking for a software development partner, it’s not just the software development part that counts. An organisation adds value by helping us find out where we want to go and what we can (reasonably) achieve with technology. So we need a team of technical consultants, business analysts and architects.
Ideally, some part of this service is provided free of charge as part of a pre-sales phase. It’s a sign of commitment and long-term partnership. The management’s role here is to look for a long-term value of a customer, not a short-term gain.
At the other end of the life cycle, we’ll need a maintenance and support organisation. Often this won’t add up to a constant commitment. A well-run company will be able to optimise maintenance and support over a range of customers so that the cost to each customer is reasonable. We may, or may not, need 24×7 support but a well-run organisation will be able to offer that on a “best efforts” basis, if not under a firmly committed SLA.
When we engage with a software development partner, both sides need an honest and frank assessment of the total cost over the project lifetime, rather than just an initial project cost or daily rate.
Customer acquisition, business development, sales
There’s a great shortage of IT talent on the market these days. With software development, it’s always a matter of matching sales with available skillsets. New customers come as old projects come to an end and resources become free. Matching new sales with available appropriate talent, while not maintaining a bloated bench, is like mid-air refuelling of planes.
So, the company’s sales process must be sophisticated, considering that we are not selling widgets but an IT service based on valuable and limited human capital. The sales process needs to be scalable. It can’t just be based on personal networks. Only then can the company have sustainable and scalable growth and avoid over-dependence on individual sales stars.
Skills HR, attract, develop, retain talent
In the current IT labour market, the ability to attract, develop and retain talent is a key success factor for the company. Customers want to deal with familiar faces for the longer term and a high staff retention rate is essential. The customer also wants to be able to grow their team at short notice or change the skill and role mix in the team. After all, that’s why a customer is using a nearshore outsourced team and not an in-house team.
Look at the HR engine in the company. Once again, is there a systematic and scalable process to attract people from the labour market, to develop their careers within the company, and thus, to retain them long-term? A lot of that depends on the company’s image in the labour market and, in turn, on the company spirit created and perpetuated by the management team. Do people enjoy working in this company? What are the soft, intangible factors of motivation? After all, high pay isn’t sustainable in the long term and won’t probably work anyway.
It’s not only about exciting and challenging technical projects but also the soft skills of the company.
Does every employee feel valued by the management team and have fun with their team after hours too?
The founders’ goals and strategy
In this category of software companies, the founders usually remain the owners and senior executives. Typically, they started in technical roles and built the company on the back of their own labour. They are therefore technical stars but now they need to adapt to a new environment. They need to take a step back and stop being hands-on for every project, not even every customer.
A key factor is how they adapt to this change. If they embrace it as a challenging step in their career and an opportunity to develop, then all the aspects discussed above have probably been sorted out. That’s the sign of the natural entrepreneur. In other cases, the founders may feel uncomfortable in their new role. In such a case, it may be time for them to step aside if they can and adopt an alternative role, perhaps technical, rather than business, leadership.
If the company is led by a natural entrepreneur, then commonly they are unwilling to delegate to the senior management. That creates a risk of burnout and over-dependency on a single leader. A sustainable and scalable software company that’s able to continue to deliver for customers as they grow, will have a well-run board structure where key strategic decisions are made collectively by a board of directors and are not dominated by a single charismatic individual.
Finally, the management team should be able to clearly articulate the business strategy. It should be aligned with the personal goals of the founders and top leadership. They then should successfully communicate it throughout the organisation.
If that strategy is further aligned with the goals and needs of the customers, then we are on to a winner.