Collaboration Culture or Enterprise 2.0 – Which comes first

If you scan the internet looking for possible benefits of Enterprise 2.0, what you will find can broadly be classified as the following:

  • Increasing collective enterprise intelligence,
  • Better collaboration among distributed workforce,
  • More effective knowledge management, and
  • Building enterprise reputation and better talent retention

You will also find that, there is a consensus among thought leaders that just deploying the tools and technologies will not help – some form of planned and structured change management process is needed.

In short – Enterprise 2.0 implementation has to be nurtured and requires management intervention – but why is it so?

All the significant web 2.0 & social media successes (Wikipedia, Facebook, Twitter …) on the internet have been organic and have mostly been self-organizing and unstructured. Why then do we have a different scenario in the enterprise?

Let me not get into too much detail of why it does not happen (see this for more detail) – but the single most important factors which make the dynamics of implementing Enterprise 2.0 to be different is the lack of culture of collaboration.

Every enterprise has a defined structure and hierarchy – it might have got flattened over the years – but it exists. It also has a definition of what is good and bad performance for an individual with a matching reward and punishment scheme. There are defined processes & procedure to guide individual on how work should get done. All these factors combine with each other to define what the organizational culture is. For most organization that culture is not conducive for Enterprise 2.0 adoption.

So … what are the implications?

  1. To derive benefit from Enterprise 2.0 → Improve collaboration culture → Make necessary changes to organization structure, hierarchy, reward system, processes
  2. If collaboration culture is already in place → Enterprise 2.0 will get implemented without any planned intervention

Therefore, as a CEO, CIO or CTO, if you are considering if Enterprise 2.0 is right for your organization, you are probably asking the wrong question. The right question to ask is “Do my business need more open collaboration among our employees and needs the organization to be more agile & innovative?” If the answer is yes then ask the follow-up question – “Are we ready to make necessary changes to organization structure, hierarchy, reward system, processes to foster collaboration?

If the answer to either on these questions is no then it will be a waste of time dabbling with Enterprise 2.0. The corollary is:

If there is an urgent business need to improve internal collaboration among employees cutting across functional area and geography – use Enterprise 2.0 tools as an enabler and catalyst – not as an end in itself.

For your reference

Here are some more details of what some of the thought leaders have to say on the possible benefit of Enterprise 2.0:

Enterprise 2.0: The Book and the Blurbs by Andrew McAfee

  • Group Editing
  • Authoring
  • Broadcast Search
  • Network Formation & Maintenance
  • Collective Intelligence
  • Self-Organization

Enterprise 2.0 as a corporate culture catalyst by Dion Hinchcliffe

  • Open Communication
  • Shared Knowledge
  • Anyone Can Participate
  • Web-Oriented – Network Effect
  • Emergent, Freeform, Do-It-Yourself

Top 3 Business Benefits of (internal) Enterprise 2.0
by Scott Gavin

  • Personal Information/Knowledge Management
  • Expertise Identification
  • Collective Intelligence

Benefits of Enterprise 2.0 from E20portal.com

  • Openness encourages participation
  • Greater knowledge capture and sharing
  • Recruit and keep talented employees
  • Greater efficiency & less duplication

Implementing Enterprise 2.0 – Key Benefits and Risks by Ross Dawson

  • Productivity & Efficiency
  • Staff Engagement
  • Knowledge
  • Reputation

Maslow’s Hierarchy of Enterprise 2.0 ROI by Hutch Carpenter

LinkedIn and Crowd Sourcing

Does crowd sourcing work? Here is a small but cute example which I came across. It is a discussion thread on LinkedIn group on Web 2.0.

Jeanine Willoughby started the thread by posting the question “How do I convince my company to relax a little on content ‘moderation’?” about 15 days back on 18th February, 2010.

The organization she works for supports businesses in the Yorkshire and Humber region in the UK to prosper a low carbon economy. Part of the vision is to establish online communities where any stakeholder in the region (staff, customers, suppliers, buyers, consultants) can discuss and debate issues relating to their interests. People who do wish to participate must register their details and be approved to join the community. Her problem was that all content contributions are moderated before they appear and the system has not helped foster an online community. She was having a difficult time convincing the managers to move to a reactive moderation model as they are too afraid of defamatory remarks.

