Archive

Archive for the ‘Product as Platform’ Category

Using Excellence by Design to manage Complexity

Nature does it Better.  Something to really consider is how immature we are compared to nature.  Nature supports infinite complexity, yet does so by design.  Biology and Chemistry form the design basis for  nature to support broad complexity.  Every leaf, tree, and flower is different, yet they are all formed based on the same design principles.  Man has a long ways to go to form design principles as robust as nature has, but what the heck, we have only been at this for a blink of the eye compared to the age of the earth.

Business in general, and IT in particular, that has become much more complex.  There are several ways to think about this subject.  One is simply how business (and life in general!) has become more complex.  This is due to wider variety of options (in products and services), greater breadth of customer base and relationships in general, and more rules/regulations/considerations in these, due to government, social, economic, environmental, and legal aspects.  Yes the world in general is getting more complex.

Another way to look at complexity is from an IT perspective.  Certainly technology has gotten more complex for the same reasons noted above, plus the advancements in technology itself, which provides an ever increasing set of alternatives in hardware/software/networking technology and perhaps the most influential, the rise of independent offerings that must be ‘integrated’ into a solution.  It is not unusual today to find an IT solution that mixes cell phones, web servers, third party hosted applications, remote storage, and enterprise databases.

In fact, the combination of these two trends is growing, and influencing each other.  McKinsey recently issued a report on Tackling IT Complexity in Product Design. Should we be concerned and if so, what can be done about it?

Actually this is a subject I have spent some great amount of effort on over my career.  Since college, where I studied systems science (BS, MSU, ’80), I have been involved in understanding complex systems and forming models and solutions to explain and address this complexity in ways that are sustainable (i.e. not by spaghetti code that implements every complex feature!).

Some great examples of solutions that support complex behavior, but do so in simple, consistent, excellent designs are operating systems (who are able to run an infinite variety of applications), networking (able to transport infinite data payloads over an incredible variety of communication types including data, voice, video), and perhaps most understandable to many, the spreadsheet (which after all is probably the most widely used IT tool in business and is able to manage an infinite variety of calculations and structures for reporting).

So complexity of need is inevitable (people want to run all kids of applications, send all kinds or data, execute all kinds of calculations), but designing solutions to address this complexity in simple, well structured, sustainable ways is still possible. It is another example of Excellence by Design.

Not too surprisingly, there are more example of solutions to complex challenges via poor, complex designs, then there are examples of elegant, excellent design.  And the problem is growing.  Creating a great design for a minimally complex world is not too hard, creating one for a highly complex world is much tougher.

McKinsey provides a nice summary of some of considerations that can tend to result in poor design, and overly complex products.  While not complete (call me if you want a full discussion 😉 ), it hits some good highlights including: Growth in technology inside the product itself, poor architecture for the product, weak or myopic understanding of the business needs (creating a product for a fixed set of requirements is inflexible and shows not only poor architecture but a poor understanding of the long term business needs) , poor collaboration/teaming among the parties who influence product design (mktg, engineering, manufacturing, etc.), and weak competency in the overall product design and development process.

In the Excellence by Design framework I use as the basis for this blog, I hit these points and a few others.  Here are some highlight how they help address complexity and help guide an organization to Excellence by Design:

Chaos vs Control: The world is complex and not all requirements are the same.  Deeply understanding and in fact embracing what aspects of a product must thrive in a chaotic environment, vs what aspects must ensure very disciplined control, is a key part of designing for complexity.  The internet protocols are very controlled and precise in order to ensure interoperability, yet they are designed to enable a wildly chaotic set of data to be transported.  Very few companies or teams i have worked with really try and differentiate requirements in this way.

Systems as Strategy: Creating ‘systems of execution’ that reliably operate, yet support broad usage types is very useful.  As a simple example, it is surprising how many companies have financial processes that are still not systemized in any robust way, and still rely on a (often constantly changing) variety of custom spreadsheets, personnel, and submission timing, for budgeting, forecasting, and final reporting of costs.  Same is true for HR in most companies.  I could go on but the point is you can address complexity in part by excellent design of the operational aspects of the organization.

Craftsmanship to Community: Enabling and organization to leverage both wise/competent experts, and the broad community of participants inside and outside the organization, can help address complexity by making the subject more of a priority, and seeking best ideas for how to design more holistically, yet few organizations utilize this potential.

Architecture Advantage, Design for Change, Product as Platform: These three Excellence by Design principles are core to addressing complexity in product design.  Combined together, they can make a huge difference in how products are designed and result in better products (higher quality, greater customer satisfaction), that are more resilient to change (lowering costs and improving competitive advantage), and have a higher value proposition (a product that is able to be easily extended and/or combined with other capabilities generally has a much greater value in the marketplace).

Service Excellence: Not an obvious principle to help reduce complexity, but an increasingly important one.  As the world becomes more dynamic and changing and complex, the ability of a product to promise ‘service excellence’ over time becomes more important AND a key differentiator to competitors.  Again though this is a subject for which few organizations have developed a core strategy and strength in.

