Archive for the ‘strategic planning’ Category
Yahoo Y!OS strategy signals change in Software Development
I attended Web2.0 Expo last week in San Francisoco, and the thing that really struck me was the Yahoo Y!OS strategy. A bit of a blend of the Opensocial strategy combined with Google App engine, combined with widget development in general. I walked away convinced more than ever that we are seeing a startling shift in software development. Four or five years ago, we talked about developing on top of other “Platforms” and meant JBoss, BEA app server, MS .NET, Sharepoint, Plumtree server, Oracle Portal etc. Now, when we talk about developing on platforms we talk about Facebook platform, OpenSocial, Google App Engine, and Y!OS.
Changes:
- Creation of Community: Previously to get your software/application out you either created the community, or sold it as a “Plug-in”. Now you can leverage other’s communities.
- Scalability: Google App Engine, and now Y!OS help you scale up and out.
- Pages vs features: No longer are you creating a full application, but maybe a portion of a page, a feature instead of an app.
Decision making in Companies vs Web2.0 communities
User powered communities, and user generated content (Web2.0) have started to replace tasks that were provided by employees of companies previously. Most of these initial tasks are simple decisions. Other online communities, Open Source software and Wikipedia we see all decisions, and processes being open, so that the entire operation of a large organization is without a traditional management structure or decision making process. The cost structures of these organizations are much less than the traditional company, so how far can companies go to reflecting these new virtual organizations?
The first wave of these employee tasks being replaced have been fairly simple in nature, and very close to the consumer. Digg.com community, or RSS Readers selecting articles replaces editors, vetting, content checker’s. Youtube members contribute short films, acting, directing, producing the content themselves, replacing or supplementing tv/movies etc. Users providing reviews and ratings on amazon.com replace employees at Best-Buy in sales staff, and research staff, and in purchasing staff deciding what products to stock.
A commonality of the employee functions being replaced: Simple decisions (Consumer “likes” or “dislikes”) Ones where employees were previously trying to act as a proxy for consumers. Examples:
- Best Buy sales staff: providing advice to consumers about the “best products”
- Best Buy Purchasing manager: Deciding out of many products, which to stock, amazon.com doesn’t need to decide, they can stock them all, allow consumers to choose
- newspaper editors: select most interesting articles
- newspaper fact checker’s: Check content, Digg.com readers can mark content as potentially inaccurate
However, more recently a couple of consumer input services have started which are more strategic and interesting: DellIdeaStorm and MyStarbucksIdea: Replace executive decision making on “what to focus on”, which products and projects to work on. These are more complex decisions, has cost trade-off inputs, more strategic decisions.
The “upper and middle management” of a company is there to allocate out scare resources to projects, focus on executive decided “goals” and “strategies”. To shuttle information up to executives, and shuttle down decisions. If consumers can start to dictate what to focus on, how much more of traditional middle management of corporate structures is going to go towards more web 2.0 user contributed input? With more information systems meaning we don’t need information shuttlers, with direct online information, voting/decision making online will we need as much middle management in the future?
What to focus on (Goals and strategies), how to allocate resources to these goals, feedback processes seeing if work meets users needs, can these go away? An open source community or Wikipedia has no/less formal decision making processes, middle management, yet is able to have a common direction. The engineers, tester’s, content editors adding value to an open source project are all “Value added”, that is every single person on the project is involved with directly adding value to the user. Compare this with a company with layers, and layers of middle management which does not directly add value to the product but instead is considered necessary to deliver the companies products/services.
So, how far will companies move towards new decision making processes? Web2.0 style decision making for more strategic processes? And, what tools will this reflect?
What makes a good goal?
At work, I and my team have been assigned to work on a new project, however, nobody knows what this project is supposed to accomplish. Everyone is talking about providing the “best widget/service in the industry”. Resources, and millions of dollars have been allocated, but nobody can describe why, or what the desired end goal is. Just to have a shinier fancier widget or service?In my experience, this is the wrong way to communicate, collaborate, and motivate. Companies should agree upon goals that are stated in terms of customer experience of what customers really want, and should be described in desired end result that is free of HOW to accomplish this. Couple of examples:
1. GM vs Toyota. GM (or other American auto companies) had been merrily dominating the American auto industry, but Toyota with an obsessive focus on Customer value was addressing quality issues. I can just picture internal goals/metrics at GM at the time about producing “x units” or “y cars/day”. While Toyota focused on producing happy customers. Because GM focused on an internal measurable (x units, or y cars) as opposed to a Customer metric (were they happy?), Toyota eventually won out. That focus on internal deliver-ables which are ASSUMED to be equivalent to what the customer wants are almost never right. All employees must have an understanding of what the goal is, what the customer value, see the toyota usa web site about “Customer First“.
2. Ipod vs “MP3 players”: IPod was not the first MP3 player on the market, but it did come to dominate. Other MP3 players may have had more “features”, but Apple realized that by focusing on what customers really wanted (“Good music listening experience”), they had to expand their definition beyond the “MP3 player’ and encompass some additional portions of the music experience (coolness, and the transfer, management of songs).
In both of the examples, Toyota, and GM made what I call a Proxy Association Error. That is, the Music player was a “proxy” for the music experience, and the automobile was a proxy for the transportation, people didn’t want car’s or players, they wanted music experience and transportation. Once a better proxy was found, the customers abandoned the old way for a better one. Toyota, and Apples competitors didn’t see this, they thought the “Car” and “MP3 player” were the actual thing that people wanted.
So, here are my paradigm for how to distribute work (not tasks) to a company:
1. Get the entire employee population involved in seeking to understand what customer value is (real customer value, not proxy error, the “music experience” not the “mp3 player”).
2. The goal of any work should be stated in how it should help the customer. The Goals should be distributed should be stated in terms that are free of how, and leave the wisdom of the crowds and changing winds of the marketplace open to allow a different solution that still makes the customers happy.
Examples:
“Identify the top causes of dis-satisfaction by customers, and put in place plans to mitigate them” not “Implement improvement of the invoice service”. The first leaves the ability for the employees of the company to contribute their own ideas, the 2nd doesn’t.
I am working on a new Strategic Goal planning tool which helps users create goals, collaborate on them with others, and track accomplishments, with visibility up and down the organization. It is intended to bring the best aspects of the wisdom of the crowds to helping guide a company as exist within the Open Source community.
New Collaboration Application
I started working on my new application recently, and just what the world needs, another collaboration application. However, this is targeted for Management Systems. I have been spending a lot of time thinking about this since my early career at Intel which had strong management systems.
Technology is going to be Pylons (with Mako templating and SQLAlchemy). Javascript right now is Yahoo YUI but, it is pretty verbose and heavy. Considering JQuery. I originally considered Ext.JS but that was very heavy(463kb for all) and too focused on widgets, not enough on the library. Also looked at Mootools, Prototype, MochiKit, Dojo, etc. Prototype and Mootools were too rubyish, prototype from my days with Rails didn’t seem as adaptable as Yahoo YUI. Since this is an “application” my thought was the JS would be cached. We will see if that holds up.