In 15 days she received suggestions from 18 people:

  1. Dan Mason: provide guidelines – dos & don’ts
  2. Kevin Shea: create a vision of the changed state that works for everyone
  3. Jeff Heine: customers are going to communicate anyway – it is better to know what they are saying and take those as opportunities to correct any issues and/or misunderstandings and build a better relationship
  4. Karin Wills: use IBM’s “Social Media Policy” as a guideline
  5. John Ferrari: reasonable entry barriers to a group and reasonable post-moderation
  6. Jeff Cole: refer to U.S. Air Force’s policy on content- “if you are old enough to die for your country, you are old enough to blog.” (more detail)
  7. Tina Gleisner: refer to examples of top competitors who are building stronger communities by not only allowing, but encouraging more community dialog – remove moderation after an initial period
  8. Jeremy Lundberg: read Groundswell – it has lots of great case studies
  9. Robby White: use profanity filter
  10. Jay Friedman: find a few references where your company is already being talked about online – in areas outside of your control
  11. John Whaling: promote self regulation – even Disney’s Club Penguin (for kids) works this way
  12. Tim Licence: users will not risk harming their own reputation by posting defamatory or libel comments, therefore the forums would be self moderated
  13. Emer Mc Ginley: based on 2 years experience – it’s the cheapest form of customer/employee insight you can get – many of your online contributors WILL become your advocates if you listen and respond with speed
  14. Susan Crawford: separate social media policy for each platform (Twitter, Facebook, YouTube etc.)
  15. Courtney Hunt: monitoring and moderation (post only) are critical responsibilities of community founders and managers
  16. T.S. Elliott: focus on strengthening the understanding of all stakeholders – they will become more relaxed and less moderated (more detail here and here)
  17. Bruce Galinsky: develop some common sense social computing etiquette
  18. Vincent Berthelot: you have to explain the rules and the role of the community manager and it will be OK in 99%

Yesterday, she successfully presented the case to management. This is what she wrote:

“To everyone who contributed to this discussion and provided insight and guidance into my query – thank you all. 

I presented the case for a more relaxed approach to moderation to our community managers about an hour ago and I’m pleased to share with you that my colleagues agreed to adopt a self-regulating approach to moderation, i.e. give the community users the responsibility and ownership of content. 
We’ll back this up with robust guidelines, code of conduct for users and also adopt an internal protocol for community managers to ‘keep their eye’ on things. 

Once again, thanks to all. Without wanting to sound like Kate Winslet at an awards ceremony, your advice and support really have on this occasion made the difference. 

Best regards, Jeanine”

 

China and India – Spider and Starfish

Last week I came across 2 seemingly unrelated essays (one blog post – Understanding the Nature of Self-Organizing Teams by Jim Highsmith and one article – Don’t Underestimate India’s Consumers by John Lee)

The blog post provides a snapshot of the book – The Starfish and Spider: The Unstoppable Power of Leaderless Organizations, by Ori Brafman and Rod Beckstrom. This is how the post starts:

“A spider is an eight-legged arachnid that has a head attached to a central body. Pull a leg off a spider and most can still walk, even if a little lopsided. Cut off the head and the spider dies. Not so the starfish. While many people know that if you cut off a starfish’s leg, it will grow back, most don’t know that a starfish’s major organs are replicated throughout its body. One species, Linckia, can regenerate an entire starfish from each of its severed parts. A starfish is a decentralized network.”

Here is a summary of the book – The Starfish and the Spider: The Unstoppable Power of Leaderless Organizations. It outlines 10 rules for the new world:

  1. Diseconomies of Scale
  2. The Network Effect
  3. The Power of Chaos
  4. Knowledge at the Edge
  5. Everyone wants to contribute
  6. Beware of the Hydra response
  7. Catalysts Rule
  8. The Values are the Organization
  9. Measure, Monitor, Manage
  10. Flatten or be Flattened

