Back to Cleverworkarounds mainpage
 

Feb 23 2009

The one best-practice to rule them all – Part 3

Gollum the Ring (2)

This is the third post in a series that focuses on what I think is the Holy Grail of project success – particularly SharePoint projects. Like everybody else, I am a product of my experiences, and one of these experiences was a project that included one of my greatest career teachers – "SharePoint-vs-Skype guy". If you have not yet heard of this luminary of SharePoint folklore, then I suggest you go back to Part 1 of this series and start there. Starting here at part 3 really makes no sense at all…seriously.

I’ve spent two posts explaining my so-called journey to enlightenment and in part 2 of this series, I made the assertion that the *true* root cause of failed projects is usually a lack of shared understanding (and therefore shared commitment) among project participants. This root cause is often misdiagnosed because it is reflected in more visible symptoms such as scope creep, vague/incomplete requirements, mismatched expectations and general all-round unpleasantness. I also spoke about my journey toward "problem fundamentalism", where I have come to believe very strongly that if you can achieve and maintain that illusive "shared understanding" of a problem among participants, then the actual process that you adopt to implement the solution really doesn’t matter that much. In essence I am echoing the inventor Charles F. Kettering when he once said

A problem well stated is a problem half solved.

Let’s now turn our attention to the "how" of shared understanding.

"Inappropriate methods"

Rittel and Conklin say that many groups fail to recognise that they are dealing with a wicked problem, or a problem that has taken on wicked tendencies. As a result, they apply inappropriate methods to deal with them. There are a few reasons for this, but two major ones stick out in my mind.

The first reason is the "unconscious incompetency" factor, which is training speak for "you do not know what you do not know". In other words, if you have never heard of wicked problems and their nature, how are you supposed to know how best to deal with them? Thus, like any other form of enlightenment, you have to move from unconsciously incompetent to consciously incompetent (you now know that you do not know) before anything else. This series of posts hopefully is doing the trick here.

The second reason is that the visible signs of wickedness manifest themselves as scope creep, incomplete requirements, wheel reinventing and the like. Since I have already asserted that these are actually symptoms and not the true root cause, the usual methods used to try and deal with them are treating those *symptoms* and not the true cause. At the very least, traditional techniques are inappropriate and at the very worst, they are going to make things significantly worse!

Jeff Conklin recently said this about shared commitment:

The ‘Holy Grail’ of effective collaboration is creating shared understanding, which is a precursor to shared commitment. If you accept that the crux of effective action is agreeing on what the problem is, then the challenge for organizations is coming to a shared understanding about what their particular dilemma is. Plenty has been written about how to get people ‘on board’ and create buy-in for a strategy; but the business of how to craft shared understanding – a deep and robust understanding of the circumstances – hasn’t been well understood. Shared understanding means that the stakeholders understand each other’s positions well enough to have intelligent dialogue about their different interpretations of the problem, and to exercise collective intelligence about how to solve it.

With Jeff’s quote in mind, let’s take a look at these traditional techniques and see how guilty we all are of using them :-) .

It’s the process stupid!

It is almost universal to blame all of the world’s faults on "process". I went through this line of thinking as I was off in my "theory cave", trying to make sense of "SharePoint vs Skype" guy and other mysteries of life. What logically follows from this is usually the implementation of some sort of best-practice methodology, in the guise of program or project management office. This in turn creates a lot of extra rigour around the activities and processes around *solving* problems. Don’t get me wrong. Process, structure and consistency are actually critical, but problem wickedness and shared understanding are in the *sensemaking* space. The problem is that most best-practice standards and methodologies are very much focused in the *solution space* and tend to work on a presumption of more shared understanding than is actually the case. Again, this is due to the focus on treating the symptoms of problem wickedness. For example: "You have a scope change? Well, let’s fill out a change request form then".

As a result, the whole sensemaking half of the puzzle is entirely missing!

CleverWorkarounds’ Hindsight Rating: This is why a lot of SharePoint governance plans and information architecture exercises are misfocused or simply miss the point.

Nail the scope, baby!

The other common way to try and tame things is to restrict or lock down the scope. I’m sure all readers have engaged in this. The idea being that if we solve this smaller, more constrained bit of the problem, we can then solve the harder bits later. The great flaw in this logic is exposed once you understand the symbiotic relationship between problems and their solutions that I spoke about in part 2. To recap, each time you think of a potential solution, you will always have an effect on your understanding of the problem. This was Rittel’s first characteristic of a wicked problem and it fed the endless loop of the second wicked problem characteristic – the "no stopping rule". Therefore, by restricting scope and implementing a smaller subset, you will likely significantly change the understanding of the problem among the participants to the point where you can be in an even more fragmented position than you were in the first place.

