So maybe, you are reading this article because you are a startup entrepreneur and the title interests you. Maybe, you just missed a product launch deadline, or perhaps you have invested all your resources in developing your tech product, but it is going nowhere near generating any income soon. Guess what? You are not alone.
And with 7 years of helping Singapore early-stage startups to build their tech products, we can share with you the three most common mistakes startups make developing their tech products:
Let’s look at what these mean and if you have them.
1. Plan Too Far Ahead
First, by planning, we not trying to discuss your business planning. What we are talking about here is how you are moving from ideation to the practical development of your tech product. Everyone likes to have their plan mapped out beautifully from the beginning to the end, and no one loves it more than the developers who will code your product, regardless of whether they are your in-house staff or outsource partners.
However, have you ever seen your plan go smoothly? I bet not. Chances are you suddenly discover a super feature that must present in your product now, or suddenly a new market condition emerges that renders some of your features useless.
Since startups only have limited resources and thus time, we usually try to be as detailed with our plan as possible. We calculate all the risks, including all the contingencies, spending days reviewing it. However, we end up missing out on early valuable feedback from users, wasting resources and time on features that may not be necessary and thus, lacking the resources and time developing features that are important to users.
2. Mismatch of goals between the business team and the technical team
Wake up one day just to find your software engineering team is fighting with the Operation or Sale team? A typical fight would be:
Developers: “This software/function is exactly what you asked us to develop. What do you mean you cannot work with it, and we have to do it again?”
Business team: “It is as described. However, you got it wrong. What we need is …”
Sounds familiar enough? The conversation we’re seeing here is similar to what Bill Pfleging writes in his book, The Geek Gap: Why Business And Technology Professionals Don’t Understand Each Other And Why They Need Each Other to Survive.
The idea Bill gives us is that the geeks (technical people, developers) are project types, solving puzzles and once they finish, they will hand over to the suits (business people). While the suits do not care what puzzles the geeks solved, the final product has to be useful and sellable. Different goals between the geeks and the suits create a gap in communication and expectation that threaten the success of a project. The final product sometimes works fine but nobody wants to use or buy it, while other times everyone needs it but the product itself is not technically practical at all.
You might think this is just a common misunderstanding, and it is okay for these things to happen. However, as a startup, your resource is limited; you are always running against time. A requirement mismatch may signal a larger issue that your team is having problems in the communication process. Letting it happen and repeat will not just slow you down and waste your money; but as small problems breed bigger problems, it may eventually kill your product and business.
3. Lack of a formal process for the software engineering team
As early-stage tech startups, we build everything from the ground: the team, the process, the tactic, etc. Maybe, we even learn how to create some of them, but most of the time, what we do is improvising with a bit of freestyle. This is even truer for software engineers who are stigmatized with untidy desks, unkempt hair and all-over-the-place working space (watch Silicon Valley series). Most of the time, a small software engineering team can make do with Slack, a communication tool, and Asana, a task management tool. However, as the team grows in number and reporting hierarchy, a more formal process is required to ensure everyone is on the same page and things go as smoothly as possible.
Take us for example, when our team was small and consists of only 3 members, we used the waterfall process, which is the most common and traditional process to manage a tech product development, and of course some improvisation.
A request flows from the top to bottom one by one. Because the team was small, some of us were in multiple roles; things were smooth. We assumed that our process was okay and started taking new projects as well as hiring more staff. In just a few months, the team already quadrupled in size; this was when things started falling apart and multiple problems appeared. The biggest three problems were:
- More team members joined and specialized in a specific step of the waterfall; each of them only worked based on the given requirements and most of the time did not understand the big picture of the project.
- When a request needed to be changed in the middle of development, the team was confused and the request had to go back from the top again, wasting a lot of time planning and redoing.
- When there was an error from the early stages of the waterfall, it would not be noticed until the code was finished and handed to the next steps, sometimes until the very end. By then, the good-for-nothing code already consumed a lot of effort and time.
We were struggling to fix these issues and learned the hard lesson that the waterfall model was no longer suitable and we were naive to believe that what we could improvise our way to growth without preparing a strong foundation for it.
When you design your product development process, keep in mind that you are designing the foundation for your growth. Over time, improvising is harder and the standard process becomes more important. If your process is not optimized to be fast and flexible, your product delivery can’t be fast and flexible to changing marketing demands and new product discoveries, too.
In a nutshell
Now knowing all 3 common mistakes Singapore early-stage tech startups make developing products, you probably want us also to tell you:
- How to have an agile development plan with a reasonable timeline?
- How to avoid mismatches between the technical team and the business team?
- How to create a formal tech product development process that can help your team grow?
You can read it in our next article: How early-stage tech startups can use SCRUM on product development
Recently published articles:
- How early-stage tech startups can use SCRUM on product development
- 3 mistakes Singapore early-stage tech startups make developing products
- 7 points to look out for when hiring software engineers in Vietnam