Yes, in a world that is inevitably and increasingly complex, developing enhanced organizational capabilities that help manage complexity is a key success factor for business and IT organizations.  Using the Excellence by Design principles is a start.

Mashups and Product as Platform

In a recent NYTimes blog post, Michael Zimbalist, vice president for research and development operations at the Times, discusses the potential for hardware to follow what has happened in software, in allowing unpredictable ‘mashups’.  While Mr. Zimbalist references the classic manufacturer driven integration, the more interesting aspect is the advent of consumer driven combination, as he states:

“The coupling or uncoupling of powerful hardware components is gradually shifting from the manufacturers to the consumer.”

From an Excellence by Design view this raises a few points of thought:

First, this is no surprise for two very basic reasons.  From a more recent history (i.e. information age) point of view, this is nothing more than the inevitable evolution of software recombination, (new hardware mashups are enabled in large part by the new software integration capability of that hardware) and is similar to  successful industry of ‘build your own PC’.  There is simply both past experience and better capability to do hardware mashups.

Second, to use my favorite analogy, is this any differ than the car industry, which has for years enjoyed a popular industry of ‘hot rods, ‘customs’, and ‘pimp my ride’ type mashups?  Americans in particular are extremely fond of modifying the factory product, whether for looks, performance, or simple uniqueness.  And it is not exclusive to autos and Americans. Motorcycles are another popular target for endless modification by the consumer, and the interest is worldwide.  So when ‘information technology mashups’ sounds new, remember its just a new version of a long held love.

Third, (and more to the point of Excellence by Design), what can we expect from this new application of user/owner ingenuity? Let’s take some lessons from what we have seen from the past in autos and motorcycles that I’ll refer to as:

Excellence by Design Rules for enabling Hardware Mashups

  • Hardware can be designed to well enable mashups, or not.  Think of tires, batteries, windshield wipers for your car, or seats, handlebars, and shocks for your motorcycle.  Pretty easy to change and customize.  In the case of tires it is because there are well accepted standards for size, attachment, and performance of the replacements parts, and ease of change by the consumer.
  • These ‘mashup enabling’ properties can be manufacturer driven, or industry driven.  Some manufactures will actually go to great lengths to enable external (business or consumer) modification for their products.  You can argue that the Apple iPhone Apps platform is a great example for software (though Apple has historically been very closed to hardware modification) as Windows was for the PC.  Speaking of the PC, the IBM compatible PC market is one that has, almost by accident, become the classic case of extreme hardware mashup/modification.
  • There can be great variation in the performance of mashups, due to interface issues, quality of the replacement parts, and the willingness of the original manufacturer to facilitate such mashups.  Think of the IBM S/370.  It spawned the first real market for computer hardware mashups, as ‘plug compatible’ replacements proliferated.  But IBM was not exactly supportive and sometimes changes in microcode (the first example of software that facilitated hardware mashups!) could negatively affect the performance of using a third party hardware product.  (note this became such a hot issue it was the core of many lawsuits…something that has and likely will again occur as hardware technology mashups proliferate)
  • In the end, success is very much about design.  Good design can facilitate mashups, ensure/preserve interface compatibility and performance, and enable extensions in compatible ways.  Poor design can significantly reduce performance, lead to unstable operation, or worse.  Its true in cars, motorcycles, mainframes, PC…and the new crop of iPhones, Nexus Ones, USB devices, etc.
  • Custom is interesting,  Factory is almost always more reliable, Industry evolution is best. Just like the examples in other industries, there is real advantage to the planning, design, and inherent focus that the manufacturer puts on theire product.  Mashups that leverage this and do so in approved ways are much more likely to be stable, those that are custom fabricated and integrated poorly are just asking for trouble.  But the efforts do lead to evolution, and the ‘industry’ as a whole can often mature to better and better means to enable stable and valuable mashups.  Such has happened in the auto industry, which enjoys a healthy, safe, and valuable after market parts industry.  Very true also of Harley Davidson, who, thru a combination of corporate desire, and relentless demand from its customers, spawned a huge market for hardware adds that range from super simple bolt-ons, to complex and sophisticated changes.
  • Success is reliant on designing your Product as Platform. This Excellence by Design principle supports the idea of thinking holistically about your product not as a standalone offering, but as a base for future extensibility, whether by tight integration, loose integration, or unanticipated mashups.  It enables more flexible and reliable mashups, and better enables your community to help drive your product into new, innovative markets and uses.

Conclusions:

-‘Mashups’ are becoming more commonplace everyday, and done so by a wider variety of people (large companies, small companies, backyward mechanics, and even average consumers).

-Beware of the GREAT difference between mashups that are done well and with products designed for it, and those ‘backyard’ inventions whose wheels may fall of just miles down the road.

-Best case is to think of the mashup potential for your product, and intelligently embrace the potential through good design and market/customer enablement that supports and nurtures innovation.  This is strongly reflected in the Excellence by Design principle  Product as Platform.

In summary, Excellence in hardware mashups can be accomplished…by Design of your Product as Platform.  Hey, don’t just take my word for it…it has proven successful in other industries and will work well again for information technology.