Modern software development: "survival of the fittest”


This article was published in the Ergon Magazine SMART insights 2020. Order your free copy now ->

Innovation and technological progress have made software business-critical. Indeed, software innovation now pervades every facet of our lives and has upended entire sectors. These days, anyone wishing to make a difference must constantly stay on top of the latest software development trends and know which way the wind is blowing in their chosen operating environment. The software projects that ultimately succeed are those that can identify and meet the requirements of users – needs, after all, often catalyse new opportunities.

Software is becoming ever-more complex, with new technologies, methodologies and integrated approaches compounding the situation. The pace of change is picking up and firms are under relentless pressure to develop, while remaining agile and customer-centric. Tried-and-trusted business models are being questioned and redefined. Moving with the times, setting the right priorities and staying focused are becoming essential survival traits. Equally, it is more important than ever to be familiar with clients’ needs, as these may yield new opportunities. Identifying, understanding and reacting to such requirements is crucial to staying competitive, and, of course, presupposes responsiveness and focus. But how can companies identify customers’ needs? And how can they tell which of them are genuinely important?

Patrick Federi, Ergon

“If the user experience is neglected during development, you are likely guaranteed to be missing the target.”

Patrick Federi Head of User Experience Design, Ergon

Understanding the big picture

Companies wishing to grow their revenues invest large sums in developing new products and services. Executives tasked with digitalisation must negotiate a barrage of needs and expectations, and set priorities in order to bring solutions to market as quickly as possible and within budget.

But what happens if you get it wrong? What if things don’t turn out the way you or the client planned? You risk ending up with a poor customer experience or having to fix things retroactively. While fixing and troubleshooting are often par for the course in an agile development environment, these activities may swallow up large portions of the innovation budget if focus is lacking. It is almost always faster and more economical to first create and test a minimum viable product (MVP) rather than developing a complete system or product with a view to altering this later based on user feedback. If the user experience is neglected during development, you are likely guaranteed to be missing the target. In an age where customers are fickle and have a wealth of providers to choose from, an unsatisfactory experience may put them off and send them into the arms of the competition in a matter of seconds. In a worst-case scenario, it may also cause reputational damage and impair the company’s success.

A “customer need” is a task that a client wishes to perform by purchasing a product or service. Software teams that think and talk “business” will have internalized this notion and are thus more successful in complex undertakings. They understand the “why” behind the software code they have written and are therefore more successful than teams that myopically write programmes to specifications. They understand the needs of the end client and their work is effective and goal-orientated. In short, the mantra is: “Another satisfied customer – with top-quality software to boot”.

External values are crucial, too

While the focus in software development was once mainly on “internal values”, such as functional scope, efficiency and speed, companies must now also meet increasingly-high expectations with respect to “external values” as well. Simple and intuitive operation is imperative, as is an attractive interface. If an application is too fiddly or unintuitive the user will seek an alternative.

Applications must be designed in such a way that they provide optimal support for the user, allowing tasks to be carried out efficiently and with minimal hassle – “good usability”. Professional design and navigation are critical when it comes to attracting and holding users’ attention. Similarly, clear visual prompts are decisive in eliciting the desired user responses and keeping frustration or confusion to an absolute minimum.

Identifying user needs

Identifying user needs, ascertaining their relevance and basing the next stage of development on your findings might sound like obvious steps to take but these require comprehensive user research. The key is to start small, with a clear goal, and to stay absolutely focused. The more specific and identifiable the target segment, the less time it will take to understand its needs.

“User personas” are a practical way to maintain this focus. A user persona is a representation of a hypothesised group of users with identical ambitions and needs. A project team can always refer back to such a thoroughly researched user persona to visualise their target segment and refine their priorities accordingly.

User experience design plays an important role in realizing human-centred design projects. A range of methods can be deployed to incorporate actual users into the development process or to evaluate existing use cases. Methods such as observation, with additional surveys within the relevant working or use environments, known as “contextual inquiry”, are eminently suitable for extracting detailed user and process information.