In other words, the goalposts have moved in the meantime and the scope is no longer relevant. Stakeholders with hindsight question the very logic of that original scope restriction!

CleverWorkarounds’ Hindsight Rating: It’s so easy in hindsight :-)

The umpire is always right, right?

Sometimes a group will become so fragmented in their understanding of a problem and therefore become completely polarised on the various solutions. The positions become so intractable for some that even to talk about other options, gives those options more credence than deserved. For example, to an ardent mac or linux fanboy, Microsoft are so evil and nasty that you should not use their products like … ever, dude!

When this occurs, usually after a long, arduous and spiteful process of trying to reach consensus, parties will often give the problem to a "higher source" and agree to abide by their decision. This could be your mother, the CEO, or the International Court of Justice in the Hague. The point is that the decision process is transferred from many to a few. In doing so, we rely on the knowledge, expertise and authority of that higher source.

This does tend to speed things along because when buried in the mud of analysis paralysis (symptom of endless looping between problem and solution), the desire to "shut-up and make a decision already" can be very strong. The tradeoff with this approach however, is that the decision makers themselves are inherently subjective and may disregard what some see as critical considerations. Since this is a win/lose proposition, stakeholders can become disenfranchised and although the decision has been made, there is no true shared commitment to implementing that decision.

CleverWorkarounds’ Hindsight Rating: If there is no shared commitment then it doesn’t matter how technically valid the solution is. It’s still dead.

Selling Ice to Eskimos

Many organisations (and in particular, governments) use a competition based method to deal with complex problems. Just like the previous example with entrenched, seemingly intractable positions, outcome will be determined by the forces of competition. The theory is that the best ideas will stand up to scrutiny and rigour and via a process of natural selection, the best will survive.

This method of competition between potential solutions, and the stakeholders that propose them actually has some distinct benefits. For example, it can foster innovation, sharpen the sensemaking focus of participants and provide good solution choices.

Unfortunately, as with all forms of competition, someone has to lose, and as a result, people do not always like to play fair. Whether it is Olympic athletes drugging themselves with steroids or certain corporations taking illegal advantage of their dominant market position, competition is often a very dirty game. A great case in point is the debate around Intelligent Design. It is argued by some that intelligent design is a scientific theory and should be taught in schools. But critics argue that the concept is simply an ingenious way to get around the 1987 US Supreme court ruling that creationism based science being taught in science in public schools violated the constitution, because it advanced a particular religion. Whether the latter view is right or not, it is still a great case study in how the rules of the game can be manipulated.

CleverWorkarounds’ Hindsight Rating: Marketing has a lot to answer for!

The paradox of shared understanding

Given that complex problems have a lot of interlocking and multi-causal factors, combined with the social complexity of multiple stakeholders with different world views, is it any wonder that traditional methods of reining in haywire projects are largely ineffectual? Traditional thinking across many disciplines suggests that problem solving is a linear process. Whether you are trying to work out where to put a freeway offramp or install a SharePoint internet site, the process would usually start by defining the problem, gathering data, analysing that data and then planning and implementation of the solution. Call it "waterfall", or the "scientific method" or whatever, this approach has been around since… forever.

I wrote in more detail about the perils of waterfall in the project fail series in the section "how we really solve problems".

But here is the problem with that approach. Those complex, interlocking issues and social complexity cause significant differences in opinion on the best solution, yet we need all of the diverse views to really gain a true, deep understanding of the problem and obtain the critical shared commitment that we need. The "no stopping rule" means that it is exceedingly difficult to determine when participants have *sufficiently* defined the problem, gathered data or formulated a solution.

So, how can we reconcile this paradox?

Is it possible to have a holistic, systems approach to examining the deep structure of an issue, that somehow allows us all to see the illusive big picture, without the inefficiency of "analysis paralysis" and the endless loop of the "no stopping rule"? (not to mention and the other nine characteristics of wickedness that Rittel identified). How can we, as a diverse group of stakeholders, fully explore a problem and gain the deep understanding of an issue without social complexity and those wicked factors derailing everything?

This is a question that Horst Rittel spent a lot of time thinking about and by 1970, had developed a potential answer. In part 4 I will tell you what his answer was and what it has now become, thanks to Jeff Conklin.

 

Thanks for reading

Paul Culmsee

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



Dec 29 2008

