Technology has progressed in leaps and bounds over the last twenty years. Advanced technologies, such as object orientation and polymorphism, have empowered software developers to design powerful software in a fraction of the time. However, even with these new advanced development tools, software solutions fail far too frequently. One of the most common reasons for this high failure rate is that not enough emphasis is placed on the people who will be using the software.
Software developers are too focused on business processes, and often ignore the cultures and skills of people within the organisation. Development teams prefer to concentrate on these processes, which tend to be objective and easy to code around. In contrast the way people think and communicate in a company is complex and in many cases extremely subjective.
Ignoring end-users in software development is extremely costly because this means the business has to change its entire structure to suit the software. Managing change within an organisation can be challenging, at the best of times, and having to manage change around complex software solutions can push a business to breaking point.
A person with a business background and management experience will focus more attention on linking the business processes to the company’s personnel. The development team should also include someone who will be responsible for training and change management.
Simple prototypes should be developed first so that they can be thoroughly tested by the company. This is a great way to include end-users in the design of the software and get real feedback. Redesigning software at this early stage is far easier than making major adjustments after the software is complete.
If software developers remember that people not processes are king, more software development projects will be successful.
Article by Duncan Stainer