The article compares the centralized, state managed China with decentralized, chaotic India quoting the following interesting statistics:

  • Wage and income growth, even for China’s urban residents, hovers at about half the level of GDP growth over the past 15 years
  • India can now boast of an overwhelmingly independent middle class about 300 million strong, vs. China’s 100 million to 200 million, depending on the parameters
  • The rural half of China is falling behind. Back in the mid-1980s, the mainland’s urban-rural income ratio was 1.8. It now stands at about 3.5
  • In India, … urban-rural income gap has steadily declined since the early ’90s
  • Rural India now accounts for half the country’s GDP, up from 41% in 1982. World Bank studies show that rural China accounts for only a third of GDP
  • Rural China … generates just 15% of China’s growth. Meanwhile, rural India is chipping in about two-thirds of overall growth

Is there any doubt that India is more like a Starfish and China is more like a Spider? In terms of infrastructure and other related development India is about 15 years behind China – but in the new world will the Starfish upstage the Spider?

Here are some more links explaining the Starfish and the Spider (Eswaran: thanks for the references):

How to Architect For Web 2.0 – 3 Postulates and 10 Must Dos

Web 2.0 may not have a clear-cut definition but irrespective of which way you look at it (there are 3 different ways of looking at web 2.0), it is about the behavior of complex system, it is about collective intelligence and it is about emergence. The fundamental principles governing such systems are that the whole is much more than the sum of its parts – the behavior of the system cannot be derived or understood by analyzing individual elements.

Traditional approach to architecting and problem solving is to…

  • Look at the problem as a whole
  • Break it down to multiple sub-problems
  • Solve each sub problem separately
  • Put individual solutions together
  • Expect the whole problem to be resolved

This approach does not work for complex systems

and

Web 2.0 always deals with complex systems

So when dealing with such systems, as an architect, you need to modify your approach.

Postulate [1] – Any Web 2.0 success will always be unexpected

If you look at all the big web 2.0 success you will find that all of them (Google, Wikipedia, Facebook, Twitter …) have defied conventional wisdom. The chances are high that your web 2.0 success will happen in an unexpected way.

Must Do #1 – Let the Architecture Evolve

It is impossible to design for the unexpected. Only thing you can do is to move forward incrementally – always adjusting your architecture to the new reality – paying your technical debts regularly.

Must Do #2 – Adopt Agile Methodology

Agile methodology intimately connected to emergence – if you are not into agile don’t even come near web 2.0.

Must Do #3 – Opt for Loose Coupling and Simplicity of Interface

Only loosely coupled system can quickly evolve – only simple interfaces get widely used.

Must Do #4 – Implement Bottom-Up

The trick is to identify small successes – nurture them – adapt your system to help them proliferate.

Must Do #5 – Resist Temptation to Control

We have the inherent urge to control event which does not go according to our plan – but for web 2.0, such events may be the seeds of success.

Postulate [2] – Web 2.0 – more often than not – is about customer

Chances are high that as an architect you would want to distance yourself from selling & marketing. Unfortunately, web 2.0 is intimately connected with customer (existing & prospective) behavior – and the money for such project is likely to come out of marketing budget.

Must Do #6 – Think Customer Centric

There is clear evidence that improving customer experience can improve customer loyalty – therefore you need to tune the architecture keeping the customer at the centre (not the organization).

Must Do #7 – Learn Marketing Terminology

Marketers have spent their whole carrier trying to understand customer behavior – to architect for web 2.0, not only do you need to understand how traditional marketing works – you also need to understand and speak marketing language.

Postulate [3] – Underlying technologies of Web 2.0 is changing fast

There always will be hype around new technologies – not all of them will live up to that hype. However, once in a while, a new technology comes in and creates a paradigm shift in how & what we do. When such a thing happens, we call it an Inflection Point – there is a good chance that we are just about to reach one.

Must Do #8 – Design for Multiple Channels

Customers expect logically consistent (not necessarily identical) experience across multiple channels. BTW – Multi-channel is not just smart phone, many other types of devices and appliances are evolving (have you looked at Sixth Sense?). In fact even web is no longer a single channel – you need to look separately at Aggregators, Social Networking Sites, Micro Blogging…

Must Do #9 – Understand Cloud – Especially Google App Engine

In one sense, cloud is just an extension of virtualized hosting solution but 3 distinct cloud strategies are in vogue. However, do look at Google App Engine – though it is still work in progress – it has the potential of altering the economics of IT.

Must Do #10 – Think Beyond RDBMS

Have you heard of No SQL movement? Check it out – have a look at Big Table.

