Categories: Advice

Lean Programming: Changing Product Development In Startups

Author: Abhishek Aggarwal (Co-founder & CTO of Routofy)

Lean methods are changing the language startups use to describe their work and the approach they take to develop their product. It has been around since the 1980’s, though the objective was very different back then. It was about avoiding lengthy documentation that no one ever read, and sharing knowledge with others in a lean approach so that work was not repeated. It was not about a product, but about the company as a whole. Applying these learnings in the domain of code can prove to be very effective.

The Challenge To Deliver

There’s a lot of pressure on tech entrepreneurs to move quickly and beat the competition to a solution. If a company isn’t nimble enough, or cannot execute fast enough on an idea, the window of opportunity for the product or service may very well close while it is being developed. As a result, the decision makers in the Tech team of any startup bear a huge responsibility. For instance, who should lead the group?  What are the biggest problems faced by customers that need to be solved as a priority? What technology should be harnessed to build the requisite product in the given timeline? These are puzzles that are never fully solved and need constant assessment. A startup product needs to be built keeping in mind the big constraints that make startups what they are: time, cost and accountability to investors.

The Side Effects It Has

According to conventional wisdom, the venture gets substantial feedback from customers only when the sales force attempts to sell it post-launch. Often after months or years of development, entrepreneurs learn the hard way that their idea turned out to be worthless by the time it hit the market because someone else beat them to it. It is important to remember that the objective is not to create something perfect, but instead create a functional product, so that it can be used as a prototype for gauging customer response and investor interest. Moreover, the traditionally separate fields of product development, marketing, and sales, are all inter-dependent in a startup; failure to deliver the product will hamper the other two very heavily.

The Temptation of Best Practices

Building a product to perfection requires someone who understands the fundamentals of building technologies that solve problems. It is also essential to consider human factors when defining objectives, processes and expected outcomes. If you have experience in this area, your background, and the best practices followed in previous companies has a tendency to mould your approach. And if you don’t have experience, it feels safe to follow in the footsteps of these working models. However, these scalable, best practices are time-consuming and require faultless execution. Mary & Tom Poppendieck advise in their book Lean Software Development: An Agile Toolkit that anything that doesn’t add immediate value should be struck off the priority list. We often waste time on building things that will be needed in the future, but the dynamic nature of customer requirements and the product ultimately makes it a waste.

Do It Right

So, how do you practically apply this knowledge?

1. Pick the tools, language, and frameworks that are renowned for being fast and efficient in building basic features, such as authentication, payments, database queries, etc. Validate your choice by a brief and intensive research period. Some examples of these are Python, Node JS, Django, Express JS, etc.

2. Favor experimentation over elaborate planning, and iterative design over traditional ‘big design up front’ development. As you begin to iterate, you will discover new methods, tools, and platforms that will improve your efficiency multifold. These are the programming strategies that can make or break your product.

3. Using these inputs, revise your assumptions and start the cycle again. Abandon ideas that aren’t working. Practice ‘Agile Development’ that develops the product incrementally, unlike typical yearlong product development cycles that presuppose knowledge of customers’ problems.

4. Remember that scalability can be delayed initially as hundreds of users will not be lining up concurrently to try out your product on the very first day. After your prototype has received sufficient positive feedback, that’s the time to up your game and modify your work to suit a larger userbase.

Recent developments in the field of technology is producing a new worldwide economy that is global, high speed, and competitive. E-commerce technology is continuously improving and the technical tools needed to improve reach are absolutely essential. Hence, lean methodology is quickly taking the startup world by storm.




Raj Kumar Maurya: