Saturday, 18 May 2013

Searching for Agility and Industrial Strength?

Many organizations are looking for ways to improve business agility and innovation enabled by information technology. Moreover, they are concerned about the increasing Cyber Threat, to core business systems, that comes with new technologies.

The challenge for the CIO and his/her team is to find a way to strike a balance that preserves the integrity of 'mission-critical' systems, but at the same time, allows for agility, flexibility and creates the conditions for business process innovation.  In short, they need to create an ecosystem that, on one hand, provides an environment that is inherently adaptive, one that allows for emergent behavior, and on the other, protects the business operation. Such an ecosystem is described in the latest book from Jason Bloomberg: "The Agile Architecture Revolution". In it, he refers to concepts from Complexity Science and suggests that organizations are best understood as a Complex System of both technology and people. The System of the Organization is, in fact, a System-of-Systems which interact to deliver business outcomes in the form of products or services.

An analogy with a commercial aircraft as a 'Complex System' or 'System-of-Systems': the many sub-systems, each have a  well-defined purpose and expected outcome, and together, work in concert to deliver a safe and commercially competitive experience to the passengers. However, one sub-system can have very different core characteristics from another. It is clear, for example, that a core characteristic of the undercarriage with be strength - it is therefore a 'Robust System', a system that is design to be 'Fail-Safe'. In contrast, the defining characteristic of the wing will be it's ability to flex (else it would snap off!), hence the wing is a "Resilient System', but it is also designed to be 'Fail-Safe'. Contrast, those two sub-systems with the 'Seating-and-Entertainment' system: an important feature of this system is the ability to change it quickly to keep up with competitive in-flight experience demands and allow for re-configurability of the cabin space. 

The need for 'Business Agility' in this area was demonstrated, when Cathay Pacific introduced new seats in the economy class cabin. They received overwhelming  feedback that their new seats were uncomfortable and many passengers complained of back problems after long-haul flights. Passengers started to vote with their feet. While this was clearly and expensive lesson in 'User Experience'  testing, commercial disaster was averted by their ability to react quickly. This was only possible because the sub-system in question had been specifically designed to be easily swapped-out - it is an inherently agile system that can be described as having a 'Safe-Fail' quality.

Going back to the organization as a Complex System, identifying the fundamental characteristics of the sub-systems of people interacting with technology within an organization is critical to understanding how the correct balance of agility, robustness and resilience is achieved across the whole the enterprise. As has been said many times before, one-size-doesn't-fit-all! (i.e. we're an 'SAP shop' so let's use their products wall-to-wall!). Understanding that starts with knowing the outcomes to be delivered by each sub-system and how they work together to deliver safe, secure, and at the same time, flexible systems.. In the context of Business-Technology, this understanding can only be gained through insightful and informed, whole-business design, that understands the behavior of the business as a combination of people, process and technology. This, in my opinion, should be a primary focus of Enterprise Architecture. Critical design patterns are often overlooked when the notion of Analysis and Design is limited to project-led solutions, that at best, describe the desired features and functions of a narrow 'User' community. This has not been helped by the IT industry's constant ability to misappropriate such terms as Agility, Service Orientation and spin-off into, often faddish, ill defined concepts like Cloud computing and BYOD.

Like Mr. Bloomberg, I believe it's now time to re-think what a Business-Technology Architecture needs to deliver. Many of the original concepts of the thought-leaders in Enterprise Architecture are still very relevant -  Jason makes that point the the original idea behind SOA (Component-Based Architecture) are even more relevant today and he airs his frustration with IT software vendors' re-badging of middleware as 'SOA' - all but destroying the original concept. There are many other examples. However, he and are are not alone in our belief that understanding organization as a 'Complex System' is vital today. Others  like Tom Graves, Richard Veryard, Chris Bird, Darrach Ennis, Simon Wardley and Sally Bean have been banging this drum for many years!  

This is a big subject  and I recognize that this is a very 'What' rather than 'How' focused post. I'd be happy to take the discussion further and share ideas on how I'm starting to make-sense of the Business-Technology challenges I'm facing in my day-job - ranging from core SCADA systems to Consumer-led IT and the 'Cloud'.  As always, I'd be delighted to hear your views, builds and challenges to this post!

A much earlier related post here

Update:
This discussion continues here based on comments below.


