In my many years working with software development companies, I’ve seen three distinct types of leadership, each with its own challenges. The leadership tends to evolve along a consistent path within each company, and some companies survive these transitions while others don’t.
Most software companies start out as a technology-driven company. This means that a few brilliant engineers got together and created a cool product. Quite often when this happens, there is excitement around the technologies within the tech world, a round of investment will be raised, and a few sales are made. The management team, usually made up of the founding engineers, ramp up the employee base, create more and more cool products, and hope they sell enough to cover the company costs. Generally the headcount will rise to between 100 – 300 employees, there will be one large customer not-quite-covering the development costs of each product (if they’re lucky), and fixes to products are performed and delivered to customers quickly. As the company grows, however, it soon becomes obvious that there are more products than customers and the overhead on those products ends up being quite high as there are customisations unique to each customer that need to be maintained in separate code braches. The customers become more demanding without a willingness to pay suitable maintenance costs to cover the cost of developing the customised product.
Many of these companies will be taken over by new leadership in the form of a new CEO, new board members, and maybe a few new management team members. The board of directors will be becoming impatient at this point for higher revenues, so often the new CEO will have a strong sales background. The company will now suddenly be a sales-led organisation. The new management team will want to go through a cost-cutting exercise to please the investors as well as generate as much revenue, quarter-on-quarter, as possible without as much of a long-term strategic focus. They will talk about long term strategy because this is what they strive for, but the focus on short-term revenue will pull the development teams from product to product in order to deliver whatever it is that the sales team has promised the customer. There will be initial discussions around reducing the number of products being developed, but the fear of saying no to any customer, no matter how low revenue the deal is, will mean that the product lines will stay alive and continue to be developed according to what the customer asks for. The development teams will be pulled off of a product midway through the development cycle to respond quickly to a customer request, and long-term strategic projects will flounder while short-term requests are met. Many key developers will leave the company at this point because the excitement of creating something new and innovative has been lost. The sales team will make deals based on revenue rather than on profits, and there will be a consistent quarterly panic to meet the revenue targets even when each deal will cost the company more to develop than they will recognise in revenue.
With any luck, the companies will last until they evolve into a market-driven organisation. This type of organisation tends to have a much longer strategic outlook. There will be fear among the staff of more processes, but processes, when done right, are generally made to make things easier and more stable. Unlike the sales-led organisation, the goal here is to create fewer products and sell them to many customers. To do this, there needs to be strong product management. The product manager needs to own the product rather than letting the sales team or development team own it. neither of those other teams will like to hear this because they had been in charge for so long, it will be uncomfortable for them to not be making the decisions any longer.
The first step is to review the product lines within the company. Break them out into cash cows, future star products, and those products that are struggling to cover their costs. Next, map out the strengths and weaknesses of the technologies, the staff, and the products. Finally, do the same for the competition. The next step is to analyse the market to identify the problems that people are experiencing in the area where your technologies exist. Identify the market problems, and you will see an opportunity to solve those problems with the technical expertise within your company. This will require travel, so the travel budget needs to be opened up a bit despite the fear of spending money that the company will be experiencing right now. The product managers will need to go to industry trade shows to see what is happening in the market, meet analysts in the area, and network with existing or potential customers. Immediate follow-up with potential customers with a request to visit them not on a sales mission but on a potential partnership mission is imperative. Once you understand the market, the problems in the market, the trends people are talking about, and the customer problems, you can go back to your team and develop a solution. Do not be afraid to ‘End of Life’ a product! If the products are not valuable enough to customers, then they are not valuable enough for you to continue investing in them at the cost of more sellable products.
The key is to make sure that the solution solves real problems for as many customers as possible, thereby generating repeatable long-term revenue while keeping costs low and developers happy. Your investors will thank you.
For more information, please visit the related presentation on Slideshare