It’s gonna be quiet around here

Tags: Uncategorized @ 12:41 pm

Hi

I’m off on a one month holiday to Vietnam for most of Jan 09, so it will be very quiet around here for a while and my email access will be somewhat limited. My colleagues at Seven Sigma will man the cleverworkarounds inbox for this period, so if you do need to make contact, then just use the email address listed on the about page.

For those of you back at work, you have my deepest condolences :-)

Paul

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



Nov 03 2008

New article posted to EndUserSharepoint

Tags: Uncategorized @ 5:27 pm

Hi all

I recently wrote an article on how learning and behavioural styles affect the way SharePoint collaboration features are used in deployments. It is called Learning styles, behavioural styles and “collaboration” and can be found over at EnduserSharePoint.com

regards

Paul

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



May 21 2008

"Train the Trainer"

Tags: Uncategorized @ 1:46 am

Sorry about the lack of posts, but I’m am right into the middle of a 5 day course called “Train the Trainer” which is run by the Australian Institute of Management. This course, among other things, will qualify me as a Microsoft Certified Trainer, so if you feel like flying me somewhere nice in the world for a custom tailored course, I’m sure that something could be arranged :-)

Seriously though, this course is right outside my normal comfort zone in relation to subject matter and discipline, it is harder work that I expected and this entire week really is a write-off in relation to work activities, blogging and the like.

But, it has really opened my eyes actually, to how adults learn, and the huge difference in approach from the relatively easy task of writing educational blogs like this one, to taking the material, distilling it and turning it into learning outcomes that adhere to various key principles of adult learning. Just to produce a 20 minute lesson for tomorrow has taken me three freakin’ hours! (with practice of course, it gets faster)

But more importantly, what is a “learning outcome”? Funnily enough it defines “what a successful learner will be able to do at the end of a session.”

They stress that this outcome are defined so that the aims are concrete and measurable.

If you have read the “project failure…” series, ROI, or the organisational maturity posts, you will see a parallel here. Seems that even to teach a concept, you need to start out with an outcome that can be quantified, so you know if you have achieved your goal as a trainer.

So with the current SharePoint projects that you are currently working on, can you articulate what your outcomes are? Are they measurable?

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



Feb 17 2008

New Technet Planning and Architecture webcasts

Tags: Uncategorized @ 9:41 pm

Back when I was a lad (okay, back on mid 06) I had to plan, design and implement a fully redundant MOSS farm for a largish company that was an early MOSS adopter. I previously blogged some notes about how I went about doing Disk I/O planning, and one of these days I will get around to detailing my use of SQLIOSIM as well.

Back then there was absolutely no useful information to help me with this whole process apart from some stuff that Joel had written.

That has now changed. Microsoft have released a series of whitepaper/webcasts covering a variety of critically important infrastructure oriented topics. I’ve just watched the capacity planning one and it really is excellent (although my experience suggests their document storage ratio in SQL vs FileSystem is closer to 2x than 1.2 – 1.5x. )

CISSP readers, some of these would certainly qualify for type A CPE’s as well

Continue reading “New Technet Planning and Architecture webcasts”

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



Dec 19 2007

SharePoint reality TV?

Tags: Uncategorized @ 11:51 pm

This is probably my last post for the year – winding down to the festive season :-) Thanks to all of you who’ve read my blog, it’s a good stress outlet for me and I hope that some of you have benefited.

So one final small post (by my standards) on whether there is truly such a role as a “SharePoint specialist“. To answer this, I propose we do this with an exciting new TV show called “So You Think You Can SharePoint?”.

What will happen is that all of us supposed “SharePoint specialists” will audition and be narrowed down to the final 10. Then each week, we demonstrate our SharePoint abilities in new and creative ways before a panel of expert judges who get to publicly humiliate us. Each week, one specialist gets voted off until we are left with our winner.

Original, huh?

So, why am on earth am I ‘borrowing’ from the TV show “so you think you can dance?”. Well, apparently, half the world thinks I look like Benji. (Seriously!)

Continue reading “SharePoint reality TV?”

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



Nov 25 2007

Learn to talk to your CFO in their language – Part 2

Hi, there.

It’s been a while since my last post but the whole issue of having a life and earning money kind of got in the way. In addition I have been procrastinating a little, because writing about technical and programming type issues for me are a lot easier to write, compared to governance, strategy and financial matters.

To recap on my last post, I wrote about a common technique used to assess the value of an investment. I discussed the time effect on money, the concept discount cash-flow and some of the related calculations like Net Present Value (NPV) and Internal Rate of Return (IRR). If you have not read that article, I strongly suggest that you do so before continuing.

