Building a successful software product is hard. But even harder is to keep your software users happy and engaged as your product evolves.
Many successful software product companies falter because they start adding too many features too quickly, making the product unstable, or worse, unusable.
Many of these features may not be useful to the core user base and may even turn them off.
After the company released version 9, the customers were confused whether to continue to use version 7 or switch to 9. Problems with the upgrade caused many customers to move to Oracle, Informix’s chief rival in the database.
More recently, Microsoft dropped the Start button in Windows 8 causing strong customer backlash. It was said to be one of the biggest reasons for customers refusing to upgrade to Windows 8.
This is one of the reasons why BaseCamp (Earlier 37 Signals) goes to great lengths to avoid adding features that would distract it from serving its core base of small and medium companies. Want fancy features for your 10,000 person company? Sorry, we don’t do that.
Why does this happen? More importantly, how can you avoid getting into the trap?
Software product industry is extremely competitive and requires continuous improvements in the product. It’s hard to come up with a winning product but once a startup gets there, it faces an all new challenge. Competitors take notice and start closing in. Customers start asking for features and support that overwhelms the usually small development team.
In the ensuing rush to add new features and expand market, many companies make the fatal mistake of shipping half-baked products or features that turn off the core customers. A growing company needs a loyal, core user group to evangelize the product. Keeping them happy and engaged is critical to the survival and growth of the company.
Is your software startup facing these challenges:
- You are finding it hard to figure out which features to add or leave out
- You are missing release deadlines or are shipping versions with bugs
- Your development team has to double down to test the software because you either don’t have a test team or it does not have the required resources
These are symptoms that you need help managing your product. There are many ways you can address these problems but the first step has to be the customers.
Eric Ries (www.leanstartup.com) believes that customer feedback for product development is integral to the lean startup process as it ensures that the company focuses only on features really valued by the customers.
There is a big difference between a tester acting like a user and a real user using your software. Only a real user can truly tell you how good or bad your software is.
But how can you do that in a structured manner? How do you go about creating a tribe of users and harness its intelligence to improve your software?
You do that by creating a private or public crowd (community) of users, with the right tools in place to engage them. Crowdsourcing user’s intelligence is the most effective and efficient way to get, validate and prioritize the feedback from your most important customers. Kickstarter popularized crowdsourced funding for startups. However, crowdsourcing user feedback is not as simple as it sounds.
There are several challenges such as getting enough number of users to sign up, creating right incentives for them to participate and providing the right tools to capture their feedback and analyze it. Before we get into how to build the “right crowd” for your product, it is important to understand why crowd testing is more effective:
- There are large number of testers (users) who act independently, creating multiple pathways to bugs. This increase the chance that a particular bug can be found by the crowd.
- Since the crowd can find more bugs, it reduces the likelihood of a user detecting a bug after product is released
It is extremely important to get the right crowd to test your product. The right crowd needs to have:
- Large number of users so you can find the right mix of users
- Each user should be capable of acting independently so they can find enough bugs
- The crowd must be diverse to get maximum coverage
- It must have a healthy mix of experts and non-testers to have balanced testing
If you are building a mobile app or web software / SaaS product that needs to work across multiple devices, operating systems, browsers and languages then the crowdsourcing platform can add enormous value. You can test your software quickly and inexpensively and be assured that it would work on all targeted technology platforms as expected. Since these are real people with real devices in hand, your software is tested under real-world conditions, just as a user would use. When you test the software through automated scripts in a device lab, you are testing how your developers “want” the software to be used, not how it will be used.
The crowd-based approach allows you to get feedback as often as you want and in as much detail as you want. The platform provides a structured way for you to design, collect and analyze the feedback saving you both time and money.
Once you know which features are going in your software, you need to plan and execute the product release. Most software startups love to keep as much development in-house as they can. Software developers are the heroes in a technology startup and, not surprisingly, the development team gets the most attention.
Software testing, though every bit as important as development, does not get the same attention. The result is often a test team cobbled together from developers, marketers or even the admin staff. The idea is that everyone is a user and should be able to test the app.
However, testing is a specialized skill. It requires meticulous planning and execution to provide 360-degree assurance to your app. Testing plays the crucial role of gatekeeper to prevent unstable or unusable code from shipping and annoying your users.
Since release dates are important milestones, there is tremendous pressure on the team to release the software on time. The pressure gets amplified during testing as it is usually one of the last activities before the release. An ad-hoc test team, in the absence of a solid plan and lacking specialized skill, can release software with bugs or features not designed the way users want it.
Also, a test team that includes developers cannot act independently of the development team. It can fail to identify potential bugs due to conflict of interest or because a developer does not see it as a bug.
You need specialist skills to test application security, reliability, functionality and scalability. Hiring full-time employees who can cover all these tests are usually not feasible for most growing startups. It is also not advisable since not all of them will be utilized 100% all the time.
Smart startups fill this gap by outsourcing some or all of their testing needs. They simply hire testing resources on-demand. These include specialist who can create test plans and perform security, load, and functional testing. Companies save on cost by paying for resources only when they need while making sure that the software gets full testing coverage.
Outsourcing testing also eliminates the need to invest in testing infrastructure such as devices and tools. The testing service provider is expected to provide the infrastructure along with test professionals.
While there are several software testing service providers, you need to look out for companies which have experience in working with software product startups. You need partners who are fast, flexible and willing to accommodate your custom needs. For example, a testing company that provides testing support to large banks for their banking applications will not be able to meet the needs of a startup building a mobile messaging app.
You can reduce the cost of testing even further by working with an offshore testing solution provider. These companies have test specialist working out of lower cost geographies like India. Since a tester costs a lot less in India, you can make substantial savings on your testing spend.
While offshore testing center is a cost-effective solution in most cases, it is not for everyone. Smaller companies have limited resources. It is difficult for them to invest in finding the right offshore partner to trust their product with. The product is the core of a software company so it cannot afford to outsource testing to a vendor who cannot execute flawlessly or may not provide adequate protection for the intellectual property. Smaller companies also lack experience in managing offshore outsourcing. They are not sure how to outsource, what and how much to outsource.
A rigorous testing plan, executed well, will ensure the software you ship is free of defects. When you combine it with continuous feedback from your community of users, you also ensure that the software delivers the experience your customers will love.