The beauty of selling software is that you aren’t chained to your first release or your inevitable bugs. Unlike other products, you can sell and deploy a software product that isn’t quite finished. It doesn’t have to be complete. It can lack features and polish.
In fact, releasing your product before you’ve completed the ideal version that’s in your head is the best way to hedge your risk and grow your business. (That barebones version is called the minimum viable product.)
Once you’ve launched your software product, your job isn’t done. Now it’s time to iterate.
Through iteration, you can learn from your customers, fix bugs, build improvements, and create new features that retain your customers and capture new ones.
Product iteration is an important component of any software business. It’s the process of developing an application in small sections, called “iterations.” Each iteration is reviewed by developers and released to end-users for measurement and criticism.
As you know, customer retention is especially critical for SaaS businesses. When your model requires your customers to pay every month, you have to take significant steps to keep them around. This is best achieved by providing a product that’s a) packed with value, and b) continues to add value over time. Both require constant iteration.
Non-iterative models of software development (namely the Waterfall methodology) are tremendous risks for modern businesses. A single bad decision in an early development phase can sink an entire project. Imagine spending thousands (or millions) on a product that no one actually wanted, and not having the resources to make adjustments because you burned it on one-time development.
Iteration is typically broken into three phases.
- Building – Creating features, fixing bugs, making changes, or incorporating feedback.
- Measuring – Observing and monitoring quantitative and qualitative data of your recent changes.
- Learning – Theorizing why your “building” caused your “measuring” and drawing conclusions.
It’s important to understand that “building” is largely experimentation. It’s quite possible that your code deployments fail to support your goals, or even push you backwards (fewer conversions, poor customer feedback, etc.). It’s frustrating, but still valuable because you’ve learned at least one thing your customers don’t want.
Your Product/Market Fit
After you’ve gone through all three phases, the product iteration cycle begins anew. With each cycle, the product is refined and comes closer to a product/market fit.
The concept of a product/market fit is fairly abstract. Generally it means that the business has identified its ideal customer and developed a product that acutely addresses their needs.
The term was originally defined by entrepreneur and investor Marc Andreessen. “Product/market fit means being in a good market with a product that can satisfy that market.” He goes on to say that the product/market fit is something you feel. When customers are finding value in the product, they’re spreading your message, and usage is growing quickly, you’ve reached product/market fit.
Sean Ellis, founder and CEO of Growth Hackers, likes to define the product/market fit in terms of customer dependency. “I ask existing users of a product how they would feel if they could no longer use the product. In my experience, achieving product/market fit requires at least 40% of users saying they would be ‘very disappointed’ without your product.”
Now, reaching product/market fit isn’t a luxury. It’s a necessity. Many startups fail because they never reached that point; the point where their solution aligned with their customers’ problems.
Companies that haven’t achieved the product/market fit should be obsessive about it. They should be willing to change anything: their product, their people, and even their market. That’s why iteration should be customer-driven.
Getting to product/market fit is different for every company. Some take a while, others find it quickly. Generally speaking, money will accelerate the process. (Funding = more development resources = faster iteration cycles.)
Many companies claim to be customer-centric, but according to Conversion XL, few actually are. So be careful that you’re actually building something customers want to use, not what you think they want to use (more on this in a moment).
Throughout the iteration process you should be routinely asking yourself these questions:
- “Do my customers like my product? Do they find that it adds value to their lives in some way?”
- “What could I do to add more value to their lives? How can I make them happier?”
- “Am I on track to be profitable? Is my iteration putting me on a path to something that can be monetized sufficiently?”
Furthermore, good fit can insulate you from mistakes. If you mishandle your development pipeline, hire an inexperienced CEO, receive some bad press, or countless other potential gaffes, you can still soldier along because your product/market fit creates value for your customers. Companies that have all their operational functions performing well can still fail if their product isn’t adding value to the lives of their customers.
And the customer’s value, after all, is what drives sales, retention, and ultimately revenue. How do you identify what you customers find valuable? With data.
Capturing and Using Data
Surely you have piles of data on your product; performance, usage, conversions, etc. It’s important to capture as much information as possible because you never know when it will become valuable.
Data is collected in two varieties: Quantitative and qualitative. Both can be as simple or complex as you would like them to be.
Naturally, quantitative data is easy to examine at scale. Unless you’re operating a high-touch SaaS model, your user base will eventually reach a point where it will become impossible to call each of your customers on the phone. You need a strong analytics tool built into your application with a flexible dashboard that can aggregate your most important metrics.
Which metrics are most important? That’s a great question, but I couldn’t possibly answer that for you. Each SaaS is different. You’ll have to consider your product, your customer, and most importantly, your goals.
Qualitative data is a little trickier because it often requires a larger burden on your time, but it’s extremely valuable. It can be used expose the details of a problem. For instance, a conversation (or survey, which is a dialogue in its own way) might explain why a particular feature isn’t being used. This would tell you how to fix it without being forced to make endless changes until you stumble upon the solution.
Qualitative data can also show you how to address a problem you uncovered in your quantitative data. For example, let’s say your metrics report low use of a particular feature. You could run in-app surveys that prod customers for information about why they haven’t used the feature. You could learn some interesting things.
Using Data for Iteration
Use your analytical metrics and customer feedback to test your assumptions. In some cases, the relationship between the two is simple. By changing a particular feature, a particular metric rises (or lowers, depending on what you want). If you’re lucky, a majority of your developments will fall into this category.
In other cases, your data and assumptions have a more dynamic relationship. For example, you may assume that more product use causes greater engagement with the customer, and ultimately account retention. So you build a set of automated emails that gently pull the customer back into the product. Afterwards, however, you learn that product use for its own sake doesn’t drive retention. The customer’s additional usage time still has to provide value in some way.
An experiment like that wouldn’t be considered a failure. Your iteration cycle (building, measuring and learning) taught you something about the customer. Your next iteration will take your new learning into account.
How to Iterate Your Product
How you manage your product development will depend heavily on your product, industry and customer, but most SaaS businesses iterate based on the same principles. Make sure you understand these key principles.
(Some of this advice will not apply to you. For instance, A/B testing design elements probably isn’t necessary for enterprise applications that employees are forced to use.)
1. Understand the Lean Startup Methodology
The Lean Startup is a methodology for developing software products. It’s goal is to shorten development cycles and reach your product/market fit as quickly as possible using that build-measure-learn loop.
2. Use Agile and Scrum to Organize Your Development Process
You can apply the Lean Startup methodology with the application of Agile and Scrum. These principles teach you how to organize your development teams to push the development cycle.
3. Capture Meaningful Data
Data is the lifeblood of product iteration. You need to capture as much data as possible, especially data that can be used to further your business goals. That means having the right tools in place to measure product usage and customer sentiment.
4. Draw Insights from Your Data
Having data isn’t enough. You have to actually use it. Once your data collection tools are in place, you have to regularly examine it for trends and patterns. Next, turn that information into useful insights. Why is traffic low to that page? Why is that feature underused?
5. Help Customers Find Value with User Onboarding
User onboarding is critical for SaaS products, but most companies get it wrong. Onboarding is more than simply helping the customer log into the main dashboard. True onboarding walks the user all the way to receiving actual value from the product. You need an onboarding process that improves usage (thus retention) and identifies actions that impede conversions.
6. Use A/B Testing to Improve Conversions
Once you have made insights from your data, you need to experiment by making changes to the customer-facing side of your application. Your goal is to help them reach value milestones by making your application intuitive, easier to use, and more valuable. Make sure you understand about creating strong experiments, A/B testing, and multivariate testing.
7. Align Customer Success with Product Development
Customer success is a relatively new tool in software development, but it’s critical. The idea is that customer success operations can be used to gather important information about how your customers use your application, what they would like, and where they are having trouble. The more you learn about your actual customers (not would-be customers from sales), the quicker you’ll push development and move toward product/market fit.
Iteration Never Ends
Technically it’s possible that your product could reach a point where you’ve achieved maximum market potential and no more improvements can be made. But that’s unlikely. Products can always be better.
Besides, markets and customers are always changing. The person you sell to today might shift into a new person tomorrow. If a significant segment of your customer base is evolving, so should you.
For best results, you should be cycling through product iteration throughout the life of your business. It feels slow, but it’s actually the shortest path to success. You should never stop investing in good engineering.