Top 10 Principles for Building Great Software Products
Building a profitable product, which excites your users and isn’t a technological minefield at the same time, can prove tricky. It can almost seem impossible for the rest of us who aren’t tech giants. Stories about product failures and startups who closed down, don’t make a fun read on a Sunday morning. We prefer to celebrate success, so we rarely hear about them. Countless failed startups never got the product right, and a rivaling number of large company products were huge flops despite the marketing force behind them. Without a great product or service, you cannot build a great company. This might sound obvious, yet many still believe spending money on great marketing and PR can sell products. This is because the alternative of investing in building great products seems more time consuming and sometimes, a maze.
Building great products is hard and is a skill borne of experience. Many believe, they can build and design products because they have an opinion about the products they use. But great product people are a rare find. What’s worse, there is no formal training to become one. The best product people are ones who have learned through years of experience, through numerous rounds of trial and error. They are people who are passionate, yet objective about design, always on top of the latest tools and technologies and obsessed with the user experience. However, since anyone can debate about the functionality or design of a product without needing formal training to understand it, unlike in engineering, law, medicine, and most other fields, often the wrong people end up responsible for building products. Below are mentioned a few pointers that have helped us build admirable products.
1. Data is your guide
Guess less, use the data. Hunches and risky bets don’t always pay off. Make sure you’re building the right product before you fret about building the product right. Initially, don't spend time debating about the details of the product features, or on fixing the small issues, or the intricacies of the technology you will be using before you are certain what you are working on is what the market needs. No matter how good your intuition is even if you are an experienced product designer or manager, seek to back that intuition by leveraging the data available in the market, available through your competitors and provided by customers. Set a plan of action to refine, iteratively and validate your thesis and intuition. You will always find a method and a process behind the genius.
2. Staying detached
Most new startup founders and product managers you come across will be extremely passionate about their ideas. Passion sometimes blinds you to the flaws. Don’t marry your ideas, think like an investor, remain objective. Even so, don’t lose your passion, that is what will carry you through the slow days. The best way is to keep a balance. To be excited about your ideas, but at the same time, unafraid to change them if data points to certain loopholes or weaknesses in them.
3. Be the user
Get in the habit of using your own product on a daily or weekly basis. This way you’re putting yourself in your user’s shoes. By doing so, you’ll be able to spot problems in the customer experience early on. You’ll pick up certain natural optimizations, like, maybe we should place this button on the left, not the right when your hand instinctively looks for it on the left side of the screen rather than the right. While using your product, you’ll also get new ideas for useful features. To make this effective, make sure you’re self-aware when you’re using your product. Pay attention to tiny twinges of laziness or frustration that runs through your mind. Perhaps something like, I wish we could skip this part, or why do I have to enter this here again?
4. Don’t wait for perfection
Initially, focus on building a decent Minimum Viable Product. Of course, it should be good enough to put in front of customers. Then iterate on it based on testing, learnings, and measurements. This will not only cost you a lot less but will also prove a quicker way to build the right product. Making small measurable changes, testing often and accordingly refining the product is a lot more effective than making big, time-consuming changes that are more harder to test and more challenging to get rid of, if they don't work.
5. Ask your users the right questions
Ask them if he or she would use your product not just if he or she could use it. There are enough reasons why someone who could use a product would still choose not to because of habit, price, switching costs or any other reason. Figure out what their real habits and needs are. Observe them using yours and your competitors’ products at different stages of development. This process takes time but is extremely valuable as you design your product. There are enough tools out there today to help you conduct your customer research more systematically, from analytics to surveys and behavior tracking, as well as smart customer support and feedback tools.
6. Do away with the frills
Don’t underestimate the power of simplification. What you choose to remove is as important as what you put in. Learn and understand when to say no. Don’t forget, the beauty of the iPod was its simplicity.
7. Your team
It takes a team. Build an active and strong product organization. Don’t underestimate the need for the right people in the right roles in order to measure the data, conduct your user testing, iterate on development, define the features, and coordinate the process. Take out the time to recruit these people, train them and design the right processes to be used.
8. Question the status quo
The partners we work with bring their substantive knowledge about the industry and customers along with the understanding and vision of what they want to build. Even then, there will be times when this knowledge isn’t based off something that was ever verified or tested. Learn to take everything with a pinch of salt. Most businesses do things a certain way because that is how they’ve always done it. But, what worked for you today might not work for you a couple of months down the road. Use existing data to validate claims and more importantly, get in the habit of testing certain beliefs with actual users and stop relying on opinions so much.
9. Use deadlines to your advantage
Constraints have always surrounded us. We are given 24 hours in a day. We have only so many ways of getting to work. Limitations while keeping us focused and grounded, force us to prioritize. Learn to work within deadlines. Leverage timelines to your advantage, most projects in the software world are plagued with delays, usually because it’s hard to predict future outcomes. There are far too many variables to take into consideration. So no matter what, expect to be off your early estimates, and this is ok. It is a lot more necessary to continually adjust along the way because not everything you imagined will make it into the next release.
10. Prioritize early
Try and capture the goals and KPIs of the product early on. This way you can use KPIs to prioritize your work and adjust along the way. At the outset, when observed on its own, everything on the to-do list seems essential. But priorities start to make more sense, once you list out all the to-dos against each other. Ask questions which force you to think about priorities, like “We have two weeks from now to deliver our product or service, what would the product look like?” In a real scrum manner, try developing your roadmap in a cycle of a week or two. Often, prioritizing is harder than it sounds, but it will pay off later when it allows you to chop off things from the roadmap without negatively impacting the app experience when the launch date is just around the corner.
Lastly, get comfortable with failure, it is the nature of creative work. If you’re messing up, it’s often because you’re exploring different solutions, and the solutions you are working on might be far from what you envisioned when you started the project. End of the day, strive to ensure your product tells a clear, simple and compelling story. Remember, people connect with stories, not with facts and features.