Startups and making the next world-changing products are hot topics in the software world. Multi-billion dollar buy-outs seemingly occur daily.
Even these success stories had to start somewhere. Like most South African startups they might also have been extremely cash-strapped initially. A lot of founders have great product ideas, but no idea of how to implement it on the technology side. This explains why technology startups has such a low success rate.
Yes, getting that first team that will help build your product is very difficult. It has to be the right people with the right skills. They need to understand your product vision. They need to share your passion. They need to be fully committed to help the product and the business succeed.
For these, and other, reasons, the obvious choice is to build up your own team. This means never ever outsource, as outsource vendors will just try and make a profit and leave you with an inferior passionless deliverable.
Or is it really the obvious choice?
Software is about people, and people are about relationships. So if we start thinking about building relationships with people, does this not open other options?
“But why should I even consider other options?” you might ask.
Well, let’s think about it:
• building up the right internal team is extremely hard
• you will struggle to find people with the necessary skills, especially in South Africa
• developers and designers with the right experience does not come cheap, either in the form of salaries or equity
• even if you find the right team members, it is still difficult for this bunch of individuals to become an efficient and productive team, especially in the short time allowed for that disruptive Version 1
• the learning curve is tremendous: think development processes, proper design thinking, including UX design, governance issues, lean startup and agile methodologies, people management
• the management overhead in running your own development team is big, and highly interruptive if you want to focus on product ownership and business development
• a small internal team will be sure to lack knowledge or experience about some technology or critical aspect of human behaviour that could potentially make or break your product and your dreams
• costs of an internal team is severely underestimated most of the time
The typical industry “wisdom” says that outsourcing is bad if you want to create awesome products, especially for startups. The biggest alleged reasons being that the outsource teams does not have the same commitment and passion as internal teams, as well as costs.
Yet if you start to think in terms of people and relationships and not just “vendors” and “suppliers”, this opens the door to real partnerships with people and teams external to your organisation.
I see the phrase “innovation partner” is thrown around as a buzz word on the web, but I like the idea. I think if you find a software development company that adds value to your product development, you should build up the relationships with the people in such a way that the company and its team becomes your innovation partner.
Yes, there are a lot of development shops out there only interested in short-term profitability. But I think if you look for a few things from the start, you can end up with the right people that can join your adventure for the long run:
• the development company must value their people above anything else (o well, there goes all the body-shopping outfits…)
• you are looking for expertise, so make sure the external team will have experts in the areas you need to roll out a full software product, not just coding
• the company and its people must be passionate about making cool stuff, they need to have a “maker’s culture”
• they must understand need-driven development well (look for proper user-centred design approaches)
• they must be agile; you need a team that can pivot easily, as you will be changing direction often, especially in the early stages of development and experimentation
• they need to understand proper agile process, that allows changing direction, but also brings enough order so that chaos does not ensue…
• there must be a connection with them, a sharing of passions and ideas, not just a financial relationship
• it must be possible to build on trust, and not contracts
A few things need to happen in the way you deal with such an external team as well:
• admit that they are experts in their focus areas, e.g. mobile or web apps, and listen to their experience in those markets
• give them the mandate to help innovate; this implies letting them help direct where the product is going
• never, ever use or think the phrase “code monkeys”; this team is enabling your dream, and should be treated as such and not just a necessity
• listen to concerns they highlight around expectations, milestones and using approaches like Lean Startup. If they are any good they have already helped many other startups to successfully roll out their dreams.
• cultivate long-term relationships with the team, as that is where the biggest value lies for you, even in external partnerships
In the end software development is about people, and it is minor detail on who’s salary roll the people involved are. The more important detail is that there is a connection, and the team is prepared to commit to helping you realise the dream. If you value the relationship with this team, then you will find that they in turn will provide a lot more value to you and your business.
Creating new products are hard, and founders have an immense learning curve. Why waste time becoming a software development expert as well if you can engage people who can help you add more value more efficiently to your product?
About the Author : Herman Lintvelt is the founder of Polymorph Systems, where they have learned over the years how to craft great software products, using Lean Startup, User-centered Design and Agile methodologies, but mostly by putting People first. You can read more of his posts at http://hermanlintvelt.blogspot.com .