I believe that any software developing company that wants to have a competitive advantage needs to stop focusing on just building features, but instead focus on the users.
Many companies seem to focus on the checklist of features that are dreamed up by marketing. Most of these checklists result from doing ‘competitive analysis’, just look at what the competitors, and do that too. Development teams have to copy all the software features of the competition, just to keep up. That is mediocrity at its best.
Developing software is not a unique trait. It’s not that hard as it used to be, the lab coats are long since gone. Coding can be outsourced to China or India at a fraction of the cost, as can many other aspects of software development.
Shipping a huge amount of features became relatively cheap. The time of industrialization has come for software development. Lines of code are becoming cheaper every minute. A lot of open source software (‘free software’) now has the same (or more) features as commercial available software.
So, it is not about building a huge amount of features.
It is about building clever software that works really well, in its context. Companies have to build revolutionary, groundbreaking, surprisingly good software to be noticed and successful. It has to be different and fresh, revolutionary perhaps.
How do you do that? Invest in interaction design. Do research to find out who your users really are. Talk to them. The real users.
Learn about them. Find out what they need. Find out what they like, what they don’t like.
Learn where your software becomes part of their lives.
Learn how to improve. Improve your software, and learn more. Make your users happy. Never lose them out of sight.