Observation and targeted inquiry make it possible to analyse how users navigate through a digital product and to identify the “pain points” that have to be eliminated. For complex tasks, in-depth consultations or quantitative surveys can also be carried out to complement observation and contextual interviews.

Having “walked a mile in the users’ shoes” and understood their problems, a collaborative team consisting of business, design and development experts will use tools such as design sprints and user journey maps to work up a prototype solution to be tested on users.

Clickable prototypes simulate the finished software without expensive programming. This allows time-to-market to be shortened, making sure everyone is on the same page and validating a potential idea so that a solution to the problem can be approached over several iterations. This phase is all the more important in the case of a new product idea, as previous potential solutions may have been developed on the basis of assumptions alone.

It is a characteristic of digital products or services that these can be adapted to user needs and expanded with new functionality at any time, so, after “going live”, it is important that companies continue to listen to user feedback and update the software nimbly.

David Nyffenegger, Ergon

“Take a leap of faith, step by step: it’s more effective than one big jump.”

David Nyffenegger Team Lead Augmented Reality, Ergon

Achieving greater relevance through focus

Understanding customer needs alone is no guarantee of a successful existence within the market. Even the best-laid plan is useless if it cannot be realised. At least as much thought must be given to the implementation process as to the design.

The people involved will play a pivotal role. Just how important it is to work with the right stakeholders on projects is often underestimated. A small, but not too small, team that is stable and experienced will achieve more than a large taskforce that is in constant flux. An open and respectful culture that is tolerant of mistakes is a prerequisite for trust, encouraging innovation and promoting productivity. The value of a high-performance team has long been apparent and canny companies will, therefore, often set greater store by the quality of the team than the idea itself.

The process model selected will also greatly influence how quickly and efficiently the project can react to market needs. Agile process models, such as Scrum, deliver high flexibility without a complicated organisational infrastructure, support speedy innovation cycles and help to steer the focus onto business value. This harbours enormous potential in a constantly shifting landscape. Courage can be required for a leap of faith but tackling it step by step, iteratively, can be more effective than one big jump. Short, rapid decision-making pathways, clearly defined responsibilities and determination are, likewise, all key success factors.

There is a direct correlation between the scope of the product to be devised and its time-to-market. Less is usually faster and, thus, also more, if time is of the essence. The ability to make alterations of all kinds, including new functions, features, configuration updates and fixes, safely, quickly and sustainably is essential to keeping software in shape. Help for users will not be slow in coming if projects and processes are set up such that new versions can be delivered at almost any time and with little effort – many proven technologies and procedures have been grouped under the umbrella term “continuous delivery”.

Appropriate architecture is fundamental if a project is ultimately not to fail because of its technology. Architecture is appropriate if it both provides a firm foundation and is flexibly expandable. Designing, creating and upgrading such a system requires considerable expertise and experience. Successful entrepreneurs must spot technological trends on the horizon and incorporate them into their business planning in the same way as they monitor the market. They must strike the right balance between relying on tried-and-trusted technology and openness to exploring uncharted territory. Such a foundation will make it possible to react more swiftly and pertinently to new needs, with lower risk exposure, and it will be easier for the various players to stay focused.

Digitalising once is not enough

Human habits and needs are changing faster than ever and, as a result, so are our expectations. Digital products are, therefore, never definitively “finished”. Instead, they undergo continual upgrading. The software of the future will be human-centred but high-tech. It will be at once complex, networked, intelligent and user-friendly. This means that client-focused software development, a process that invariably opens up new opportunities, will be indispensable. To remain relevant, companies will have to cultivate a close relationship with their users – their customers – and nurture this bond at regular intervals in order to respond quickly to their needs, time and time again. To achieve sustainable success, it will be all the more important to make sure software remains fit for purpose – starting from day one.

This article was written by David Nyffenegger, Team Lead Augmented Reality, and Patrick Federi, Head of User Experience Design.

Interested in more?

Digitisation projects
Change makers
Tech trends

Order now
Order SMART insights