Beyond labelling

Project management is bad, product management is good. Estimates are bad, forecasts are good. Management is bad, leadership is good. MBAs are bad, MFAs are good. This is agile, that is not. This is lean, that is not.

Such focus on labelling and promoting one idea at the expense of another does not give me much these days. Instead, I am much more interested in learning about different schools of thoughts, hearing nuanced perspectives, and understanding in which context and for which purpose different traditions developed.

I am much more interested in attempts of integration, such as Jesse James Garret’s The Elements of User Experience: User-Centered Design for the Web and Beyond and Milan Guenther’s Intersection: How Enterprise Design Bridges the Gap Between Business, Technology and People, than any attempts of establishing one tradition’s superiority over all others.

This is also true for topics beyond technology, and perhaps even more important there.

We need all the help we can get if we want to deal successfully with the big and small challenges we are facing today. This means selecting our tools wisely and not rejecting potentially useful tools because of their origin or any label they may carry.

The Oath of Non-Allegiance promotes a similar view. I begin to wonder whether signatories (myself included) should be required to re-read it, reflect on it, an re-sign it if they still believe in it every quarter or so.

Advertisements

Liveable application landscapes

Sarah Mei published a Twitter moment titled Livable Code.

The moment’s description reads:

“The modern practice of software isn’t much like architecture or construction. The buildings are largely built. These days, we make a pre-built space work for whoever lives there.”

Sarah talks about the differences between a staged house and a liveable house, and uses this as an analogy to discuss codebases in textbooks vs. in real-life systems. Go read these tweets, although I’ll mostly just riff on the description. I’ll wait.

Let this sink in:

“The buildings are largely built. These days, we make a pre-built space work for whoever lives there.”

I still see a surprising amount of custom software development in companies, but I’m convinced we’ll see better decisions on what to build and, more importantly, what not to build in the future. Building software to “make a pre-built space [i.e. COTS software] work for [the company and its people]” can be very worthwhile, writing yet another variation of CRUD code for customer addresses or basic product information usually less so.

As a side note, “[making] a pre-built space work for whoever lives there” seems to be what a sizeable chunk of today’s practice of architecture and construction is about. In this context, I enjoyed How Buildings Learn: What Happens After They’re Built by Stewart Brand very much.

In the early 2000s when Enterprise Application Integration was all the rage, Gartner predicted that companies would begin differentiating themselves less by the features of their applications rather than by the way they integrate these applications. This statement resonated deeply with me and I’ve been waiting for it to become true ever since. (OK, so this might actually be true, but I’ve been waiting for it to become a conscious decision.)

This integration, together with modelling concepts and activities in terms of COTS applications’ data structures and functions, is what makes applications (i.e. pre-built spaces) liveable (i.e. “work for whoever lives there”).

While Sarah wrote about code, I’m convinced her insights apply equally well on higher levels of aggregation such as applications, a company’s landscape of applications and beyond the organization’s boundary into the shared enterprise (i.e. customers, suppliers, partners, and beyond).

To me, “[making] a pre-built space work for whoever lives there” is a powerful metaphor and honourable work.

Sarah, thank you for that.


Originally published on Medium.

“Designing Delivery: Rethinking IT in the Digital Service Economy” by Jeff Sussna

When I recommended Designing Delivery: Rethinking IT in the Digital Service Economy on Twitter, Jeff asked me to explain why I thought it was valuable. Jeff’s book deals with a complex subject matter and he considers a broad range of different aspects. While this makes this book valuable, it makes writing a meaningful review difficult. For what it’s worth, here we go:

Confirmation bias — well, an ego boost

From a very superficial perspective, Designing Delivery makes me feel good as it confirms a few things I’ve been having hunches about for a while. This includes a broader and more proactive role for testing & quality assurance in lean & agile initiatives and organizations, a focus on product management rather than project management, an extension of devops ideas to business operations, an emphasis on designing & managing services (or service-dominant logic) and, more recently, seeking to combine agile development and design thinking.

Unfortunately, my thinking hasn’t been as thorough, consistent and coherent as Jeff’s. I haven’t foreseen all of this years ago — on the contrary, compared to this book, my thinking barely scratched the surface…if you look really hard, you can even see some marks.

Cybernetics

Cybernetics form the backbone of Jeff’s work in this book. I finally got the memo on cybernetics earlier this year and worked through Donella Meadows’ Thinking in Systems: A Primer. Yes, I know I’m late to the party…

Jeff introduces fundamental cybernetic concepts and applies them to software and, more generally, digital services in a very practical and approachable way. These cybernetic concepts helped me to talk and reason about behaviours I’ve seen at work and elsewhere in life. This, in turn, provides a basis for effecting change in these systems.

No software is an island

While software undoubtedly is essential to most businesses today, discussing software in isolation is insufficient: software needs to be considered in the context of the services it helps to deliver. Jeff provides a good introduction to service-dominant logic and how it applies to the digital service economy. In addition to customer-related concerns, Jeff discusses other people in the enterprise (especially employees and service providers) as well as organisational concerns. It is unsurprising that Dave Gray’s The Connected Company has a guest apperance.

It all comes together

Jeff brings together several schools of thoughts or practices that are hugely important today. In particular, Jeff shows that cybernetics (or systems thinking) and design thinking cannot only coexist peacefully but can actually be combined to yield even greater value. Furthermore, he shows how design thinking has an essential role to play in the fuzzy front-end of lean & agile software development processes. Jeff brings devops into the mix and shows how it can be relevant beyond software (i.e. service operations, business operations). He calls for operations to become an input to the design process and thereby completes the loop of designing, developing, delivering and operating software-supported services.

A crucial point in this book is Jeff’s call for a broader and more pro-active role of quality assurance in this context. He calls for a quality advocacy role that needs to go far beyond software development: indeed, quality advocacy needs to help the entire organization to deliver the right services to the right people — both inside and outside the company.

Many IT organizations are facing formidable challenges today. In Designing Delivery Jeff Sussna envisages a future for them in the digital service economy and shares his thoughts on how they can develop toward this new role.

That’s it for now

This blog post is only a start and is necessarily biased. It certainly doesn’t do Jeff’s book justice. As my thinking becomes clearer, I might update it in the future.

 

 

Perspectives in (service|enterprise) design

All sorts of perspectives on service design and/or enterprise design keep spinning in my head and, I think, in many posts on the topic. Why not add one more?

This post is work-in-progress and an attempt to clean up my thinking.

Fundamental perspectives

As Tim Brown states in Change by Design and IDEO explain on their website, successful design has to satisfy the three constraints of:

  • desirability (human perspective: Do people want it? Does it make sense? Is it meaningful?)
  • feasibility (technology perspective: Can we do it?)
  • viability (commercial/ecological perspective: Can we sustain it?)

The faculty of Industrial Design Engineering at Delft University of Technology recognizes these perspectives as peopletechnology and business.

Consequently, desirability, feasibility and viability are three perspectives that we will want to consider in most of our design activities. (We’ll have to ensure that we do not consider these to be constraints too early in the process so that we do not prematurely limit our thinking.)

Levels of abstraction

Drawing upon work by Tom Graves we can identify several levels of abstraction when taking a service-oriented view of the enterprise:

  • purpose (Why are we here?)
  • context (Who is “we”? What else is around?)
  • concept (Who does what for whom? When? And, especially, why? The conceptual (or functional) level.)
  • implementation (How is this going to work? The implementation-specific level.)
  • deployment (When will this happen? Who is and which resources are involved? The operations-specific level.)

I’ve been rambling about this before. This time I’ve omitted the action-record level, i.e. the level providing an historic record of activity within the enterprise. This brings us to:

Time

I think time is best considered to be a distinct dimension rather than an aspect of other dimension. It can be useful to consider the past, present and future when discussing desirability, feasibility and viability. Similarly, different time perspectives can play meaningful roles when discussing the different levels of abstraction introduced above. In particular, the action-record level is just a past slice of the deployment level. An action plan constitutes a future slice of the same level.

In the context of service design, we’ll often want to consider five different time periods: before, at the begin of, during, at the end of, and after the service encounter. This could be easily extended by considering distinct phases of becoming and ceasing to be a specific service provider’s customer (for services involving continuous or repeat services).

Over time, the enterprise changes its shape: participants leave and others join, resources disappear and others become available.

Jeff Sussna pointed out that these comments reflect a purely linear view of time that is typical of many service design efforts. I think that this is also true for many other types of design efforts including user experience and business process design. However, in many cases, the people involved have at least a latent understanding of the fact that life is not as linear as e.g. a customer journey map might suggest.

As designers we need to be more explicit about the fact that linear time-based maps are a gross simplification. We need to point out aspects such as concurrent or parallel processes (which may have varying degrees of interdependence) and other non-linear aspects of time.

More of Jeff’s tweets on the topic here, here and here.

What next?

The above is only a start, but the mess in my head feels a little more manageable already. Other dimensions can (and should) be added, the different concepts could (and should) be discussed in more detail. For example, entire books can be (and have been) written on desirability alone.

Update

2016-02-20: Added reference to Delft University of Technology to Fundamental perspectives.
2016-02-15: Updated section on Time based on comments by Jeff Sussna.

Lead architects and collaborative design

Brenda Michelson had this to say on Twitter yesterday…

..and all I had was a smartass response. Brenda shared a valuable idea.

Somehow “lead architects” rubbed me the wrong way…so let’s get rid off it:

Considering…

All architecture is design… —Grady Booch

…we can just speak of “lead designers” who need to know all the questions…or at least many…or know folks who know questions.

Let’s also include “lead developers” and lead whatevers in that description and use this broad definition of designer:

Everyone designs who devises courses of action aimed at changing existing situations into preferred ones. –Herbert Simon

With that out of the way, why do we need lead designers when we’re all subscribing to collaborative design? What does leading design mean in the context of collaborative design?

What if we considered a lead designer to be an expert who then should be considered a knowledge manager as described by Andy Grove in High Output Management? From this perspective, leading (managing) is then much less about making (design) decisions than about gathering & distributing information and influencing decisions (nudging).

Leading design would then become facilitating and supporting collaborative design, i.e. helping the group design and designing with the group. Leading would then become helping the group figure out whom to follow with respect to different issues. Leading would then mean ensuring that all voice have a chance of being heard, especially the quieter ones.

Leading design would then be about helping the network make better (design) decisions (hat-tip Harold Jarche via Lisa Sieverts).

Leading design then wouldn’t rub me the wrong way.

 

 

The end of service encounters and customer relationships

I’m currently reading Service Design for Business: A Practical Guide to Optimizing the Customer Experience by Ben Reason, Lavrans Løvlie and Melvin Brand Flu of Livework. I’m enjoying the book so far and am convinced that it will make the field of service design much more accessible to a wider business audience.

The authors have extended the traditional three-stage model of service consumption (pre-purchase/pre-encounter, encounter, post-encounter stages) by another stage (begin) yielding these four stages: before, begin, during, after. Their reasoning for adding this stage is sound:

How customers begin their relationship with a service is critical to success…A good beginning helps to avoid dissatisfaction and makes customers more disposed to do more business with you later. –Reason, Løvlie, Brand Flu

In their takeaway messages for this chapter they conclude:

The beginning sets the tone for the relationship. –Reason, Løvlie, Brand Flu

Symmetry suggests we also take a closer look at how service encounters or entire customer relationships end. Thinking about our own experiences as service customers it becomes clear that the end stage of an individual service encounter or a relationship with a service provider can have significant impact on our evaluation of the overall service experience and the service provider.

For example, being rushed out of a restaurant after a nice meal with our partner (or having to wait too long for the bill) may well spoil an otherwise excellent experience on the finishing line. Similarly, if the service provider makes it difficult for me to leave a service after my needs have changed, my overall evaluation of a satisfactory service experience up to that point will be diminished.

In both cases, my readiness to re-purchase the service will be severely reduced as will be my readiness to recommend the service to others. On the contrary, I’ll probably complain about the service failure to anyone who cares to listen.

The authors seem to recognize this without highlighting the end of a service encounter or customer relationship as a distinct stage:

Past customers are also potential future customers–and are therefore always worth attention. –Reason, Løvlie, Brand Flu

In conclusion I suggest extending the discussion by considering referrals & recommendations by current and former customers, and by adding an explicit end stage to the model, thereby yielding these five service stages: before, begin, during, end, after.

 

Enterprise Design Framework: Frames

The third layer of the enterprise design framework as described in Intersection: How Enterprise Design Bridges the Gap Between Business, Technology and People by Milan Guenther deals with frames or viewpoints of conceptual models.

Higher layers of the enterprise design framework deal with anatomy and the big picture.

The four frames covered by the framework are business, people, function and structure.

This choice of frames seems highly useful to me, as do the descriptions of intent of and the selection of methods for the business and people frames. I’m less sure about the function and structure frames.

According to the paper version of the book, the function frame “captures the purpose the enterprise fulfills and the behaviours it exhibits towards its stakeholders. The functional viewpoint helps the understanding, prioritisation, and selection of a set of requirements the outcomes of a design initiative [are] expected to meet” (pg. 185). Requirements engineering is introduced as an appropriate design method for achieving these goals.

To me, requirements management tends to gloss over the fact that requirements are design decisions rather than natural laws or unfailing wisdom passed down from the powers that be–at least when practised as I usually experience it.

Sally Bean, an enterprise architect consultant, is quoted (pg. 215):

