How To Engineer Scalability In Your Product
Scalable applications are engineered when the product is conceptualised. Entrepreneurs often get sleepless nights thinking about what if their product crashes during or after the launch should there be a deluge of signups. But the truth is, scalability can’t be built overnight.
Being the tech co-founders to many early stage startups, not only do we understand this state of mind, but also what it takes to build scalability in a product during the engineering process.
We have chalked out a transparent and a comprehensive roadmap for someone who is planning to build and scale a tech product.
These tips will help you look at the barriers and potential strategies to ensure scalability in your tech product.
Tip 1: Ideate and immediately validate
Last year, Fortune reported that 9 out of 10 startups fail.
The top reason being these startups make products which no one wants. Lack of a market need for a product is one of the biggest reasons for failure of any startup.
So, before putting your sweat and money in developing a product, it’s important for you to know if your product will fit the market. Who will be buying your idea? Is it just you and some of your folks who want this product, or there are more people like this?
A smart move would be to use the tools at your disposal to figure out how much market traction your product can get. Understand how saturated your target market is and does your niche really qualify for a tech product?
Another option here can be developing an MVP instead of a full-blown product. This can help you gather feedback immediately and pivot if required.
Tip 2: Appointing or hiring a product owner
Not necessarily the person who comes up with the business idea will be the product owner. At the enterprise level, the CEO/COO throws an idea at the team and then the product owner (or popularly known as product manager) takes care of the development and the implementation part.
Also there is no ideal description for a product owner. Your product owner should be someone who is capable to work in dynamic environments that involves lots of small decisions. Having an engineering background can be an edge because they will be able to relate to technical details driving the product.
Ken Norton’s popular post on ‘How to hire a product manager’, rightly points out the hiring structure for product owner for a startup, “Hire someone who can adapt. You might think you’re hiring somebody to work on something specific, but that something might change in a few months.”
Tip 3: Scale the project for maximum product benefit
Most of the startups have to make a decision of hiring an in-house team vs outsourcing the development process, depending on the economies.
The tip here would be to do certain dry-run scenarios and measure scalability. For example, a scenario can be if you are a team of 3 and minimum 5 resources are required to develop your product. So, you need to calculate the cost of hiring and maintaining those 2 extra resources vs. outsourcing the whole process under the supervision of a product owner.
Another scenario can be you have the 5 resources required but don’t have the infrastructure and technology to build your whole product. In that case, calculate the cost of investing in a fully-functional infrastructure vs. outsourcing the development process.
These dry-runs shouldn’t end here.
Suppose, you decide to go ahead with the outsourcing services, while choosing the right outsourcing agency you again need to have certain scenarios ready. Check the need and then select a vendor.
For example: Your initial launch is only for iOS platform, but what if in future you plan to expand with an Android app? Does the agency have expert Android developers too? Or if there is a sudden shift in the technology or product strategy, will the agency be able to adapt?
Basically, your agency shouldn’t be a one-trick pony.
Tip 4: Choosing the right methodology
Once you decide the course of action you also need to decide the right method for development.
The two popular methodologies are Agile methodology and the Waterfall.
If you go by the method, Agile provides better scope for product iterations, technology innovation, and incorporating customer feedback. On the other hand, waterfall methodology relies heavily on initial requirements.
This image explains a clear difference between both the methodologies:
At Arkenea, we follow Agile methodology because it allow us to deliver features incrementally and maintains transparency in the project with daily stand-ups and sprints.
Arkenea’s CTO, Ashwin Datye has published a comprehensive post on unlocking full potential of agile development teams. You must read!
Tip 5: Choose the right tech stack
Scaling a product from the engineering level means investing in the right technology stack.
There are a plenty of decisions to make:
- App only, web only, or both?
- If app- then – iOS or Android or both
- If web product then front-end and back-end decisions
- Which programming language will be used for web development server side scripting- PHP, Nodejs, Python, java etc.
- Which language will be used for client (browser) side scripting- AngularJS, BackboneJS, Redis etc.
- Hosting servers (utilities) related decision- AWS, Azure, Google cloud etc.
In case you have outsourced the development, professional developers will give you unsolicited advice about the best tech options available for your product. At Arkenea, we suggest the clients to choose the most popular and the safest tech stacks. The most popular technologies are quite affordable too, compared to others.
Tip 6: Visualize your tech product
Scaling a product from the start means clearly defining your project goals and product requirements.
When starting the development, define your real-time business to the development team. You might think that giving details about the business is not necessary for development, but this will help your developers visualize the product like you do.
Walk them through the minute details (even if they are an outsourced team), like:
- What are the buyer- personas of your product users – This will help them understand who will be consuming the product.
- What is the number of expected users for this product – This will help the team understand what kind of servers are best for the product.
- Is your product a one-feature shop or it has a number of features.
- What are the functional features expected out of the product? – Let the dev team handle the implementation part.
- What is the life-expectancy of your product?
Tip 7: Start selling even before building
Selling can happen from the time you conceive the idea. Don’t wait for a fully-functional product to go to the market.
Like Dan Martell said, “The fastest way to validate an idea is to go sell it.”
But many will say, who will buy an incomplete product? Well, that’s when Agile methodology helps.
Following the Agile methodology will always keep a version of your product which is ready to market. For example- Your app has 3 features. Following the Agile method, the dev team will prioritize the core feature and will build it first. This means the basic version of your app will be ready with one core feature.
You can even do it when your tech product is offline. For example- You got an app idea for arranging treks for corporates. You thought it can be a great way for the IT crowd to have a weekend getaway. You approach some of your friends for validation. 10 of them approved your idea and promised they will be onboard when you launch. You asked them to chip in for a small demo and arranged a trek for them by coordinating offline. Your trek was a success.
But you also asked them for some feedback and suggestions for the next trip. One customer suggested that whenever you are coming up with the app, add maps to the tech trip so that it is easy for the trekkers to mark the drop and pick points.
You got validation and a great customer feedback which can be really helpful for scaling your product.
There are certain benefits if you push your product to market from the initial stage, like:
- Instant validation – Biggest advantage of following a lean methodology is you will get instant validation.
- Customer feedback – Not necessarily people will start paying you at this stage but they will give you a feedback, which is like gold for you at this stage.
- Product Iterations – Suppose your product’s core feature was photo upload, but after listening closely to customers you understood, videos should be your core feature followed by photos.
- Building engagement – Assuming customers will come once they have a product ready can be your biggest mistake. You can put up a landing page describing your product and calling for beta testers or people who might want to get notified when you launch. Imagine having a database of people waiting for your product to launch!
To build scalability within your product during the engineering stage, you should focus on agility with releases and small innovation updates. Be quick in product iterations and mold the product according to market validation and customer feedback.