Continue reading “Learn to talk to your CFO in their language – Part 2″

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



Oct 21 2007

Property Investor Interlude

Tags: Uncategorized @ 1:18 pm

Taking a quick break from part 4 of my series of articles on SharePoint branding. I hope to have posted in a day or two, but my daughter just got the new Zelda game on Nintendo DS. Of course, now I am completely addicted to it and blogging is coming a distant second :-)

The last game I got addicted to was the Zelda “Oracina of Time” on the Nintendo 64 – seems I have a weakness for Zelda games

So in the meantime, why not look at a program I wrote some years ago for property investors. Its free, easy to use and allows you to simulate buying investment properties in Australia, and allows you to see the tax and cash-flow scenarios.

Continue reading “Property Investor Interlude”

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



Oct 08 2007

A simple example of a SharePoint “feature”


If you check my introductory post, I discussed the concept of SharePoint features in a real world scenario. In this post I actually show an example of features from end to end, to illustrate that scenario.

So, first to recap the scenario, slightly simplified from my other post: A webdesigner has a new CSS file that is the new corporate branding standard. They must package it up as a ‘feature’. A misunderstood sysadmin nazi installs the feature onto the SharePoint farm once only, then sends a mail to the 35 site collection owners advising them to activate the "branding feature" on their sites.  Each site collection owner who does so has the identical configuration modified so it is all nice and consistent.

Now also before we start, this demo requires the "Office SharePoint Server Publishing Infrastructure" feature to be enabled. If this is not enabled, the "Style Library" document library that we rely on, will not exist.

Step 1: Create the Feature

Our web designer of course has a development box so they can’t kill production. On this box they navigate to the

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES

and create a new folder called CustomBranding

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\CustomBranding

Inside this folder we place our CSS file (in this case, called CustomBrand.CSS) and we create a file called FEATURE.XML.

Now in real life, you will copy a FEATURE.XML from one of the many other features here and work off that. But in our case, we will just type it in. The contents of FEATURE.XML is this:

<Feature Id="01c34560-6561-11dc-8314-0800200c9a66″   
Title="Pimp my SharePoint"   
Description="This is a feature that adds a new sexy CSS"   
Version="1.0.0.0″   
Scope="Site"   
xmlns="
http://schemas.microsoft.com/sharepoint/">   
<ElementManifests>        
    <ElementManifest Location="ProvisionedFiles.xml"/>   
</ElementManifests>
</Feature>

So we have a <feature> element and inside that an <elementmanifests> element. The required parameters for the <feature> element are below (lifted straight from MSDN)

Attribute Description
Description Optional String. Returns a longer representation of what the Feature does.
Id Required Text. Contains the globally unique identifier (GUID) for the Feature.
Scope Required Text. Can contain one of the following values: Farm (farm), WebApplication (Web application), Site (site collection), Web (Web site).
Title Optional Text. Returns the title of the Feature. Limited to 255 characters.
Version Optional Text. Specifies a System.Version-compliant representation of the version of a Feature. This can be up to four numbers delimited by decimals that represent a version.

So the first thing to do is generate a GUID. You can do this a number of ways, but I typically use an online generator like the one here to do it.

My GUID from the online generator is:  01c34560-6561-11dc-8314-0800200c9a66. Feel free to use it for this example but you should substitute with your own.

Title and description parameters should be plainly obvious and version is optional, but whack it in anyway.

Scope is important, a feature can be activated at various points in the farm. "Site" means it is activated once per site collection. All sub-sites under this site collection can make use of the feature without having to activate it. This will become clear later.

Next we refer to an <element manifest>. This is a reference to another XML file that actually tells Sharepoint what to do (provisionedfiles.xml). In our case, it is going to tell SharePoint to upload the CustomBrand.CSS file to the site collection style library.

Let’s take a look.

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Module Name="MyPimpedStyles" Url="Style Library" RootWebOnly="TRUE">        
        <File Url="CustomBrand.css" Type="GhostableInLibrary" />    
    </Module>
</Elements>

