Back in 1976, the idea of personal computing was somewhat different to that of today. The Apple I computer sold 175 units, and was considered revolutionary for its time. It came with one small catch – you had to build your own case.
A modern comparison to the original Apple I computer would be the raspberry pi, which has sold an impressive 12.5 million units. It too, requires you to build your own case.
Apple has since matured and become the colossus it is today with billions of items sold, and it likely seems unfair to compare these two when you look at today’s numbers.
And so it goes with software. Having a great idea or framework is a start. But that is only the beginning of the product life cycle, there’s a lot more to product planning than just having a good idea and throwing something together.
So, how do you make your product work in the market?
Over the past decade at reinteractive, we have had the privilege of working on a wide range of projects for an amazing group of clients. We have created software solutions for both come of the largest companies and many start-ups. From automating a single process (saving hundreds of thousands of dollars for the client) to solutions that perform registration solutions for hundreds of thousands of users.
We’ve reviewed the code of hundreds of applications - large and small - and we’ve helped a great number of ideas make it off the ground.
If there is something to take away, it’s the fact that you rarely see an application based on a poor idea, or one that has no chance of gaining traction in the marketplace. Sure, some are better than others. But, when the rubber meets the road, these ideas all have merit and provide a definite benefit for users of the platform.
But what makes the difference between an application that’s successful and one that’s not?
A recent example was a client who had engaged our services for UX on their software, followed by development. At their request, design was omitted. They had a really good application that filled a genuine need. But, while testing with focus groups, they received feedback that it was unworkable and “hard to use”. Engaging the services of our visual designer, and applying this to their site created huge impact, ultimately leading to widespread adoption, and the commercial success of the application.
A few years ago, we encountered a client who had a fantastic idea. They had developed their software and were hoping to have thousands of concurrent users flood their site, signing up for their service. Their development had been tested with one hundred users, but would fall over with any more than than that. The solution was to have both Development and Operations Experts working together to refactor the code to ensure it was a success. On launch day they had over 50,000 new users sign up, and received over 400 requests per second! The app remained stable and handled this volume with no slowdowns or outages.
What makes the software successful is taking a holistic approach to development.
There are a number of disciplines that go into making a successful software. Full and proper planning of scope and goals and marketing research. Working out the minimum viable product for the application (MVP), proper estimation of the project, UX, Graphic Design, technology choices to decide what will best address the need, development or the actual coding itself, QA, and then maintenance and Operations of the software and keeping it fully relevant.
In other words, without all the aspects that make up proper software development, software projects are doomed to fail. And from our experience, it is having all of these aspects, properly executed, in one package that really makes a project successful.
In summary, a holistic approach to making great software is the only solution. It must include each of the disciplines of UX, Design, Development and Operations all working together to create an attractive, robust, easy-to-use and easy-to-maintain solution. Once the system goes live, you must continue development and operations to keep it up-to-date and secure.
The Axioms of Software Development - Part 2
Type less when using Git on the command line with gitsh
The Axioms of Software Development - 1 of 4
reinteractive is Australia’s largest dedicated Ruby on Rails development company. We don’t cut corners and we know what we are doing.
We are an organisation made up of amazing individuals and we take pride in our team. We are 100% remote work enabling us to choose the best talent no matter which part of the country they live in. reinteractive is dedicated to making it a great place for any developer to work.
Webinars are our online portal for tips, tricks and lessons learned in everything we do. Make the most of this free resource to help you become a better developer.
The Ruby on Rails Installfest includes a full setup of your development environment and step-by-step instructions on how to build your first app hosted on Heroku. Over 1,800 attendees to date and counting.
The Ruby on Rails Development Hub is a monthly event where you will get the chance to spend time with our team and others in the community to improve and hone your Ruby on Rails skills.