Friday, April 28, 2006

Learning by Doing

Harry Pierson posts on software (especially social software) Getting Better With Use, and refers to the keynote discussion between Bill Gates and Tim O'Reilly at Mix06 (transcript).

As I blogged at the time, I thought Bill didn't quite answer the question Tim had in mind. Bill's notion of software getting better was largely about Microsoft's ability to improve products (including security features), which was amplified by a larger install volume. This is reasonably close to the classic economic notion of Learning by Doing (see note).

Microsoft also benefits from the network externalities of products such as MS-Office. Each user gets value from interoperability with other MS-Office users - so the more users, the more potential value. But this can hardly be characterized as MS-Office itself getting better. (Tim dismisses this as "Network Effect 1.0".)

Another way software can get better is through a learning process embedded in the software, whereby the software adapts to the preferences and history of the user. As Harry explains, such personal software has to be "designed to learn". And in any case, this could be regarded merely as adaptation rather than real learning. (The software itself doesn't get any better, but a single instance gets more tightly aligned to a particular user.)

But, as Harry points out, Tim's notion of Web 2.0 includes an entirely different notion of software getting better with use.
Every ... consumer brings his own resources to the party. There's an implicit "architecture of participation", a built-in ethic of cooperation, in which the service acts primarily as an intelligent broker, connecting the edges to each other and harnessing the power of the users themselves.
The community is at the centre. Tim is certainly not just talking (as Bill does) about a community on the side, contributing the occasional add-on or comment.

Tim and Harry both use the word "automatic", but I think this word needs to be treated with some caution. What they are talking about is a social mechanism that (like most social mechanisms) works when it works, that may be amenable to some social engineering, but isn't "automatic" in the sense of a fixed mechanism with predictable results.

This is not a blog about Web 2.0 but about SOA and the service-based business, so I wanted finally to link the discussion of learning-by-doing back to SOA.

The benefits of SOA are often stated in terms of adaptability, agility, flexibility, responsiveness. But this implies processes of adaptation and learning. So we need to ask: How do business systems (both organizational and technical) improve? Where is the learning located? What is the nature of the feedback loop?
  1. The learning loop goes through the software developers. (The software development acts as a gate/brake on the learning process.)
  2. A learning process is contained in the software or service. (Learning can take place in real-time, but only for things that have been explicitly anticipated in software development.)
  3. The learning process is distributed across the community usage of the software or service.
In planning for SOA, we need to think about these learning processes, and how they may be accommodated in any system architecture. SOA gives us new and more flexible ways of implementing such learning processes, but only if we identify the learning requirements properly. We are going to need a business model that includes the learning capabilities as well as the operational capabilities, and an architecture that mobilizes these capabilities in a loosely coupled manner.

Note: In economics, Learning by Doing refers to the theory that increased production volume can result in improvements in supply-side efficiency and effectiveness. This is the use of the term currently preferred by Wikipedia. Not to be confused with the popular use of the term in education, where it refers to theories about hands-on experience ("monkey see, monkey do").

Technorati Tags:

No comments: