As enterprises leverage a host of digital technologies and strategies to drive innovation and growth, a key aspect that many in our experience struggle with is making digital products that succeed at scale.
To be sure, not every digital initiative needs to scale to millions of users. A internal-focused digital solution built to make the sales force more efficient, or to help recruitment teams collaborate better is unlikely to see millions of users. Many external-facing initiatives, the kind offer efficient digital interfaces to suppliers or distributors, for example, are similar in nature.
And yet, we’ve found, even building these very focused, well-defined solutions often proves hard for large enterprises, and they struggle with execution as well as relevance. What’s even harder, however, is delivering on digital initiatives that can scale successfully to a million or more users.
In the age of cloud and data centers, most people understand ‘scale’ to be a matter of server space, bandwidth and uptime, but there is, in fact, a lot more to building digital products that scale to a million users, and scalability of the pipe, while critical, is only a part of it. There are some key differences between small scale digital products that serve a niche or a small, limited user base, and large scale digital products that scale to millions of users. The differences come from how the digital product is conceived, what processes are during development, and more.
Four tips to creating a product that scales to a million users
At [x]cube LABS, we have the experience of conceiving and executing on multiple digital initiatives that scaled successfully to millions of users. And we have been able to deliver these successes for a wide variety of large enterprises globally, Our practiced approach to achieving product-market fit, as well as our DevOps driven execution processes, have been instrumental in this success. In the writeup below, we leverage our experience to offer you quick guidelines on the four key areas you need to excel at if you are looking to build a product that scales to a million or more users.
1. Relevance
Having a relevant solution that finds a clear product market fit is rarely the result of inspiration, and invariably requires clear focus, rigorous discipline, and the use of methodologies and models that enable you to identify problems as well as target audiences clearly and envision relevant solutions. At a most basic level, your product must meet the following criteria:
Solve problems: Your digital product or service needs to solve a specific, real problem. This is so obvious that it might seem almost frivolous to mention it, and yet this basic point has a lot more complexity than most people think. The nature of problems that the product needs to solve, for example, changes based on the various segments within the target audience. Additionally, users evolve over time, and their needs as well as habits change. Does your product have the ability to solve the same problem for a wide variety of people? Does it have the ability to adopt based on the user? Does it have the ability to evolve along with the user, and perhaps start solving additional problems for users over time?
Clear triggers for use: your product should be built with clear triggers in mind, so you are clear on frequency of use and are able to design the overall experience accordingly. What makes the user come to this product? What triggers bring the user to this product? What will bring them back? How often will they come back, based on these triggers? How do you clearly associate your product with a specific problem to ensure recall? Having clear answers to these questions at the outset will ensure that your digital product has the right relevance.
Simple and easy to use: A successful app doesn’t require external help or guide. The functionalities are simple and easy to use.
Update regularly: Frequently updating your app shows you care about community feedback and are constantly looking to provide a better experience to your users. All these factors drive customer engagement and loyalty. An app that’s not been updated for weeks or months is likely to become obsolete.
It is common that the correct answers to these questions are discovered in an iterative manner, as your perspective evolves over time. In fact, this iterative, rapidly evolving method of functioning–where you test hypotheses quickly, and move forward in quick sprints–will be central to your entire product development life cycle, and is a precursor of sorts to the DevOps engineering methodologies you will need to implement to achieve scale on all fronts.
The DevOps engineering practice enables you to identify wrong paths quickly. Through continuous testing, you could revise your development every two days as against spending over six months in code development and then testing, only to identify glitches after months of effort.
2. Design and Experience
Having established the relevance of your digital product, it’s time to move ahead and plan the design and experience aspects of it. Avoid complexity in your UX/UI by having the following points in place.
Simplified sign-up process: If your sign-up process is complex, you’ll lose user quickly–probably in under ten seconds! Simplify the process and make sure you are asking for a sign up at the right juncture, once the value proposition of your product or service has been conveyed clearly.
Login with existing platforms: Make the process easy by giving option to log in from multiple platforms like Facebook, Google, or LinkedIn.
Launch screens: Replace the ‘loading screen’ with a well-branded image that says something about the app.
Important things in order: The important features that serve the most must be right in order, that is, easy to discover and use.
Navigation possibilities: Keep in mind the extreme navigation possibilities as a user and consider all customer journey touchpoints while designing the wireframe.The above points are still basic hygiene. It’s possible that you get the above specifics right and still mess up the overall experience. It’s important that the design, apart from being aesthetically pleasing, also focuses on serving specific user needs with minimum friction.You could follow the four steps mentioned below to use the ‘jobs to be done’ framework and stay on track.
Jobs to be done frameworkWhat job does the customer want to get done through your product or service? The concept of JTBD revolves around this central question. It helps the developer understand that customers don’t buy products and services; they hire solutions to get an array of jobs done. A JTBD is not a product, service, or a specific solution; it’s the higher purpose for which customers buy products, services, and solutions.Consider this, for instance, if you want to be a disruptor in the education sector, you should ideate on delivering the main job that an aspirant wants to get done, which is, learning with a validated certification. An online course is a disruptor that serves the purpose here. You must find new ways to fulfill the jobs customers need to get done.The JTBD remains constant over time, it’s your product and service offerings and value proposition that should change at strategic intervals.
Define the product that is to be developed: Determine the goal of the product and plan the resources. Understand all the customer’s needs in the targeted market and conceptualize the products, sub-systems and feature sets that will address the unmet needs of the targeted customers.
Design the product to perform the core functional job: Provide your engineers and architects with a job map and the precise metrics around each feature that forms the part of the product. This will ensure that the risk of implementing a solution that fails to deliver the desirable outcome.
Enable effective interaction with the product: Your UI designers must understand the metrics which measure success when a customer interacts with your product. They must determine the interface objects, the actions that are enabled by those objects, the link between objects, triggering actions and the desired outcomes.
Managing Cognitive Load: Any UX design has some cognitive load for the customer to explore the product. Considering the bounded capacity of the working memory, your UX designer should maintain the cognitive load of the product below the safe threshold. If you expose your customers to too much information in a chaotic way, they may miss out on the main features and quit using your product. Cognitive load may be attributed to any of the following:
Irrelevant actions: Every user is motivated to achieve their objective. Making them complete unnecessary steps and tasks is wasting their time.
Too much content: Bombarding your users a lot of information at a time makes it difficult for them to comprehend and analyze, resulting in a loss of interest.
Too many choices: Even though it sounds good to offer users with various options to choose from, too many options can cause indecisiveness.
Lack of clarity: Lack of a simple, concise and straightforward interface adds to the complexity and wastes the customer’s time.
Context Awareness: Context-awareness can dramatically improve the user experience. It’s about figuring out what users need and designing the interface that best meets them. A context-aware product means a product with the ability to learn what a user would need in a particular situation and providing it to them. For example, a person with an operative loan account would want to have quick access to his loan statement rather than having to scroll down and found it listed with options that he doesn’t use as frequently. Features such as being able to continue from where the user left last time, and being able to learn and adapt to a user’s habits and usage patterns over time should come without the need to mention.
The quality of the process involved in product creation also impacts the overall experience of the user. With a high level of complexity involved in your process, it becomes essential to adopt some of the best practices such as DevOps that foster the culture of collaboration to combine all the efforts into a seamless process and get your product off to a great start. Besides, it helps you to evaluate design and experience timely. Here’s how you can merge UX in DevOps Lifecycle.
1. Understand your users. Formalize a process for creating customer journey and identify different personas. Using these journey maps, you can create scripts for synthetic monitoring that simulate user behavior and if any issue is found, development teams can promptly resolve that issue before end users discover it.
2. Measure what matters. Having understood your users well and how they journey through your app, you’ll know exactly which metrics linked with UX to measure.
3. Monitor the UX. Like any other DevOps practice, monitoring should be continuous and proactive, and should trigger alerts to the DevOps teams if problems occur.
4. Collect Data. The DevOps capability allows you to trace transactions end to end. This means that your DevOps team can collect the data required to set benchmarks and recognize trends over time.
We’ll now talk about the software development life cycle and how you could break it into three stages. Maintaining a quality SDLC would enable you to generate quality output.
DevelopmentLay out the structure of the product and pay attention to its functionalities, utility, and reliability. From the CX perspective, produce a design that buyers would like. Also, focus on the accessibility and the pleasure derived from using the product. If at all you want to scale your product organically, your core functionalities should be flawless and the UX/UI should be designed keeping in mind the customer journey points.You could adopt practices such as source code management, automated static code analysis and implementation of CI. These will help you make your development process quick and effective.
TestingUse automation to identify bugs and fix them. The testing is automated and applies to the development of segregated functionalities, POC, prototype, and integrated product.
Recommended testing areas and categories include unit, performance, web and service testing. The adoption of code coverage technique further strengthens continuous testing. Vulnerability scans should be a mandate while testing. Applying practices like Pen Testing on your application helps to find security vulnerabilities that an attacker could exploit. The primary goal of a pen test is to identify weak spots in your product, as well as to measure the compliance of its security policy.
Release & DeploymentThe development teams must automate the merging and testing of code. Artifacts produced from CI systems should serve as inputs for release processes to run frequent deployments. Automated release processes consume these artifacts to release new versions and fixes to existing systems. If you use GitLab, on committing a code, the file gets pushed into internal repository. For backend, the file could be packaged as a zip file or a docker file. For frontend, the build generates .apk and it could be downloaded from your internal app store. Deploy and test in multiple environments to ascertain the quality of your product.
Monitoring & MaintenanceTo ensure optimum performance of your product, adopt a continuous improvement framework that performs metrics-based monitoring. This continuous monitoring is applicable to deployment as well as post-deployment. For every service, aggregate logs. If anything goes wrong, you can check dashboard for logs. You can also set alarms for specific cases that require attention due to a potential fault. Establish a centralized knowledge repository that keeps track of incidents for later referencing.
Tools used during SDLC
Tools commonly used and over the software development life cycle.
Custom deployment scripts, file copy scripts, deployment plugins for Jenkins / CI tools
Monitoring & maintenance
Web analytics scripts, Gomez, application health-check monitoring tools, server monitoring tools, real-time user monitoring tools
3. Distribution and Reach
You’ve now reached the moment you’ve been building up to. Your product is now ready to be unveiled. We suggest you have the following checklist in place to have a successful launch, for being a little cautious in the beginning, can give your product the positive start it needs.
Launch an MVP and collect early feedback from a wide range of users
Make changes based on the feedback collected from the prelaunch to make your product better
Roll out the marketing and communications plan. You can’t scale to a million users without a promotional strategy in place.
Promote your product through influencer marketing, staggered rollout, and every possible way that builds a constructive hype.
Use automated tools for information on important metrics that help assess the campaign
Keep the engagement active through social media by changing your conversion goals or distributing creative assets
Analyzing important key performance indicators related to your launch campaign to make your next product launch even more effective
What’s interesting to note here is that DevOps compliments your launch process by facilitating a seamless and reliable soft launch for every update.
4. Ability to Scale
In an attempt to reach more and more users, you could continue marketing your product. But often what’s not considered in this process is whether the infrastructure is capable of supporting the increasing load or not. As your infrastructure crosses a certain load limit, the existing users experience poor performance, low response time, slower loading, and worst- app crashes.
The pursuit of acquiring new users could cost you the loss of the existing ones if the infrastructure isn’t capable of scaling up with your app. That’s only one type of scaling requirement. As you work around your product, you would come across various such scaling needs and you’d want to assess your ability to scale.
Scaling could refer to increasing or decreasing any parameter based on your needs. The most common needs that demand scaling include the following.
User acquisition: you want to acquire new users and increase your user-base but is your existing infrastructure poised to support the load.
New features: You launch with the most basic features but eventually, you add new features to retain users and compete in the market. How does it affect the functioning of other features and the overall performance?
Up time: With more active users accessing your application, you would want to maintain a high uptime by cutting down on maintenance downtime or downtime due to unforeseen circumstances. How do you configure to maintain a high uptime?
Data analytics: With bulk data pouring in, which data do you need to store, what analytics tools are required and how do you filter it out? The scaling up would require more storage, new technologies, and more data mining.
Bandwidth: Depending on your peak load and low load times, you could attune your bandwidth to save your resources. How conveniently can you make that change?
Your scaling-up needs could include a lot more parameters such as sessions, engagement efforts, development roadmap, etc. Have a self-assessment ready to know the possible areas that may need attention should there be a requirement for scaling up or down.
Conclusion
Practicing DevOps has another advantage here, which is, it has provision for auto scaling that allows your application to always have the compute capacity needed and eliminates the need to manually monitor server capacity. The auto scaling could be done based on incoming requests, number of jobs in the queue, and how long jobs have been in the queue.
Creating a product that has the potential to scale to a million users could be enormous and complex with challenges occurring at every stage. Partnering with DevOps service provider is a great way to equip yourself well to overcome those challenges. By leveraging the guidelines mentioned above, you’re more than half-way to your aspiration already.
About [x]cube
[x]cube LABS, a division of PurpleTalk Inc., is a leader in digital innovation and strategy consulting. Established in 2008, we are born digital with deep expertise in all things digital – Social, Mobile, Analytics, Cloud, wearables & IoT. We have delivered over 700 solutions across industries with the DevOps philosophy, won 25+ International awards, worked with 500+ clients & created value over $2.0 bn for our clients. Being one of the earliest adopters, we have developed an expertise in implementing DevOps. [x]cube is also one of the first 12 agencies globally to be approved by Google as a Certified Developer Partner.
We value your privacy. We don’t share your details with any third party
HAPPY READING
We value your privacy. We don’t share your details with any third party
BOOK A CONSULTATION FOR FREE!
Create new digital lines of revenue and drive great retention and customer experience!
Find out how, from our tech experts.
HAPPY READING
We value your privacy. We don’t share your details with any third party
We use cookies to give you the best experience on our website. By continuing to use this site, or by clicking "Accept," you consent to the use of cookies. Read MoreAccept
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.