Brain cells are in billions but the interconnections are in trillions – our intelligence – collective intelligence of any complex system is derived from the number and quality of interconnections. So, architecting for interconnections is the key to success!

Why am I uncomfortable with Product Backlog?

Though I am a strong believer in Agile process, I always get a feeling that a product backlog does not give the full picture of the expected product and we need something more to define it.

Let us first look at how product backlog is prepared?

  1. You start with either a business problem or a product idea – and you decide to build a piece of software
  2. You probably write a very high level specification of what the software should do
  3. A product owner is identified who breaks up it up into multiple stories on how the user is going to use the software
  4. Stories are prioritized and build one by one
  5. At each stage the software is reviewed by product owner – and any required course correction incorporated
  6. Once all the stories are completed the product is ready

Essentially, what we are doing is:

  • Define the problem
  • Break it up into smaller parts
  • Solve each one individually
  • Put it together and hope that it solves the original problem

Yes, I know we iterate – and in theory iteration is suppose to reduce the gap between “is” and “should be”. But the big question is do we accurately know the “should be”?

That brings us to the debate between “Designed Solution” vs. “Emergent Solution”. We all know that Linux has emerged – that Wikipedia has emerged. However, what we forget is that for a good solution to emerge we need to try out many alternative and select the best. Here is an interesting quote from The Cathedral and the Bazaar by Eric Steven Raymond

“…you often don’t really understand the problem until after the first time you implement a solution. The second time, maybe you know enough to do it right. So if you want to get it right, be ready to start over at least once”

In a commercial situation, how often do you have this luxury? How often can you try out multiple ways of doing the same thing?

What is the alternative? To have somebody who understands the problem and understands what the solution should be. The product owner is supposed to be that person (see this).

However, this only means that the solution will be as good as the product owners understanding of the problem.

Does this not tilt the solution to “Designed Solution” rather than “Emergent Solution”? Does it not put too much responsibility of the shoulder of the product manager?

Agile Methodology and Emergence

What is Emergence?

“It is the behavior of a system that is not explicitly described by the behavior of the components of the system, and is therefore unexpected to a designer or observer” – Cunningham & Cunningham, Inc.

“…emergence is the way complex systems and patterns arise out of a multiplicity of relatively simple interactions” – Wikipedia

In short: The principle of emergence is 2 + 2 > 4

What is Agile?

[When I started working on this post, I was desperately looking for a decent definition of agile but could not find one. So, I modified the definition in Wikipedia to something acceptable]

“…refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.” – Wikipedia

In short: In agile software development …

…requirement emerges

…solution emerges

…team dynamics emerges

Therefore, applying the principle of emergence we can say that when you use agile software development methodology:

  1. The final solution is better than the individual pieces of requirements that you had specified in the beginning and
  2. The team produces more than the sum of the capability of the individual members

Without detailed planning and top down management

For any “manager” it is a paradigm shift in thinking.

How to Setup MediaWiki for Enterprise?

[MediaWiki is an open source wiki which runs Wikipedia – anybody can download it and use it]

We managed to setup MediaWiki for our Enterprise 2.0 initiative. We had to take care of some basic security needs. Our platform was: Windows Server 2003, Apache, and MySQL.

Let me document what we did. (I need to thank Radha who has done most of the actual work and also supplied me with the details to write this post)

Installation for the basic software

  1. Download MediaWiki, Apache, PHP and MySQL from respective sites and install them on the designated machine
  2. While installing PHP (do it after installing Apache), ensure you enable support for MySQL, MS-SQL and any other database support you will need in the future
  3. Any changes that need to be done in Apache has to be in the /conf/httpd.conf file – These may include the port that Apache is listening on, Document root (if your MediaWiki is not installed under Apache/htdocs), etc.
  4. Copy MediaWiki into Apache’s htdocs
  5. Point your browser to MediaWiki’s CONFIG directory/index.php and follow instructions
  6. The process will setup MediaWiki and you will be able to access it from the URL you installed it in e.g., http://localhost/wiki/ or http://n.n.n.n/wikiname or http://www.yoururl.com/wikiname
  7. The installation will create a file called localsetttings.php in the CONFIG folder. Move this file to the root MediaWiki folder
  8. Delete the CONFIG directory
  9. Localsettings.php is the main configuration settings file for MediaWiki. The settings for the wiki can be changed in this
  10. The mediawiki/includes folder contains a file called Defaultsettings.php.