Requirements are often just laundry lists: someone makes them up, they are arbitrary, out of context and just plain wrong. –Sally Bean

That neatly sums up my experience, too.

Engineering seems to imply a degree of certainty or inevitability that the term design and the notion of a design decision avoid. In turn, this enables discussion of trade-offs between different decisions and design choices.

In addition to classic approaches to expressing requirements, tools such as value stream maps (or value network maps) and capability maps can be extremely useful (as well as many other methods and tools). I also recommend User Story Mapping by Jeff Patton.

The paper version of the book states that the structure frame “captures the objects and entities relevant to the enterprise, how they interrelate and form a structure. It enables an exploration of the problem domain in conceptual models and the transformation of those models in the course of a design process”.

In this context, domain-driven design as proposed by Eric Evans is put forward as an appropriate design method. Without intending to criticise domain-driven design in itself, this seems too software-centric and perhaps also too (software) implementation-focused in this context. The ideas put forward by Martin Fowler in Analysis Patterns and related writing would have come to my mind first. Skipping all the implementation-related stuff in Streamlined Object Modeling, the twelve collaboration patterns described by Nicola, Mayfield and Abney seem highly relevant, too. (You also might want to read this.) And in many cases, the simplest thing that could possibly work might be just a plain old concept map. Furthermore, service ecology maps and the Tom Grave’s enterprise canvas (especially the scope level) come to mind (more here).

This is not an all-out criticism of the enterprise design framework or the intersection book–on the contrary, I find both extremely useful. My perspective and my experience varies somewhat, and consequently so does my approach.

 

 

Enterprise Design Framework: Anatomy

Yesterday I said how valuable I thought Intersection: How Enterprise Design Bridges the Gap Between Business, Technology and People by Milan Guenther is and talked about a few things I view and do differently with respect to the enterprise design framework’s Big Picture layer.

Today I was going to write about things I view and do differently with respect to the anatomy layer…but it turns out I already did:

Content strategy, service design and physical objects

In this context you also have to ready Mapping the Enterprise by Tom Graves.

 

 

Enterprise Design Framework: Big Picture

I enjoyed reading Intersection: How Enterprise Design Bridges the Gap Between Business, Technology and People by Milan Guenther when it was published. Since then I keep referring to the book for insight and recommend it to other people who design and deliver digital services. I also wrote an Amazon review to prove it.

Milan and the folks at eda.c managed to put a set of different design disciplines in a meaningful context with their enterprise design framework. In itself, this accomplishment deserves recognition.

As every other model the enterprise design framework makes conscious decisions to include some aspects of the modelled domain while excluding others. With a respectful and appreciative nod to Milan and friends I’d like to discuss some things I view differently.

The big picture is the first of the five layers of the enterprise design framework. Its three elements are identity[enterprise] architecture and experience. The intersection of these elements is labeled enterprise design.

While many equally useful definitions of architecture exist, I find this one particularly useful:

All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change. —Grady Booch

Consequently, I have difficulties seeing enterprise design as a subset of enterprise architecture. If I have to speak about enterprise architecture, I’d view the relationship the other way around. (The term architecture is abused so much that I hardly find value in using it anymore. I’m quite happy with design as used by Herbert Simon.)

The enterprise design framework’s briefing poster says: “Take a few steps back and look at your enterprise from some distance. What is it all about, why does it exist?” To me, this asks about the why people choose to participate in the enterprise, i.e. participants’ motivation. This then seems to be fairly well aligned with the time-honoured tradition of exploring stakeholders and their interests.

Identity (described to relate to branding work) seems to be only one aspect of that exploration rather than a distinct concern at the big-picture level. Other relevant aspects are purpose and values (hat-tip to Tom Graves).

Experience design provides valuable methods for conducting this exploration, although I think I’d discuss this at a lower level of the framework. I’m not yet sure where, but the anatomy level definitely will have to talk about experiences. (More on anatomy in a later post.)

So, this post is not about the enterprise design framework being wrong or about me being right. I just view and do some things differently…and learn as I go.

 

Design Visualization: Smoke & Mirrors (by Ruth Malan)

My friend Marc pointed me to the slides of a presentation given by Ruth Malan last year. (I also found a version with her notes here, but haven’t read through them yet.)

As usual, Ruth’s material is incredibly dense, i.e. lots of information, thoughts and insights in a small space. Don’t be fooled by her friendly and casual tone: More often than not I find myself happily trotting along with the conversation — just to go back because I realised I probably missed half of what she said. YMMV, though.

I found the thoughts on system design intent vs. system design reflection intriguing.