Software designers: Lose your inhibitions, embrace complexity
And mind the gap...between business and IT
Opinion One of the most persistent reasons quoted for software project failures is the gap between Business and IT – the lack of common understanding, clear communication and shared culture between those that commission solutions and those that design and deliver them. The discipline of Systems Thinking can narrow the gap by envisaging businesses as complex modular systems providing and consuming services – a universal model easily understood by both business experts and IT practitioners.
Few software architects are business domain experts and so they can feel inhibited (or are actively discouraged) from leading business design activities. On the other hand, their business colleagues rarely have the design attitude and technical affinity needed to shape effective solutions, particularly when innovation is called for.
The perennial gap between business and IT does not exist to the same extent with other business specialisms. It has its roots in weak communication, strong differences in culture and attitude, incompatible objectives and often mutual incomprehension. These issues can fade away when business and IT share a common model of the organisation and its functions built on Systems Theory.
For Systems Thinkers, a System is a set of interacting components creating a recognisable and integrated whole. There are two features about Systems in general that are of immediate interest to IT architects: they transform inputs into outputs via processes and they collaborate by providing and consuming services.
Looking at the human body as a System, the lungs use the process of respiration to provide an oxygen-delivery service to the brain, whilst the brain uses the process of cognition to consume input from the eye to create vision. Building on these simple characteristics, Systems also exhibit characteristics such as feedback loops, homeostasis, early and lagging indicators, goal-seeking and boundary shifts. Systems are everywhere, including river systems, political systems, education systems, computer systems, social systems and, of direct interest here, organisational systems.
Business organisations are dynamic combinations of social and technological systems. An organisation is less clearly defined than a human body because different people see organisational boundaries differently and ascribe different purposes to the organisation according to the relationship they have with it. Amazon, for example, might be viewed as an online store, a library of product reviews, an employer, a source of profit, a trading partner, a commercial rival, a target for denial of service attacks, or a source of tax revenue. Each viewpoint brings different parts of Amazon into focus.
Every business organisation is a complex system – a hierarchy of interdependent, collaborative subsystems called Business Capabilities. Capabilities define what a business does rather than how it does it, so typical capability names include Raise Invoices, Deliver Stock, Manage Debt and Report Results. Business Capabilities can be structured hierarchically, with perhaps half a dozen top-level instances decomposed up to seven levels deep until a capability contains exactly one business process. However, they interact with each other and the outside world much more fluidly through a complex network of formal and informal services, many of which will be prime candidates for web services.
At the capability level, many organisations look surprisingly similar in what they do, so much so that the term ‘Business Genome’ has been coined. These similarities seem highly stable across organisations and through time – despite immense technological and social change, after 100 years Ford still buys raw materials, design, build, markets and sells cars and, most of the time, makes money. The real differences are in the way capabilities are implemented, the combinations of people, processes and technologies that transform inputs into outputs. They change markedly from one organisation to another and within an organisation over time. If capabilities map the business genome, their implementation is as unique as a DNA profile.
For software architects, one of the biggest advantages of working with Business Capabilities is that their client organisations begin to look like very much like web-service-enabled software applications. Design patterns for service-orientation, encapsulation, customisation and reuse become highly relevant and useful in a business context. Yet Business Capabilities are readily understood by business colleagues and so provide a shared means of communication that is consistent across a business, its processes and its technologies.
CIOs and CTOs identify the alignment of business and IT as a chronic issue. Business Capability Mapping and Systems Thinking offer real hope of a step-change in finally getting business and IT people talking the same language for the benefit of all ®.
Mike Lloyd is managing consultant at Stuctia. He has designed and delivered numerous major software solutions for the likes of the Royal Air Force, many financial services providers and a Formula 1 team. He now advises a number of blue chip organisations on their strategic change programmes. You can see him present at the "Iasa UK Architect Summit - Enabling Disruptive Innovation" on the 25th and 26th of April 2013 in London. Click here to find out more.
Sponsored: DevOps and continuous delivery