Changes and additions to MediaWiki configuration settings can be copied from Defaultsettings.php onto Localsettings.php but at any cost Defaultsettings.php must never be edited.

See also: MediaWiki – Newcomers guide to installing on Windows, MediaWiki – Installing MediaWiki, SiteGround.com – MediaWiki Installation, MediaWiki – Manual:Configuration settings

Put your own logo

Add the following line to Localsettings.php and place your logo in … directory

$wgLogo = “{$wgScriptPath}/file name of your logo“;

See also: MediaWiki – Manual:$wgLogo

Implement access control – no access to the wiki without logging in

Add the following lines to Localsettings.php

$wgGroupPermissions[‘*’][‘read’] = false;
$wgGroupPermissions[‘*’][‘edit’] = false;
$wgWhitelistRead = array (“Special:Userlogin”);

See also: MediaWiki – Manual:$wgGroupPermissions, MediaWiki – Manual:$wgWhitelistRead

To restrict user creation by administrator only

Add the following line to Localsettings.php

$wgGroupPermissions[‘*’][‘createaccount’] = false;

See also: MediaWiki – Manual:$wgGroupPermissions

Enabling image and attachment upload

Add the following line to Localsettings.php. You can include different types of file extensions that you would like to enable upload for.

$wgFileExtensions = array(‘png’, ‘gif’, ‘jpg’, ‘jpeg’, ‘doc’, ‘xls’, ‘mpp’, ‘pdf’, ‘zip’, ‘ppt’);

See also: MediaWiki – Manual:$wgFileExtensions

Alternately, if you want to allow all file extensions to be allowed, add the following line.

$wgCheckFileExtensions = false;

See also: MediaWiki – Manual:$wgCheckFileExtensions

To implement suggest on the search box (auto-complete of a search item)

Add the following line to Localsettings.php.

$wgEnableMWSuggest = true;

See also: MediaWiki – Manual:$wgEnableMWSuggest

Implement parser function extension

[Note: You will need this extension if you want to include the nice looking Infobox that appears on the right side of many of the Wikipedia pages]

Download ParserFunctions extensions and extract it to your extensions directory.

See also: MediaWiki – Extension:ParserFunctions

Add the following line to Localsettings.php.

$wgExpensiveParserFunctionLimit = 100;
require_once( “$IP/extensions/ParserFunctions.php” );

See also: MediaWiki – Manual:Extensions, MediaWiki – Help:Extension:ParserFunctions

To take all non logged in user directly to login page

[Warning: You need to make code change to implement this feature]

Modify the public function loginToUse()in OutputPage.php. You will find the file in the include subdirectory.

$skin = $wgUser->getSkin();

# Begin – Code to redirect to the login page is user has not logged in
$this->mRedirect = SpecialPage::getTitleFor(‘UserLogin’) ->getFullURL() . ‘?returnto=’ . $wgTitle->getPrefixedUrl();
return;
# End – Code to redirect to the login page is user has not logged in

$this->setPageTitle( wfMsg( ‘loginreqtitle’ ) );
$this->setHtmlTitle( wfMsg( ‘errorpagetitle’ ) );
$this->setRobotPolicy( ‘noindex,nofollow’ );
$this->setArticleFlag( false );

Add additional icons in edit toolbar

[Warning: You need to make code change to implement this feature]

Modify the static function getEditToolbar()in EditPage.php. You will find the file in the include subdirectory. Following lines need to be added to the $toolarray initialization.

array(
‘image’ => $wgLang->getImageFile(‘button-table’),
‘id’ => ‘mw-editbutton-table’,
‘open’ => “{|”,
‘close’ => “|}”,
‘sample’ => ‘class=wikitable border=1 cellpadding=2
|+ table name
|-
! header 1
! header 2
! header 3
|-
! row 1, cell 1
! row 1, cell 2
! row 1, cell 3
|-
! row 2, cell 1
! row 2, cell 2
! row 2, cell 3
|-‘,
‘tip’ => wfMsg(‘table_tip’),
‘key’ => ‘A’
)

See also: MediaWiki – Manual:Custom edit buttons

We have just started exploring the engine. Lot more can be done with it!