Over the last decade, we have seen technological advancements that were not foreseen or predicted to this degree. The generation has grown even without noticing the most powerful engineering accomplishments that have happened in their era. Business houses have been working overtime to solve someone’s problem into solutions that are simple and scalable. The real power of engineers and developers is in turning something incredibly complex into something amazingly simple. The mobile app world has emerged even without a hint of complexity behind the operating systems, app development and other communication protocols, and consumers have just become ‘touch’ crazy into a ‘button-less’ world. Great engineering is not about avoiding but hiding the complexity of your solution.
IT enabled products are not far different from any conventional products in that they are also being consumed by same users who use automobiles or anything for that matter. Technology is just an enablement for the product development, but the overall success depends on how well you have fitted yourself in the shoes of your target customer/consumer.
Keep it Simple Stupid!
1. Whatever you code, whatever you fix, any bug that you report and any marketing activities you do should be oriented towards your end consumers. Visualize your work and product from the end user perspective.
2. Watch someone else using what you have built and learn how and why they are using it.
3. Technology is just an enabler.
4. There is a huge difference between technically complex product and user oriented simple product.
5. Add features without adding complexity. No training or learning should be required for end users to use your product features.
6. Orient your design such that complex features appear simple to the end users/consumers.
7. Product development with ‘simple’ orientation is not easy. It needs organization level initiative and orientation.
8. Good product design involves coordinated effort.
9. Do a usability engineering and invest and getting early feedbacks and frequent feedbacks – Iterative releases would help you in accomplishing user oriented design.
10. Build Minimally Viable Product and iterate based on your end user interaction with your product features – the simplest of simple product.
11. Realign your goals at regular intervals and ensure it is oriented towards end user’s problem and you are solving it without adding further complexity.