9 comments:

  1. This reminds me greatly of Stewart Brand's book, "How buildings learn." I the early pages of the book, he identifies the shearing layers of a buiulding from the Site (slowest to change) to the "Stuff" (changes most frequently).
    The analogy is helpful to me because it helps me think about how resilient components of the business and associated systems need to be. It also helps me understand and loosely quantify what it might cost to make a change at a shearing layer. From cheap (color scheme on a screen) to expensive (wholesale moving to a software managed infrastructure). And yes I am staying in the information systems domain, but the analogies work well in the domains of business value. It might be instructive to layer VPEC-T over shearing layers and see what happens.

    ReplyDelete
  2. Nigel,

    At the recent Integrated EA conference Tom Graves spoke about the notion of backbone and edge. The backbone being where the core robust and resilient elements sit and edge is the playground that enables agility. This division in itself implies / demands different 'engineering' practices to deliver backbone vs edge elements - may be one clue for the organisation of IT to deliver against these different demands.

    The key question of course is how do you determine what sits in the edge and what in the backbone? This partitioning is of course down to architecture, but how do you go about it?

    It's interesting that you should use the airplane example, certain aircraft (e.g. 747) are a good example of an architecture that has persisted over time, but virtually every part has changed. This illustrates the fact that even the robust and resilient elements change within the context of the whole. Don't forget the architecture of the aircraft goes beyond the airframe to include the design of airports etc.

    The overall architecture of your system of systems provides the basis of the backbone and is populated by elements that don't change or have low rate of change. Chris Bird talks about shearing layers, I like to think about pivot points I.e. the stable parts of the architecture that change can be managed around. To put it in business terms these are the elements that define our business and if we change them we're in a different business or at least have major upheaval? Such elements are rooted in the business model (I.e. how we make money). They include the organisations values, the key things (objects) we do business with, the essential capabilities required to deliver our products / services and who we do it with.

    Note the implementation of elements can vary but their existence is essential to the architecture.

    ReplyDelete
  3. Thanks Chris and Adrian for your thoughts. I started to write a reply to your builds and observations, but soon realised a 'Part II' to this post might work better.

    ReplyDelete
  4. Hi Nigel - great article - thanks.

    "This has not been helped by the IT industry's constant ability to misappropriate such terms as Agility, Service Orientation and spin-off into, often faddish, ill defined concepts like Cloud computing and BYOD." - all too darned true :-(

    Adrian - many thanks for pointing to my ideas about 'backbone and edge'. The slidedeck for that conference is up on Slideshare at http://www.slideshare.net/tetradian/backbone-and-edge-architecting-the-balance-between-continuity-and-change

    I'd strongly agree with both Adrian and Chris about pivot-points and shearing-layers (impacts over various/varying timescales).

    I spent almost a decade working at an aero-research lab, so I'd also agree strongly with Adrian about the actual volatility of an airframe: the configuration of components that's called 'the aircraft' changes an enormous amount over its lifetime (hence the whole discipline of configuration-management).

    There's quite a lot more on my blog on the 'backbone and edge' themes: for two recent examples, see 'Migrating from edge to backbone' http://weblog.tetradian.com/2013/04/28/from-edge-to-backbone/ and 'More on backbone and edge' http://weblog.tetradian.com/2013/05/04/more-on-backbone-and-edge/

    Thanks again, and hope this helps?

    ReplyDelete
  5. Hi Nigel -- Just a quick comment. I love your point of view, and I have been banging on these concepts of enterprises as living systems for a good long while myself ( http://www.enterprisology.com/node/41 ). I would like to make the point, though, that while the aircraft idea is an interesting analogy (hailing back to Zachman), we don't really need analogies, do we? The aircraft is not an enterprise. Enterprise is in the design, building, maintaining, and using the aircraft in its appointed missions. I have the same point about Brand's shearing layers. And Alexander's architectural pattern language. I just prefer to focus on examples of the types of systems we're actually dealing with (living human social systems) than divert ourselves with analogies? Aren't we ready for that yet?

    ReplyDelete
    Replies
    1. Thanks for the comment. I would like to believe we are ready for the business-as-an-organic-system much in the way I describe in "Lost In Translation" and using the VPEC-T framework. I have since found, however, life at the 'Coal face' requires that I take people on the journey via analogy. Always less than perfect, but I seem to be gaining some ground! We're even beginning to discuss the merits of Dave Snowden's work (Cynefin) and its potential to help us innovate. Frankly, I've found the more advanced thinking in this area hard for traditional businesses to adopt - let's face it VSM has been around for over 50 years and is still far from in the mainstream!

      Delete
  6. This comment has been removed by the author.

    ReplyDelete
  7. Thanks for the article Nigel, illustrating some very useful concepts. One thing I'd like clarified : how does "resilient" differ from "agile", particularly with respect to IT systems? Is it that resilient means "doesn't need to change" whereas agile means "able to be easily changed"?

    I'm thinking that an automated BPM where the end user can change the process without involving too much IT would be both resilient and agile?

    Thanks Pat

    ReplyDelete
    Replies
    1. Hi Patrick,

      I would say that “resilient” is the ability to withstand changing conditions whereas “agile” means rapid change. The “System-of-Systems” called “BPM” in your example might contain sub-systems (components) that are predominantly either “resilient”, “agile” or “robust”. For example, I was looking at a micro-Services reference architecture recently and in that the services sub-system is agile (actually disposable very rapid changeability) but I would describe the ‘event message bus’ sub-system as highly resilient due to its ability to process any event message type without prior knowledge.

      Cheers,
      Nigel

      Delete