How You Can Develop Better Software

With an app for everything and SaaS startups popping like mushrooms after the rain the competition for users has gotten fierce at the software domain. Coding just another product that “does some stuff” is no longer enough.

Users who spend 10+ hours a day staring at all types of screens will no longer tolerate a poorly-designed, glitching and weirdly-functioning software product. They will abandon it without giving it a second chance to meet their expectations.

So, how do you make things right when it comes to building brand new software? Should you just hire the best coders and let them do the job? Not exactly. Before bringing together your team, refine your project idea by aligning it with the next principles.

Don’t Try to Be Super Innovative

Trying to re-invent a bicycle and wow your users with an out-of-the-box look may not be the best option when it comes to developing software.

As Ben Galbraith, vice president of global products for Walmart, noted: “Steer developers away from trying for “moon shots” — creating software unlike any seen before.”

Sure, there should be room for an innovation, yet striving for pure innovation will probably leave you cashless. Here’s the deal, when it comes to product design and usability users already have certain mind schemas that result into product familiarity e.g. we all assume that something resembling a button is clickable. It’s okay to break some UX rules, but by completely diminishing them you are creating a product that may have low-adoption rates and simply puzzle the users.

The alternative Galbraith suggests is incrementalism a.k.a. upgrading an existing popular product. Slack is a more convenient alternative to chat apps, which were around for ages. Google Maps were rolled out when MapQuest was already rather popular, yet it managed to crush them out of the market.

Set Up Multiple Review Layers

Nothing is more frustrating (and costly) than a major bug discovered post-release. Not only it will set you back for a hefty sum to get fix, but result into a low-user adoption rate and revenue loss as well.

The solution Serhiy Kozlov, CEO of Romexsoft, proposes is to build a bulletproof check and balances system when it comes to code review. “At our company every pushed commit goes through a multistage CircleCI, which includes running unit testing, static code analysis with SonarQube, peer-to-peer code review and a bunch of automated test case studies on top. When it comes to delivering truly great products, there couldn’t be such thing as “too much testing”. Obviously, to cut down the costs and improve the quality of the development processes the best option is to mix automated testing with manual Q&A for UX and UI features”.

Additionally, a detailed review process will allow you to leave the good stuff behind and pursue developing only the most awesome features the users will love.

Find the Right Balance Between Power and Simplicity

Depending on your product’s ultimate goal you need to find the right balance on the power vs. simplicity scale. For instance, Tim Van Damme purposefully avoided complicated features at Instagram as the app was positioned as a quick and fun alternative to Photoshop and other bulky photo editing software. Yet, people don’t typically use Instagram for 8 hours per day or rely on it to get the work done.

On the other end of the spectrum lies business software, which should be powerful enough to let users accomplish complicated tasks. Google Docs started out with the most basic functions, yet as they grew popular the company started adding additional features e.g. word count, table of contents and other standard things you expect a good word processor to have.

Great business software manage to sustain the artful balance of keeping the interface simple enough while enabling robust functionality. On the other hand, stuffing a personal product with too many complicated functions may alienate a good bunch of users looking for a simple, sleek solution to their problem.

Play the Emotional Card

Love and belonging ranks as #3 at the Maslow’s hierarchy of human needs. Yet, a lot of software products seem to be lacking this “pleasurable” element as the cherry on top and desperately trying to compensate it with “functional”, “usable” or “reliable” factors as Aarron Walter From Treehouse noted.

Playing the emotional card and instilling certain positive feeling with your product e.g. joy, pleasure, amusement, surprise, exclusivity etc. can create a powerful bond between your company and your users. Think about how Twitter recently changed “stars” to “hearts” or those Easter eggs you can discover at Google, YouTube or Siri.

Those could be tiny details or minor features e.g. a funny 404 page or one cute element inside the product. People love to discover treats in interfaces just as the do in real life.

Did you find this article helpful? Click on one of the following buttons
We're so happy you liked! Get more delivered to your inbox just like it.

We're sorry this article didn't help you today – we welcome feedback, so if there's any way you feel we could improve our content, please email us at

Written by:
Dianna is a former ESL teacher and World Teach volunteer, currently living in France. She's slightly addicted to apps and viral media trends and helps different companies with product localization and content strategies. You can tweet her at @dilabrien
Back to top