In this file, the top-level Elements element defines the elements comprising the Feature. In my previous post, I outlined a table of elements that can be used to install SharePoint features.

  • Content Types: Contains a definition of a SharePoint content type.
  • Content Type Binding: Actually applies a content type to a document library.
  • Control: Allows you to replace existing controls on the page, such as the search or navigation with your own custom control.
  • Custom Action: You can define custom actions such as add a new menu item in "Site Actions".
  • Feature/Site Template Association: This allows you to bind a feature to a site template so that the feature is included in new sites based on that template.
  • Field: Contains a field, or column definition that can be reused in multiple lists.
  • Hide Custom Action: Opposite to "Custom Action", where you want to hide menu items.
  • List Instance: Provisions a SharePoint site with a list which includes specific data.
  • List Template: A list definition or template, which defines a list that can be provisioned to a SharePoint site.
  • Module: Deploys files which are included when provisioning sites.
  • Receiver: Defines an event handler for a list, or document library
  • Workflow: Defines a workflow for a list, or document library. 

So as you can see in the above XML file, we have used the MODULE element to install 1 single file. Let’s examine the <MODULE> and <FILE> element in detail.

<Module Name="MyPimpedStyles" Url="Style Library" RootWebOnly="TRUE">        
<File Url="CustomBrand.css" Type="GhostableInLibrary" />    
</Module>

Module Attribute Description
Name Required Text. Contains the name of the file set.
RootWebOnly Optional Boolean. TRUE if the files specified in the module are installed only in the top-level Web site of the site collection.
Url Optional Text. Specifies the virtual path of the folder in which to place the files when a site is instantiated. If Path is not specified, the value of Url is used for the physical path. Use the Url attribute to provision a folder through the Feature.
File
Attribute
Description
IgnoreIfAlreadyExists Optional Boolean. TRUE to provision the view even if the file aready exists at the specified URL; otherwise, FALSE.
Type Optional Text. Specifies that the file be cached in memory on the front-end Web server. Possible values include Ghostable and GhostableInLibrary. Both values specify that the file be cached, but GhostableInLibrary specifies that the file be cached as part of a list whose base type is Document Library.When changes are made, for example, to the home page through the UI, only the differences from the original page definition are stored in the database, while default.aspx is cached in memory along with the schema files. The HTML page that is displayed in the browser is constructed through the combined definition resulting from the original definition cached in memory and from changes stored in the database.

So, the module section is specifying where any <file> elements be copied to. We are going to copy this to the document library called "Style Library" in the root web site for the site collection. 

 

Step 2. Installing and testing the Feature

Now that our web developer has created the feature, they test it on their development SharePoint server. Open command prompt and execute the STSADM -installfeature command. When the -name parameter is specified, SharePoint knows to look in the TEMPLTE\FEATUIRES folder already, so you do not have to specify a full path.

Step 3. Test the feature

Okay, so the feature is installed. Now what? Now we need to activate this feature on a site collection. Here is the "Style Library" of my test site. (Remember that this library will not exist unless the SharePoint Publishing Infrastructure feature has been installed). Note that at this time, there is no CSS file called CUSTOMBRAND.CSS

So now let’s Activate the feature. Browse to Site Actions>Site Settings and from the Site Collection Administration menu, choose "Site Collection Features". Lo and behold! We have our feature listed! Note the title and description is as per our FEATURE.XML file.

Click "Activate" to activate the feature (you can also do this on the command line via STSADM -o activatefeature command). Once it is marked as active, re-examine the style library. Woo freakin hoo! There is our CSS file!

Step 5. Test and deploy the Feature

In our example here, we can test this feature, by choosing to use this new CSS file in the master page settings of any site within the site collection. The Site Collection administrator navigates to site settings->look and feel->master page settings and specifies the CSS file override as shown below.

By clicking on the "Browse" button, they can select the CSS file from the style library in the site collection.

This highlights the relationship between the web designer and the farm, site collection and site owners. In a large production farm the sequence would look something like this.

  • The developer creates and tests the feature
  • The developer hands the tested and approved feature to the the SharePoint farm administrator
  • The SharePoint farm administrator copies this feature into the FEATURES folder on the web front end servers on the farm and notifies the site collection administrators that the feature has been installed
  • Each site collection administrator activates the feature and informs the site owners that the feature is now available.
  • Each site owner optinally chooses to use this new CSS installed by the feature.

Summing Up

I hope that you found this article useful. Now you are going to totally hate me, because now I am going to tell you that features are only half of the solution to SharePoint customisation. "What is the other half"? you may ask.  Well the other half of the solution is "solutions" … don’t you just love generic terminology!

 

 

 Digg  Facebook  StumbleUpon  Technorati  Deli.cio.us  Slashdot  Twitter  Sphinn  Mixx  Google  DZone 

No Tags



« Previous Page

Today is: Thursday 17 May 2012 |