Table of contents
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.
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.
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:
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.
The JTBD remains constant over time, it’s your product and service offerings and value proposition that should change at strategic intervals.
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.
Tools used during SDLC
Tools commonly used and over the software development life cycle.
|Development||Git, SVN, SonarQube, Jenkin, Cruise control, Puppet|
|Testing||TestNG, JMeter, Selenium, Cucumber, Jacaco, Cobertura|
|Release||ANT, Maven, Gradle|
|Deployment||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.
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.
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.
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.
[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.