Technology is unstoppable. There are almost 8 new internet users added worldwide every second. New software programs are written every single day. In December 2011 there were over 6 million iPhone apps being downloaded per day!
If you count the number of software applications you know how to use I’m sure you would be surprised. Go on, try it (yes, Angry Birds counts too!). Considering that computers really only became mainstream in 1980 and the Internet really started to gain mainstream demand in around 1995 – we all have mastered an incredible number of applications.
What’s the problem then?
Those of you who run construction companies utilising large scale software applications will be aware of a frustrating conundrum. Small software applications that assist with a singular aspect of your business (e.g. The timesheets or the project estimating etc.) are usually relatively user-friendly. Large-scale software applications that can deliver you huge cost savings and efficiency by integrating all aspects of your business however are often seemingly complex and employ a user interface that is difficult to use. And this is no small, superficial issue – employees finding the user interface and user experience of large-scale software systems as overly complex has been found to be a “major issue” according to many research firms.
So why is this the case? Your people didn’t have to undergo training to make their Angry Birds app work. Your teenage son didn’t have to read a hefty user-manual to do his online e-tax return. Why should the biggest and best software systems be so difficult to use? Well, truth is, they don’t have to be.
Of course, to an extent, large-scale systems that integrate all aspects of your business, streamline your processes and thus deliver real cost savings (such as ERP systems) will require your people to do some training. The systems shouldn’t however be illogical or complex to the point where your people won’t use them. Complexity to this extent can be put down to poor design.
What constitutes good software design?
There are plenty of principles, approaches and opinions about software design out there however most would agree that at the centre of all good software design must be the user.
User-centric design is fundamental to the development of good software applications. In this case, the productive use of the software itself will stem from what users need it to do. This motivation to deliver the user a system to get done what they need to get done in the most logical, efficient way that is compliant with any necessary business standards will remain the motivation from initial concept paper through to delivery of the application to the end customer. Extensive user testing will also therefore take place throughout the development process.