Software development for non-technical founders: Overview

Startups are exploding more than before, especially since 2020. If you live in Canada, it is becoming increasingly lucrative to the investors. The bulk of those startups rely on technology to empower individuals and businesses to solve their problems — to a point where every leader is a technology leader. This trend is not going to stop anytime soon but rather accelerate for a while.

However, in our experience dealing with founders — primarily the nontechnical founders — they falter due to the lack of understanding of the complexities involved in getting a technology startup off the ground. Such lack of understanding is even more glaring in software tech products due to factors such as the evolution of software technologies, development methodologies, security, and privacy requirements.

In this short series, we explore some of the complexities, pitfalls, provide some guidance on where to start, and explain different terminologies that need to be learned by the non-technical startup founders. Although we touch on ideation and validation of startup ideas, we will focus more on software development from a startup perspective.

Introduction

Software development is concerned with writing and maintaining code to bring ideas to life — digitally and otherwise. Modern software development has expanded this idea even further, merging product management and software development. Sometimes, even marketers such as growth hackers work with the software development teams to find ways to bring more customers to the product by finding and removing the barriers that make it hard to use. 

If you are a nontechnology founder starting your first venture, it can be daunting to navigate since you are cash-strapped and most likely, you need to work with your software development team directly. You get overwhelmed by the jargon and plethora of technologies available for developing software. When you bootstrap your venture, most likely, you are going to hire developers that are affordable, specialized in writing software code (or managing databases or networks), leaving you to deal with the complexities of software development.

Complexities

Software development is complex these days, and not understanding them will frustrate you by taking more time than required to reach your customers.

Figure 01: Complexities involved in developing software

Figure 01: Complexities involved in developing software

Incomplete requirements — getting the requirement correct is very important to produce a quality software product that meets your customer’s needs. However, it is not simple to accomplish that. If you expect more than a few hundred customers to use your product, and you developed the requirements based on your personal experience alone, there are chances that the software will not be accepted by 90% of the people you target. In that case, you have to either pivot quickly towards your most satisfied customers or go back to the drawing board and start fresh. Remember — fixing requirements is less expensive than fixing the code (since you will have active customers using the product, which makes it complex).

User experience — sometimes, your customers may struggle with your product due to complex user experience despite solving their problems. When this happens, they start comparing your value proposition against spending time dealing with the complexity. Eventually, if your software is not a ‘need to have,’ they leave your platform and go to your competitor. Losing customers for a startup will be problematic since retained customers make more money than new ones. Increasing your customer retention by five percent increases your profits by 25% - 29%.

Selecting the right technology — is a daunting task for the non-technical founders since it has evolved dramatically in the past 50 years. It has expanded in the ways being consumed — from desktops to over your wristwatch. Not only that, the list of programming languages used to write code has increased as well. Also, the development models and hosting of the software product have changed as well. Deciding where and how to host need someone with a good understanding. For example, mobile applications may be in trend, but it is not necessary for everything.

Finding the right team — goes along with your technology selection, the skills required to solve the problem you have identified, and the time to solve your customer’s problem. If you choose the technology first and then go after the team, you may spend more since certain resources cost more than the other. On the other hand, you need to know the technology you will use to select the right team.

Security, privacy, and compliance — are very important to consider but not the most important thing to implement at an MVP stage — depending on the industry your venture fits. Privacy is to know what personal information to protect, and security is to know how to protect such information. Compliance is to do with proving to your regulators that you play by the rule. You need to implement some security measures at the MVP stage — especially if your software product collects health or personal information.

Testing, releasing, and supporting — you need the combination of automated and manual testing. And, once tested, depending on how you have developed your software, you need to release it to your customers using a different method such as hosting in the cloud — such as Amazon, Azure, or Digital Ocean. Once your customers start using, you need to make sure you can support them to complete their tasks so that your customers will help you grow.

Pitfalls

Navigating through the complexities listed above is stressful for the non-technical founders and technical founders alike. However, if you do not pay attention to such complexities and resolve some of them, your venture will fail at some point — unless you get lucky enough to fix them before you start attracting plenty of customers.

Figure 02: Pitfalls involved in software development

Figure 02: Pitfalls involved in software development

Unclear requirements — this can derail your venture if you did not get it right. You may build a drool-worthy product, but it will not bring customers (or won’t bring customers in plenty). 

Not testing ideas before developing the product — similar to the above, you need to test your ideas with your potential customers before developing them. You will have a rough start and start draining your resources if you do not test your idea before developing and at every stage of your development. Continuous testing is important to build a valuable product and retain your customers.

Hiring a wrong team — if you do not pay attention to factors such as building a company culture and the expertise on the right technology, you will struggle to manage the team you hired and end losing time and money — which is precious for startups.

Minimum viable product — this is a much-debated subject. MVP is more of a process than a product since product testing starts as early as ideation and continues until its existence in any form with the customer. Most startups build a finished product without testing their assumptions with their target customers and then fail to get the market fit right.

Not considering security and privacy — not protecting your customer’s personal information using security controls, at least at a basic level, may kill your software even before it starts — depending on its stake. I am not talking about implementing Cybersecurity control using NIST-CSF or ISO 27001, but the foundational security such as avoiding OWASP Top 10 vulnerabilities (or similar) and encrypting sensitive information.

Selecting the wrong technology — this is another pattern we have observed with the startup founders we consulted. Founders often get caught up with technologies that sound cool (such as blockchain), revolutionary (such as machine learning), or suggested by one of their inexperienced developers — leading to select conflicting technologies or irrelevant ones. If you do not have a technology expert to consult from time to time, you will end up adding more risk to your startup than solving your customer’s problem.

Conclusion

Managing software development is hard for non-technical founders in a startup because of the complexities involved. If you do not navigate these complexities and avoid the pitfalls, your journey will be extremely hard and sometimes even stall your startup.

However, there is hope to navigate these for your startup that relies on software. In the next articles, we discuss terminologies and strategies before giving our recommendations.

Stay tuned!

Previous
Previous

Software development for non-technical founders: a blueprint for your journey

Next
Next

Developing IT Disaster Recovery Plan: Documenting and operationalizing your strategy