There is more to software development than just coding…

4 min readMay 10, 2021
Thaiya Waronja: Innovation || Fintech || Systems Innovation || Cyber Security || UX || Agile-Scrum

Bringing an original idea of a software to life is frequently one of the biggest hurdles for aspiring entrepreneurs. The product development process can seem almost impossible, and when you hear the origin stories of other great businesses, the journey to a finished product rarely resembles a straight line.

Let’s take the example of Ivan Edward Sutherland, an MIT student who in January 1963, submitted a Ph.D. thesis titled, “Sketchpad: A Man-Machine Graphical Communication System.” The ideas in “Sketchpad” and the resulting Sketchpad software program were so far ahead of their time that they laid the groundwork for a revolution that continues 58 years later. They did not know it at the time and no one saw the value of the software but sketchpad later pioneered the way for human — computer interaction and is now available online and for download on PC and Mac.

We could give 100 other examples like this one however none of these inspiring stories provide an end-to-end blueprint for product development, lucky for us we came across Thaiya Waronja, a startup founder and product developer who has built Duka plus, a software that allows shop owners to keep track of their inventory from anywhere. All shopkeepers have to do is upload their stock data on the platform and when an item is sold, it’s automatically removed from the shelf. Waronja is currently in the beta phase of product development and he will essentially be taking us through how to develop your original product idea and what to consider at each stage.

Step one: Know what you are good at and what you are not.

Identify what you can do best and maximise it. Also, identify the gaps that you have, and if it is not a skill that you can learn quickly, find someone who can do it for you. At this point, it could even be a good friend if you do not have money to hire a professional.

Step two: Ideation and research

Some entrepreneurs separate the two but I see them as one thing. If you have a new idea for software in mind you may feel inclined to leapfrog ahead to building, but that can become a misstep if you fail to validate your idea first. Product validation ensures you’re creating a product people will pay for and that you won’t waste time, money, and effort on an idea that won’t sell. There are several ways you can validate your software ideas, some of which that have worked very well for me are:

  1. Talking about my idea with family and friends and taking note of their feedback.
  2. Talking to my target customers about the product and gathering feedback on whether or not they would use my software. This will also give me an idea of the type of features to add to my software based on their needs.
  3. Crowdfunding campaign. If people are willing to contribute their money towards my initiative, this validates my idea.

Step three: Planning

Take the time to plan before you begin to build your prototype. Make a list of customer requirements and how much capital (human and money), time, and resources will be required for the project.

Step four: Designing the System

At this stage, you create a fully developed design of your software. This is where all of the design work happens so that you can start working on the project. At the end of the design process, you should have a usable plan for the software, including how it looks, how it functions, and how it will be built.

Step five: Coding / Software Development

When the design process of the software is over, the next step will be coding. In this step, either you or the developer(s) that you have identified starts constructing the whole framework using the programming language chosen to write code.

Step six; Testing

When the coding is complete, testing begins. Software testing is necessary to avoid any bugs. The created software is extensively reviewed during this process, and any issues found are assigned to developers to repair them. Retesting and regression testing are conducted until the software is as planned by the expectation of consumers.

Step seven: Software Deployment

In this phase, you make a software system or update available to its intended users. My advice would be to push the product to a specific target audience before inviting the general public. This will enable you to play with the product safely before it is introduced into the larger market. Therefore, this allows us to catch any final mistakes before launching the product.




Nailab is a business accelerator that offers innovation, and entrepreneurship programs focusing on growing innovative technology-driven ideas.