The facets of collaboration part 4–BPM vs. HPM


Hi all and welcome to part four of my series on unpacking this buzzword phenomenon that is “collaboration”. Like it or not, Collaboration is a word that is very in-vogue right now. I see it being used all over the place, particularly as a by-product of the success of x2.0 tools and technologies. Yet if you do your research, most of the values being espoused actually hark back to the 1950’s and even earlier. (More on that topic in my forthcoming Beyond Best Practices book).

As it happens, Dilbert is quite a useful buzzword KPI. Once a buzzword graces a Scott Adams cartoon, you know that it has officially made it – as shown below:

So back to business! Way back in the first article, I introduced you to Robot Barbie, a metaphor that represents all of those horrid SharePoint sites remind you of a cross-dressing Frankenstein’s monster. I had an early experience with a client who championed a particular vision for a SharePoint project, only to find little buy-in within the organisation for that vision. This, and a bunch of other things, got me interested in the softer areas of SharePoint governance, where no tried and tested best practices really exist. If they did and were so obvious, Microsoft would published them as its in their interest to do so.


This all culminated in when I wrote a SharePoint Governance and Information Architecture training course last year. I read a lot of material where authors attempted to unpack what collaboration actually meant. My rationale for doing so would be to hopefully avoid creating SharePoint solutions that were Robot-Barbie Frankensteins. The model that I came up with is illustrated below:


The basic model is covered in detail in part 2. But to recap here is the basic summary: This model identifies four major facets for collaborative work: Task, Trait, Social and Transactional.

  • Task: Because the outcome drives the members’ attention and participation
  • Trait: Because the interest drives the members’ attention and participation
  • Transactional: Because the process drives the members’ attention and participation
  • Social: Because the shared insight drives the members’ attention and participation

In the last post, I used the model to compare and contrast the use of particular SharePoint features, such as wikis, SharePoint lists and the different aspects of document collaboration. With regards to the latter of these three, I l looked at the effectiveness of certain SharePoint building blocks like content types and site columns within the different facets.

In this post and the next, we will use the facets in a different manner. We will take a quick tour through some common philosophical smackdowns that manifest in organisational life. These smackdowns emanate because of the different viewpoints that people with particular job titles and respective bodies of knowledge have.

Any suggestion that a philosophy might be wrong or incomplete often calls into question the self-identify of the practitioner, which causes much angst among adherents. For this reason, I will leave the “agile is great” vs. “agile sucks” debate for another time, because if you search the internet for criticisms of agile you tend see really passionate programmers get all riled up and flame the hell out of you.

Instead, I will start with a relatively easy one…

Business Process Management v.s. Human Process Management


What does painting the Golden Gate Bridge and Business Process Management have in common? With both, you find that by the time you get to the end, you need to go back to the beginning again. I have personally seen organisations fill an office full of people and take literally years to define and then document key processes all in the name of various best practice frameworks or a regulatory requirement. They then find that, once a thick process manual is created, no-one actually follows it unless an auditor is watching or their performance-based remuneration is directly measured by adherence to it. Of course, I’m not the only one to notice this. In fact, the entire discipline of business process management has taken a bit of a battering in recent years.

If we consider a “process” as the means by which we convert inputs of some description into outputs, Business Process Management has long been the discipline that concerns itself with process optimisation. But in a pattern that is seen in all disciplines like Project Management and Business Analysis, someone will inevitably come along, tell you that you have it wrong or are not being “holistic” and invent a new term to account for your wrongness. In the case of BPM, we now have people arguing for various terms: such as Human Interaction Management, Human Centric Business Process Management, Non-Linear Business Process (thanks Sadie!) or Human Process Management. We will use the latter term, but they are essentially talking about the same thing.

So before we see an example Human Process Management (HPM), let’s review Business Process Management and see what the HPM fanboys are whining about.

Business Process Management


BPM is a structured approach to analyse and continually improve and optimise process activities. Process structure and flow are modelled via diagrammatic tools, allowing organizations to abstract business process from technology infrastructure and organisational departmental/jurisdictional boundaries. This abstracted view allows business to holistically examine process and increase their efficiency and respond rapidly to changing circumstances. This in turn creates competitive advantage.

BPM is often used within the broader context of process improvement methodologies such as Six Sigma (which if you have never read about it, will finally prove to you that all that high-school mathematics that you found mind-numbingly boring was actually useful). While BPM on its own provides excellent visibility of process via modelling them, Six Sigma also incorporates additional analytical tools to solve difficult and complex process problems. Thus, BPM and Six Sigma augment each-other, because process improvement efforts can be more focused via BPM modelling. Thomas Gomez, in an article entitled “The Marriage of BPM and Six Sigma", had the following to say:

“Without BPM, Six Sigma may flounder because executives lack the critical data needed to focus their efforts. Instead, the executives bounce all over the place looking for performance weaknesses, or they focus on areas where successful performance improvements provide only marginal results. With BPM, Six Sigma projects can pinpoint problems and address the underlying causes.”

But that is where the fun ends according to the BPM critics. BPM nerds have had to suffer the indignation of hurtful labels like “Sick Sigma” and stories of long term problems with innovation because of such initiatives. They cite examples such as George Buckley of 3M, who wound back many of his predecessor’s Six Sigma initiatives.

"Invention is by its very nature a disorderly process. You can’t put a Six Sigma process into that area and say, well, I’m getting behind on invention, so I’m going to schedule myself for three good ideas on Wednesday and two on Friday. That’s NOT how creativity works."

Ouch! Its enough to make a BPM feel all flustered and defensive of their craft. Nevertheless the above quote echoes the main points made by BPM critics. That many processes are not structured, predictable or logical and therefore, BPM approaches force a structured paradigm when none necessarily exists (Mind you, many other methodologies do precisely the same). In an appropriately titled article “The H-Bomb of Business Processes: Humans”, Ayal Steiner makes a point that also cuts to the heart of tame vs wicked problems debate too.

“The modern idea of BPM stresses a well-defined business process as the starting point but this is not always the case. Therefore, in a project that involves new practices or a cross-functional learning among participants, BPM has always had a tough time dealing with the humans.”

The notion of the well-defined starting or ending point is one of the characteristics of a tame problem. Wicked problems are often characterised by poorly defined staring and ending points. In fact with a wicked problem, often participants cannot agree on what the problem is in the first place!

Critics like Steiner also argue that many roles within an organisation, tend to deal with more tacit, dynamic situations and as such spend a large amount of their work time performing collaborative human work, when compared to transactional business process work (knowledge workers is the prevailing label for this type of role). While the main area of benefit for BPM’s is its ability to increase the efficiency of a core business process, the sort of thinking required to re-think processes in a systematic manner involves collaboration and systems thinking (in other words, beyond the process in front of us and how it interacts and interrelates more broadly since the whole of the broader system is greater than the sum of its parts). This is a human-driven activity as it is based on humans collaborating and innovating.

Closer to SharePoint home, Sadie Van Buren noted this same distinction in May 2010 which was around the same time I started the development of my IA class.

Human Process Management

So if BPM is incomplete, enter Human Process Management (HPM). HPM is concerned with process that is not easily defined, nor well structured, where it is hard to prescribe the execution of the process based on some model of the business. With human process, it is generally known how to achieve an intended result, but each case is handled separately and requires tacit judgment (for both decisions and flow) as part of the process. There is not enough standardization between instances of the process that allows for a formal, complete and rigorous description of the process end-to-end.

The obvious downside of human processes, say the critics, is that they are far too fluid and dynamic to be made part of an Enterprise BPM system. As a result, these processes tend to be handled through email, which in turn contributes to information overload and poor information worker productivity – precisely why we look to tools like SharePoint in the first place! The implication of HPM is that we need to shift emphasis to tools and practices that help us deal with unstructured or ad-hoc processes (and the information created/used during that process) more so than tools that deal with the well-defined world of BPM.

To be fair to the BPM crowd, these above criticisms will be seen by BPM practitioners as naive, since from their point of view, the less structured side is simply a part of the entire BPM spectrum. They argue that critics do not properly understand the principles and philosophy of BPM in the first place (Agile and PMBOK defenders say essentially the same thing when defending from critics). Supporting this counterargument is a key theme for BPM success that is regularly emphasised. That is, the critical pre-requisite of clarity of purpose and shared understanding of the end in mind. Mohamed Zairi, in a paper called “Business process management: a boundaryless approach to modern competitiveness” stated:

“The achievement of a BPM culture depends very much on the establishment of total alignment to corporate goals and having every employee’s efforts focused on adding value to the end customer.”

Therefore the BPM crowd are arguing for the same human process that HPM base their criticism on. Developing a culture of alignment to corporate goals is very much a human process. Are the HPM fanboy criticisms well founded or is it more a case that some BPM guys forget about strategic goal alignment and optimise process in isolation?

What do the facets say?

Clearly, there is a natural tension between these two polarities of BPM and HPM and this often plays out in organisational life in how we collaborate to deliver organisational outcomes. While there have always been process nazis, the emergence of social collaboration platforms that do not have a great deal of formal structure (think tagging and folksonomies) has led to a great deal of debate and self examination in BPM circles and beyond. Understanding these traits is critically important on the use of SharePoint tools, because SharePoint – and in particular SP2010 offers features for both BPM and HPM aficionados. Putting the two together however might risk Robot Barbie scenarios.

Straight away, it seems that the transactional vs. social axis of the facets of collaboration neatly explain the Business Process Management (BPM)/Human Process Management (HPM) challenge. Both areas are concerned with producing an output or getting something done. Therefore I have drawn BPM and HPM leaning toward the task side of the model. HPM proponents argue that human process is unstructured or semi-structured, dynamic, intertwined and borderless, which fits in well with the task/social trait of process and insight. BPM naturally fits into the lower transactional half where inputs are well defined.


While I would agree with the assertion that many processes are ill-defined and rely on tacit knowledge to be completed, HPM proponents go further though. For example, Ayal Steiner who I quoted earlier, argues that “analysts are now realising that human processes account for 80% of the business processes carried out in most organisations”. That is a big call, in effect, arguing that the majority of workplace interactions occupy the social quadrants above. I disagree. From my experience, most organisational roles have extremely varying degrees of transactional vs. social collaboration and some roles are in fact dominated by transactional collaboration. Perhaps there is some confirmation bias going on here, where knowledge workers who put in collaborative systems tend to think that everyone are knowledge workers too.

Here is an example. Mrs CleverWorkarounds used to be a medical nurse. When I first showed her this model I asked her to describe where nurses would fit in terms of their collaboration. She indicated two areas.

  • Firstly, nurses are strongly linked by trait and transaction. This is because they all have a minimum degree of knowledge and skill. As stated in part 2, the key tell-tale sign of a role with transactional collaboration is how easily individuals performing that role can be replaced by someone else with similar experience at short notice. Supporting this, if a nurse is sick or unavailable, a replacement nurse can be called in to perform the same tasks. Collaboration between nurses according to Mrs Cleverworkarounds is quite transactional as well. Routine and process consistency via tracking the status of patient care is a critical task – patient status is everything. Thus, data driven tools with version history and well defined inputs make this form of collaboration easier. In fact, Mrs CleverWorkarounds taught herself InfoPath and SPD Workflows because she was so convinced that automated forms with consistent audit trails via workflow would make her job easier.
  • Yet at the same time, the sort of collaboration between nurses and patients is completely different and highly social in nature. No process is going to govern the interaction between nurse and patient. The type of care and counselling to get someone well is going to vary the type of interaction. A broken leg is one thing, health problems from say – alcoholism is something else entirely. The latter has much deeper symptoms than just the illness as presented. Here the focus is on patient well-being and goes beyond status of meds, when doctors have visited or accurate handover notes from one nursing shift to another.

State machine workflows?

Interestingly, even seemingly well-defined business processes tend to have ad-hoc and dynamic aspects to them. When there is an exception to the standard process, those exceptions tend to be handled in a relatively ad-hoc, case-by-case manner. Microsoft developer Pravin Indurkar cited an example of a seemingly transactional purchase ordering system.

“Often the business processes contain a prescribed path to the end goal but then there are a lot of alternate ways the same goal can be achieved. For example, a purchase order can contain a prescribed path where the PO goes from being created, to approved, to shipped, and then to completed. But then there a multitude of other ways in which the PO can be completed. The PO can get changed, or back ordered or cancelled and then Reopened. All these paths must be accounted for.”

Indurkar studied the purchase order system of a small business and found that apart from the one standard traditional order fulfilment process, there were about 65 different variations on the same process depending on the nature of the order. This is when BPM diagrams start to get scary. If you think that this workflow below is scary, then be more scared. It is page 12 of a 136 page process!


Naturally, trying to hardwire such a large number of alternate paths is very difficult and traditionally, there were two ways in which this was dealt with;

  • Either the business process was hard wired to accommodate all the paths as shown in figure 1, which made the implementation of the business process extremely complex, brittle and hard to maintain.
  • The alternate paths are simply not dealt with and any situation of the ordinary was dealt outside the domain of the process. This meant that tracking and visibility were lost because people would create manual systems to track such out of the ordinary situations. The facet diagram below illustrates this:


In Indurkar’s article that I quoted with the purchase order example, he argued that the solution to this sort of problem was via state-based or state-machine workflows which SharePoint has supported in a basic fashion, out of the box since SP2007. This kind of workflow, if you are not aware, is when the workflow waits for one or more events to move it into another state. There is no sequence as such, because this new target state can be any of the defined states in the workflow. This makes state workflows reflect the unpredictable nature of process variations.

Thus, it could be argued that BPM is not incomplete as what the HPM fanboys think, but that critics have a less than holistic understanding of the craft?

Conclusion: A Process Analysis Tool…

To be honest, I don’t want to answer the question of which fanboy is right because it is a bit of a zero sum game. When you think about process, many seem to have elements of transactional and social in them (just like job roles). For example, an “Approval” decision diamond in a business process diagram will determine the path a process takes. Apart from stating the fact that this process is a gateway where a decision is made, this says nothing about whether the activity of making that decision is transactional or social. In some processes the decision may be made by a rigorous data driven process (like a point-score based credit check for a loan applicant). In others it may be on gut feel (such as choosing the right applicant for a job position).

So to me, whether you are the most regimented process nazi or the most cowboyish non-conformist hippie, modelling a business process according to its ratio of transactional to social facets is probably very useful indeed to complement a BPM model. It help us understand how much tacit judgement is required in a given process and whether modelling every variation in a sequential workflow is worthwhile. Check out some examples on how this could be done below. In first example on the left, a business process where the majority of the steps are performed by tacit judgement might look like something like how I have drawn, with a task based social dominance. If the process in question indeed looks like this, then attempting to document every minute variation on the paths the process can take might not be worthwhile. Perhaps documenting the broad process (within the constraints of any compliance regime requirements) might be a better idea. In the second example, the process seems to be oriented around a repeatable set of choices (task based transactional dominant). As a result it may be worthwhile formally documenting these variations.


By combining these “process diagnostics” with the actual diagram, we might now offer additional insights into how the organisation really works with a certain process and do crazy stuff like produce something akin to my mockup below:


Hell, throw in a RACI chart and now you start to see process accountabilities as well!


Of course, you could always remove the task/trait axis if it is not needed and simply use a sliding scale. Nevertheless, what this shows is that the facets of collaboration model offers an extra dimension to any process being modelled and would help many to better understand the nature of the process being modelled, as well as strategies for improving that process via SharePoint.

Thanks for reading

Paul Culmsee

p.s If you are a real trainspotter/glutton for punishment and want to dive deeper, google “Human Interaction Management” and “Role Activity Diagrams”

Using Google Maps to Populate an Address in a SharePoint New Item Form

Only a truly geeky developer can understand the concept that I’ve been
working and writing so much code lately they I need to take a break by… well..
writing more code…

Anyway! My brain needed a break from my current assignments so I decided to
tackle a question I saw posted about populating address fields in SharePoint
with a click on a location from a map plugin. It seemed like a nice challenge
and something I KNEW could be tackled as long as the proper map API existed…
This turned out to be super simple when all was said and done…

By the way this works in both SharePoint 2010 and the SharePoint formerly
known as MOSS.

Google Maps or Bing?

At first I needed to decide whether to use Google Maps or Bing Maps… I was
really hoping to take advantage of Bing because, well.. you would think it would
make more sense to have two Microsoft products working together. Unfortunately,
I could not find any way to “Reverse Geocode” (basically get an address from a
latitude and longitude) out of the box with Bing.  I’m assuming there’s an
additional web service I could call to get an address from a Lat/Long, but I
just wanted to get a proof of concept going and show it could be done. So, if
you just HAVE to use Bing, you could, but you need to find a Web Service that
will get the address for you.

Fortunately, Google Maps already has the functionality for Reverse Geocoding
built in so I didn’t have to do any additional web service calls or research. I
decided to go with that. Smile
I first looked at using V3 of Google Maps, but apparently it uses HTML 5 and we
all know how well IE plays with HTML 5.  So, I dropped back down to V2. I
imagine the code for V3 would be very similar.  I found 95% of what I needed in
the Google Maps Documentation under the “Reverse Geocoding” section at: 

The Script

Under the aforementioned section is an example that uses Reverse Geocoding..
like I said.. this is 95% of what you need.  It looks like:

From looking at this example Script you can see under the “showAddress”
function it is popping up a “marker” with the address (place.address).  We
simply need to grab this address and push it to our SharePoint Form.  The
address is in one long string “1234 Main St., Harrison, AR 72601, USA” so we
will need to parse the string to break out each individual element.  For the
purposes of this prototype I just did a split at the commas and spaces, this
works a majority of the time for US addresses but no way in the world will it
work for most countries or street addresses that may contain a comma.  So,
again, this is not production quality code, you aren’t paying me for that. That
quick and dirty code looks like:

Now we need to stuff these values into our SharePoint form fields. jQuery
makes this very easy.  You can set a SharePoint Form field on the New and Edit
forms using the syntax “$("input[title='<field
name>’]").val(<value>);”.  So the previous code becomes:

This of course assumes your SharePoint List has the fields “Country”, “Zip”,
“State”, “City”, and “Address”.  If not, change the script accordingly.  So,
when we add our modifications to the example from Google we get (note that I
removed the ‘pop-up’ marker that was there before, you can leave that in there
if you want):

Okay.. that’s all fine and dandy, but we need to format this in such a way
that we can drop it into a js file that we can easily use it in SharePoint by
linking a CEWP to it. We also need to make sure to load the GoogleMaps library
and jQuery. You will also need to request a
Google Maps API Key
from Google. It’s a completely painless process. So,
when we do all that, our script beco


Integrating Into SharePoint

Okay, now that the script is complete, we need to get it integrated in
SharePoint and working on a SharePoint page that contains our NewForm (or
EditForm) that we want to populate.  You will need to:

1) Upload the script above to a document library (along with jQuery.min if
you haven’t done so already)

2) Create a new page and place a “New Item Form” or “Edit Item Form” for your
list item on it (or use the default NewForm.aspx or EditForm.aspx)

3) Place a Content Editor Web Part (CEWP) on the page (you can get the
default page into edit mode in SharePoint 2007 by appending
“&ToolPaneView=2” in the url for the page.)

4) In the “Content Link” section of the Web Part Properties of the CEWP, put
the path to your script from #1 above.

image image

SharePoint 2007

SharePoint 2010

5) That’s it! Your done! Save the page / stop editing / whatever…

Seriously? That’s it?

Yep.. that’s it… Now when you click on a location on the map, the
corresponding fields should be populated with the address from the Google Map.�
Click on OK to save your entry.


Again, you would need to tweak the script to make it work for ALL address
types… but you can handle that can’t you?

Still don’t believe me? Well, you can try out a live demo thanks to the
awesome Mack Sigman (@Mack_Sigman) who set up a site collection for me so I
could show you guys this tip.

 Okay.. You’re not impressed.. What’s next?

So… I decided to add another field to my Address list that is a Calculated Column field that
concatenates the address fields and then that calculated field is pushed to the Google Maps  API.  

So.. basically… you SHOULD be able to enter any address manually, save it,
and then click the “View In Map” link to see it in the map.

I also added a button just above the Map… If you manually enter an address
then click that button, the map should display that address (kind of a poor
man’s address verification?). 


Hope you learned something, or at least weren’t completely bored… Thanks
again for stopping by. 

SharePoint for Nonprofits – Part II


This is Part II of a series aimed at explaining how nonprofits are successfully leveraging the SharePoint platform. It is my hope to explain how these inspiring organizations are staying within budget and the approach they use for getting it right the first time.

Much of this series will include excerpts from my book “SharePoint for Nonprofits” which is available to members at a discount by using coupon code:  NBSP

Part I concluded with the following question:

What then is the appropriate level of documentation for your business objectives?

There is no clear definition or single answer for all orgs. The level of documentation required varies from org to org and from solution to solution. The objectives simply need to be clearly communicated. Everyone on the team needs to be able to understand the objective. Do not spend unnecessary time developing granular requirements which are never going to be used.

It can be easy to capture initial business objectives. Usually, an objective rolls off the tongue using the collective “we” and represents a pain point which needs a solution. It is imperative to make the time to actually clarify and confirm your objectives.

Many people skip the critical step of clarifying objectives. They simply do not make the time to clarify. Unfortunately, a large percentage of failed projects (SharePoint or other) can be traced back to the lack of clear objectives.

Everyone believes they communicate well. Communication involves both “sending” and “receiving.” Just because an executive states an objective does not mean it’s clearly understood.

The business objectives need to be defined at a level which describes the objective well enough that it can be clarified and understood. Clarification can be simple.

Does the business objective support the strategy of the org? Can the implementation team restate the objectives and still meet the expectations? Can a pilot or prototype be quickly implemented and tested?

After the objective is clarified, it is still important to confirm the objective. Ensure a solution is actually needed. We’ve seen plenty of great solutions in search of a problem to solve.

What else can you do to help ensure successful implementations?

Be clear about what SharePoint will do

Can SharePoint be used to construct your accounting system? Absolutely. You can configure the Lists and Libraries in SharePoint to look and behave exactly like an accounting system. You can use custom code to enforce referential integrity, provide extremely robust workflows, enable batch processing, and everything else necessary to run a financial package. Does that mean you should use SharePoint as your accounting package? Probably not.

Just because something is possible does not mean you should do it. The time and effort required to configure SharePoint to make it an accounting system simply cannot be justified when there are so many great off-the-shelf accounting products.

It is equally important to define the boundaries of SharePoint as it is to define the objective. Be clear about what SharePoint will do. And be clear about what SharePoint will not do.

SharePoint should not be your financial accounting system. It should not be your network monitoring solution or your email solution. There is no single piece of technology that is all things to all people. Sorry, Steve. Not even the iPad.

Resist customizing SharePoint

SharePoint is nearly limitless in its capability. Even with a vanilla SharePoint installation, you have a website available that supports collaboration, presentation, searching, and more. SharePoint allows your team to create, aggregate, prioritize, recommend, and deliver content to staff, members, volunteers, or the entire world.

With a little configuration, you can have sophisticated Content Types, Workflow, Alerts, Lists, Libraries, Site Templates, AMS integration, and more. With third-party add-ons, you can have complex Workflows, project management, and completely finished applications, all without ever writing code.

If you do introduce an educated developer, the world is your oyster. SharePoint is capable of being molded into any type of application that you can imagine. The foundation and framework within SharePoint is robust, reliable, and extremely scalable.

SharePoint supports customization. There is a documented API and Web Services interface for developers to use. There are thousands of blog posts related to SharePoint programming. There is sample code available for nearly any type of customization you want to do.

So why resist customization?

…to be continued in Part III

End User Certification Update #5 – Navigation Elements


Quick Project Update

Spring has sprung for many of us, and between vacations, holidays, royal weddings, allergies, and crazy work projects, volunteer work has moved to the backburner. If you are a volunteer and haven’t had much time to devote lately, I feel your pain. I have been struggling quite a bit to keep tabs on this certification project as I juggle many other things in my life. But as we return from our spring breaks and wind down some of the work projects, I’m hopeful you and I can find some more time to devote to this worthy project of ours. Don’t feel guilty, but don’t give up either! I won’t if you won’t. 2011-04-27-NavigationElements-04.png

Something to note: I continue to leave all sections of the wiki open for editing, so as I move on with each article and focus on a different section, please do feel free to edit any section you like. The whole thing is a work in progress, and we will spend quite awhile developing each section prior to finalizing and starting the test build. Steven Andrews really worked to develop section 1 and organize all contributions from other volunteers. If you have a particular interest in a section that you’d like to help organize, please let me know.

If you’ve signed on as a new volunteer recently, please know that we are getting you set up in the system, slowly but surely. Feel free to contact me if you have any questions or concerns.

Navigation Elements

Section 4 of our project deals with Navigation Elements a site owner should know. Out-of-the-box SharePoint, no matter what version, can be tricky to navigate. And if you’ve been along for the ride for several versions, it can be more difficult just because the navigation keeps changing! We constantly need to unlearn the old and learn the new. "Views are on the left…no the right…no…middle? Now where? In multiple places?" I don’t know anyone who has called any version of SharePoint “intuitive” right off the bat. If you find it intuitive, I think it means you share a brain with Microsoft developers. And I’m a little scared for you. ;)

Seasoned site owners have learned how to navigate the most commonly used pages and menus. They don’t stop and pause to think when you ask how to toggle to a different view, create a new column, add a list to the quick launch, edit site permissions, hide a site from the global or current navigation, etc., etc. They know it like the back of their hands. And all the site contributors ooh and ahh and ask how they know so much. Personal note: I always get a kick out of that. I may not be a rock star in the SharePoint world, but I can be among the SharePoint contributors at work. So long as I can impress someone, eh!

Navigating the Navigation

I’d actually like to talk about some “Navigation Assistant” resources I put together way back in 2006 as part of the training materials I created for SPS 2003. I always think training needs to be geared toward different learning styles, and I find some folks learn by navigating.

Have you ever decided you just wanted to dive into new software and figure it out? You also want to be good and not break anything. You want to click around, but you are cautious. Me, too. I love to click through menus and see what everything does, but I am well aware that this can occasionally be dangerous, depending on where I am and the level of permissions I possess. Wouldn’t it be nice to get a heads up during this process, before actually clicking?

I thought it would be helpful, so I developed the following for my users. I decided to screenshot each of the main pages users would hit as they navigated the portal and a typical team site. In each screen shot, I used hot spots and wrote out text (in my own words) for each description. I also pasted that hotspot text into a simple rich text file for those who like to print and learn offline.

The examples I’ve got are from SPS 2003. I thought this might be fun for you to see; if you worked with it, this may bring back good or bad memories. If you are newer to SharePoint and never saw v2, you may get a chuckle at how different this looks from 2010. Enjoy!

I set up a library in my training site with both screenshots with hotspots and corresponding text files containing the text from each hotspot. I used SnagIt to capture each page, add the text hotspots, and save as flash files.


This is an example of one of the screenshots. Users simply needed to hover over a hotspot to read what that item or link was/where it would lead them.


The corresponding text file really just made it easier for those who like to print stuff out and hang cheat sheets on their cubical walls or make their own binders of useful resources. We have several folks like that where I work, so these files were helpful for them.


This approach is simplistic yet interactive. It doesn’t overwhelm with information. It is like a “pop-up video” for SharePoint. And the best part is that it doesn’t take much time to create.

If you have a lot of people who like to learn by navigating, you might consider creating one or two files like these. See how they go over. It’s low risk and not too time consuming, especially if you start off slowly. People don’t always have time (or sufficient attention span or privacy or bandwidth or access) to learn from a video. People don’t always like to read books or handouts, even when text is peppered with pretty pictures. They want to just "get in there and learn." Here’s a different approach you can add to the mix.

SharePoint is not a Silver Bullet


SharePoint is awesome isn’t it? Every day we see projects and business challenges that SharePoint helps us overcome. It’s kind of hard not to begin reactively saying “SharePoint” as the answer to so many corporate challenges especially as our understanding of what the platform can do matures. This poses a very real danger as SharePoint is not the best tool or solution for every challenge.


The truth is that we instinctively reach for what we know, and what we know works. SharePoint may do many things, but it tends to work quickly and efficiently at solving an immediate problem. What it often cannot handle is when our requirements and scope increase exponentially after we fix our immediate problem. This is especially true when we don’t take the time to re-evaluate whether SharePoint is only part of the truly scalable solution.

To build on the silver bullet analogy: A silver bullet is useless without a gun. The gun (as Dux Sy and others suggest) is the complex problem and often involves the plan and other components of our solution. What I really want to talk about is the importance of avoiding this pitfall of thinking in ‘SharePoint’ terms without taking a step back periodically to examine the known requirements, expectations, and scale considerations.

Contacts Scope Creep Example:

What follows is a (true) concrete example of this problem in action.

  • Sales Director: “Hey Richard is there a way we can organize and share our sales contacts?”
  • Richard: “Absolutely! Let me just create a contact list for you in SharePoint and add your team to it. That way you can all use the features of SharePoint like version history, alerting and even workflow to help you all work with your sales contacts more effectively!”
    • Seconds later…
  • Sales Director: “This looks fantastic! It works great and is exactly what I was looking for!”

A few days pass and the Sales Director comes back.

  • Sales Director: “Hey Richard this contacts thing works great. Is there a way for us to also tell who each contact is a little better though? As an example we often think of our contacts in terms of whether they are a ‘lead’, ‘opportunity’ or ‘account’. Would there be any way for us to assign each contact a ‘category’ like that?”
  • Richard: “Absolutely! Let me just create a new choice column for you that has those values. This way you can use the datasheet view to adjust the existing contacts and categorize them. Any new ones will have this as a required field which will force people to put in a value when they add it.”
    • Seconds later…
  • Sales Director: “That is perfect! I love SharePoint! Thanks!”

A few hours pass and the Sales Director comes back.

  • Sales Director: “You won’t believe what I just did! It’s brilliant! I really love this SharePoint thing! I used the same steps you used to create my own list called ‘Accounts’ and then added columns like you did that help me know where the headquarters is and important information for each account. Now I was wondering if you could help me connect the lists so that when they choose a contact as an account they pick the appropriate account so it’s easy to go back and forth between them.”
  • Richard: “Sure that is easy to do. We just need to add a lookup column to the list you built.”
    • Seconds later…
  • Richard: “There we go!”

At this point you probably can see where this is going. The requests continue to come (more frequently as expectations grow). Small at first but then they stack up. Eventually you are building a system to manage sales contacts and relationships between contacts, accounts, and the sales funnel.

In this circumstance once this was realized, the system that was being built in SharePoint, was replaced with Microsoft Dynamics CRM (the pattern and concern were recognized before it was too late), but it’s important to know when/where that tipping point is.

When should we take a step back and ask: What is available in a robust platform or product designed for this purpose and how does that compare against the way we are trying to solve it in SharePoint?

There are many examples of things that SharePoint performs poorly or doesn’t do well (depending on your perspective and opinion). That is why Microsoft has quite a few other products that work with SharePoint.

Here are just a few of them visually:


That is also why there is such a huge partner ecosystem. In fact here is (an outdated) snapshot of some of the SharePoint vendors that are out there (don’t worry the point isn’t to try and read it all – the point is just to understand that there are partners and vendors that focus on very different things):


The fact that the ecosystem is so rich indicates that there are many business needs that are being met by the products these vendors create. Still don’t believe me? For every $1 spent on a SharePoint license $6-$9 additional dollars are spent on services ( – 1:54 minutes in).

So it’s clear that SharePoint isn’t a silver bullet to corporate challenges alone. It is also clear that it’s important to know when to use SharePoint and when not to use SharePoint. Here are a few more examples that (in my opinion) SharePoint doesn’t do ‘well’:

  • High frequency transactional business process automation:
    Workflows are throttled. There are definite concerns around scale and frequency of workflow requests when using SharePoint versus something custom or a true BPM solution.
  • Image capture and automation:
    No image capture capability out of the box.
  • Digital (rich-media) asset management:
    SharePoint isn’t as good (yet) for large scale imaging/rich media requirements as some of its alternatives. RBS is great from a cost perspective but it’s still a web based platform (with the inherent performance complications therein) and recommends databases to be smaller than 100 GB in size (which causes so many complications when storing a large number of typically large rich-media assets).
  • External social (anything):
    The social features in SharePoint are designed for internal use only. There is little OOTB support for these features or social media externally within the platform. So if you are considering a very heavy WCM social site SharePoint may not be the right pick without partners or support.

I am sure there are many more (would love to hear your thoughts), but what’s important is recognizing that SharePoint isn’t that perfect silver bullet (at least not yet).

Fellow SharePoint Experts: Remember that even though you understand; it is easy for many others to fall into the trap of perceiving SharePoint (or any technology) as a silver bullet. It’s your job to be the gunsmiths of the world and share your own experiences, expertise, and knowledge so that the business can be armed and ready to face those truly scary corporate challenges.

Hope this helps,

You can download a PDF of Richard’s article here:
SharePoint is not a Silver Bullet

How I use OneNote with SharePoint


A few weeks ago Mark was asking who uses OneNote with SharePoint and I jumped at the chance to tell my story. I agree with Mark that OneNote is a terribly underappreciated tool and its integration with SharePoint is so easy!

For starters, let’s pretend I’m starting at a new client and I’ll go ahead and create my new OneNote notebook for that client:

  1. Open OneNote
  2. Click File à New and select Network for your option of where to save your new notebook
  3. Give your notebook a name
  4. Choose a network location, in this instance I’ve copied in the path to a Document Library
  5. Click "Create Notebook"

My notebook has now been created and I can create Sections and new Pages. If I browse out to my SharePoint Library, I can see a folder has been created for my notebook. Clicking on the folder shows both my default "New Section 1" page but also a helpful shortcut that lets me open OneNote from SharePoint:

Now I can use my notebook like any other but I also know that all my notes are being saved to my SharePoint site (and thus backed up!). In addition, multiple people can open my notebook and we can all share a centralized copy. Even better, each of us has a disconnected version of the content for use offline (or off-site) with the ability to sync our changes once reconnected in the environment.

There are SO many great features of OneNote but since I don’t have time to list them all I’ll stick to my favorite – OneNote’s screen capture ability. First, I like to make sure that screen clippings go where I want them to: to the clipboard. Click File2011-04-26-HowIUseOneNote-02a.pngOptions and on the "Send to OneNote" tab, make sure that your "Screen Clippings" setting is configured for "To Clipboard only."

With that setting configured, you can now use the "Windows + S" key combination to launch a screen capture that will save the captured portion of the screen to the clipboard. When you enter capture mode, the screen displays with a white transparent layer over top. You can then draw a rectangle around the area that you wish to capture:


Once captured and available in the clipboard, I can paste images into OneNote or any tool. If I paste into OneNote, I can repeat this process to capture multiple parts of a page/site and annotate them to easily convey tasks and todos:


Using this method I can visually capture requirements for a site and dramatically reduce any back and forth time with the site owner. Hopefully this is something that can help you as well!

Iteratively improving SharePoint


2011-04-21-InterativelyImprovingSP-01.pngI’ve just got a new mobile phone, a HTC Desire S. It is an impressive bit of kit, and is one of a number of HTC phones I’ve owned. Before that I had a Desire HD, and a Desire. I’ve also had a Google Nexus One, which was actually made by HTC.

I wouldn’t say the Desire S is a million miles away from the previous Desire, but it is clearly a few steps ahead. The hardware feels solid in the hand, the specs are good, it is probably HTCs best ‘iPhone beater’ so far. Clearly HTC has taken the Desire, looked at lessons learned from the Desire HD and their other phones, and come up with a slightly improved product. HTC has a wide range of devices, and whilst they don’t always hit the mark, they are slowly and iteratively getting better with each release.

This approach is a bit like that adopted by Android OS, the operating system these phones run. Having used an iPhone for years it was a bit of a shock to move over to Android. Yes their are lots of things I love, the extensibility is great, and the freedom that you just don’t get with an iPhone is also a breathe of fresh air. But Android never feels as polished, as slick. It doesn’t ‘feel’ as good as iOS, even though in places it is miles ahead. I’m not talking about features or technical specs, that is a very different topic, I’m talking about the user experience. I know this is an intangible thing, but it is important, and users moving between the two operating systems will know what I mean.

This situation frustrates me. Why can’t Google, with all their resources and cash, simply develop an iOS beater? And then walking to work this morning it struck me. They are doing it, but slowly and iteratively. My Desire S comes with Android 2. 3, and it does feel a bit slicker and nicer to use than previous versions. Prior to this I had used v1.5 (Cupcake) and v1.6 (Donut), both of which were fine but didn’t feel right. 2.0 (Eclair) is the version I have used the most, and felt a high step in the right direction, but only once you have gotten used to it. v2.3 (Gingerbread) feels a lot nicer again (look here for a low-down on the various verisons). The apps screen works better, settings are easier to get at, and the whole thing just hangs together better.

So Google is getting there. Its just they are taking it slowly and iteratively. Like their major software services (Gmail, Chrome, even search itself) they are rolling out lots of small improvements at a regular pace. This is common with a lot of the current web giants. Companies like Facebook, Twitter, even Amazon - they all regularly update their software and roll out new small features as, and when, they are ready.

So what does this have to do with SharePoint? Well Microsoft operates almost the opposite type of release schedule to that described above, and SharePoint is starting to suffer because of it. Microsoft, who is used to releasing a new version of Word or Excel every few years, has so far released 4 versions of SharePoint:

  • SharePoint Portal Server 2001 was released early 2001
  • SharePoint Server 2003 was released late 2003
  • Office SharePoint Server 2007 was released early 2007
  • SharePoint 2010 was released in the middle of 2010

Each release brings with it a raft of new features and integrated products - they are major releases. The first version of SharePoint used Exchange as a data storage platform. SQL Server was used for the next version, and the previously separate SharePoint Team Services was merged into the product. Content Management Server was added to SharePoint Server 2007, and SharePoint 2010 - well hopefully you are familiar by now with the host of new features in this version.

Their are two key issues with Microsoft’s current approach. Firstly users are expecting what they see now on the web. People use Facebook, Twitter, Chatter, and any number of other systems on a regular basis. They use other CMS Systems, collaboration systems, and social networking sites on the web all the time. These systems iterate more regularly than SharePoint, and a gap in expectations begins to develop. How many times have I been asked to ‘implement Facebook using SharePoint’? I lose count. SharePoint MySites do lots of good things, but Facebook has moved on a lot since last year. Now Microsoft might be planning on adding many new features to SharePoint 2013 (or whenever we see it), but it is a long way off and users expectations will then be different again. The point is, users expect what they see now on the web. SharePoint’s slower release cycle doesn’t tally with this.

Of course user expectations can be managed. For example I still believe most enterprise users don’t want Facebook, and MySites can do an extremely good job in answering actual requirements. But the second more important point is SharePoint is in danger of falling functionally behind its rivals. The big web players iterate regularly, let’s face it they just plain copy each other, but they innovate all the time - the sites grow and develop as a result. All this time Microsoft is in Redmond developing features now, for release in 2013. By then Facebook will look a whole lot differently, CMS systems will have moved on, and SharePoint may fall short.

The point here is maybe Microsoft needs to move SharePoint to a more iterative schedule. It needs to be able to react to what is going on in the wider industry much more quickly. They added status updates to SharePoint 2010, but its hardly Twitter is it?

In fairness they have already made steps in this direction with SharePoint Online, part of Office365. This cloud based platform may be more suited to regular updates, but the majority of SharePoint installations will most likely be locally installed for some time yet. MS needs a way of iterating the local version of SharePoint more regularly.

The enterprise environment isn’t going to want ‘SharePoint Updates’ coming down the pipe every day. They need to be tested, users may need to be trained, systems need to be checked - this all costs money. But surely Microsoft can do something better than every 3/4 years. How about an update every 6 months? Or a year? How about a system that adds new ‘SharePoint features’ (turned off by default) or web parts to an existing installation?

We all know the Microsoft partner network provides a lot of functionality like I’ve described above - new plug-ins, features, and web parts. But Microsoft needs to consider something bigger, something that will add more significantly to the platform on a regular basis. We all love SharePoint 2010, just imagine how much we’d love a SharePoint 2011 in the summer?

I touched on a similar topic last year for CMSWire - Check it out

Adding Script into a Content Editor Web Part (CEWP) in SharePoint 2007


This one may seem so obvious as to not merit a post or two, but I get questions on it often enough and I realized that if I had posts to refer to, it’d be helpful. I don’t see the CEWP as evil like many people do, though using it can certainly cause you problems if you use it unwisely. (I generally agree with Andrew about using it on Publishing pages, where script in the CEWP can wreak true havoc.) Assuming you know what you are doing, here are the steps to add script into a CEWP in SharePoint 2007. (My next post will show the analogous method for SharePoint 2010.)

You can simply put your script and any references it is dependent on into the CEWP using the “Source Editor”. There are many references on how to do this out on the Web, but it’s pretty simple. You add the CEWP to the page, open the Tool Pane, and click on the “Source Editor…” button. (Note that it’s NOT the “Rich Text Editor…” button that you want to use.)


This opens a window in which you can paste your script. Calling this “box” an editor is laughable, but there are many occurrences of these white “editor” boxes throughought SharePoint’s UI. Be sure that you are only loading references to other scripts once in the page. For instance, you may already be referencing jQuery in your master page. Here I show references to the latest versions of jQuery and my SPServices library stored in a Document Library.

CEWP Script Editor

The other option (which is often preferable) is to use the Content Link to point to a file stored somewhere in the Site Collection. You simply paste in a URL reference to a file you have either in _layouts, or a Document Library, or really anywhere that allows you to reference the file with a URL, and that file will be pulled into the CEWP. The reason this is often preferable is that you can then manage and maintain your code centrally. Yes, you can even apply good SDLC practices to your script by doing this.


Does your organization’s culture inhibit results in using SharePoint?


2011-04-22-DoesYourOrgCultureInhibitResults-01.pngI reviewed a SharePoint implementation challenge the other day, in which an individual could see a way to accomplish their objective, but was having a hard time moving forward with it. The heart of the matter was more an organizational/cultural issue than a technical one. I’ve found that this is very often the case!

Jennifer wanted to use a list to track training participation as an alternative to the spreadsheets that were being emailed to a giant distribution list (the current state of affairs.) The IT admin staff would not allow Jennifer to create a list. Users in this environment “contribute” and IT analysts create lists and libraries.

It reminded me of an analogy that I was pondering the other day. Consider these two situations:

There was a time in which some people thought that a small group of people could create objectives and targets and resources for all people to use to go about their daily lives. This small group (bureau) of people thought they could understand what all people needed and wanted, and then prescribed onto them the capacities and methods they thought should be used. The bureau was often overworked, understaffed and never really met the needs of the people for what they really wanted. The Bureau created sophisticated tracking tools to understand people’s needs and requests, but there usually was a “back door” to get what you needed, if you knew the right people.

Over in another camp, people created plans, tools and effects that were needed, as they were needed, independently. Their methods were sometimes crude, sometimes efficient, but reasonably always delivered results. The effective methods grew to displace the crude methods, as participants noticed what methods were most effective. In this camp, individuals who had in depth situational awareness of current conditions created the tools and templates to undertake required actions and deliver required results. By and by, an authority would influence and regulate (sparingly) the interactions to coordinate outcomes and maximize results for all.

Is this parable comparing economic theories?

Is this parable comparing technology deployment between mainframe and personal computing?

Do either of these sound familiar for the IT services operations in your organization?

Which of these two approaches yields the best results?

In my experience, organizations who most resemble the first situation will not find SharePoint technologies of significant value, and struggle to understand why anybody would get excited about SharePoint. For organizations more like the second description, SharePoint has enabled them to achieve a whole new level of potential and results.

Consider where your organization lies in this spectrum, and if this has impact on your organization’s ability to get results using SharePoint.

How we did it: Live ID in SharePoint 2010 Part 1

​After supporting a few sites over the years, I decided with the predicated user base of this site, that I didn’t want to be "IT Support" for people forgetting passwords or requesting a log in. If we had stuck with the out of the box Active Directory this would have either needed something buit, as provisioning of new Users in Active Directory is not supported or leveraging the new Claims Based Authentication (CBA) in SharePoint 2010.

In SharePoint 2007 you could have used Forms Based Authentication (FBA) storing the login data in an ASP.NET Membership Provider SQL database. CBA in SharePoint 2010 has reduced the limitations that existed in FBA in 2007. The problem with FBA is that you still need to create the accounts and set passwords and maintain forgotten passwords as no out of the box functionality exists to manage this in FBA.
Essentially, rather than signing in with Active Directory you can sign in with any User  (Microsoft Passport) e.g., etc. If you forget your password, you go through the generic support, not to us ;-) A huge thanks goes out to Wictor Wilen (MVP), Paul Schaeflein (MVP) and Travis Neilsen for their help in me getting this working!
The TechNet article explains how you can use PoewrShell to configure the new Claims Based Authentication Provider in your SharePoint 2010 Farm and associate it with the Web Application of your choice.
As the article explains, you will need to create a mapping between your Web Application to the STS Provider service hosted by Live ID. Remember to follow these steps TO THE LETTER otherwise you’ll get errors and they are not easy to debug at all!
I would suggest doing this with a Staging environment first, then doing this with a full Production environment. There is a INT (think staging) and Production Microsoft Staging Manager where you have to configure this mapping.
Wictor has a great visual guide on how to get this all going.
There are various limitations of Live ID in SharePoint 2010 that I was not expecting.
So now that I have it working, I figured I’d raise some issues I’ve found. If any of this is incorrect please let me know and I’ll update this.

The Sign In menu

The Sign In menu shows the PUID for the Live ID in use. You get User Profile for the user which is awesome! I made the "Name" property editable by Users so they can update this. That means wherever the User actually modifies things it’ll show that rather than the PUID.

Additional to this I also found that where has multiple Site Collections that the User Info Table that is where it stores the Users details in each Site Collectio nwas not updated, so the horrible GUID shows up UNTIL the User has created/modified something within that Site Collection. 

User Profile Page

Once the User has updated his User Profile the My Profile does change the PUID too. I also changed my profile pic (not linked to MSN pic).


You’ll also notice that the presence icon is offline. Even though I’m logged into Messenger (honest guv!). I put my Messenger User Name into the SIP in my User Profile on the off chance and no dice there either.

No Email in User Profile

I also noticed it doesn’t even pull through the e-mail. I suspect I might need to add some more Claim Type Mappings.


All or Nothing

As the TechNet article says, you need a site you can give "All Users" from LiveID Read access to. This can seem a bit daunting, don’t worry the User Profile Sync won’t go and crawl all of Live ID ;-) It only adds Users to User Profiles as they authenticate for first time.
I added my Live ID as Site Collection Administrator and it appears to resolve fine.
But when I log in with that Live ID I get L

Turns out you can explicitly add Users but you need to add them with their PUID and this is not their MSN (tried with actual user name and got access denied) L To get the PUID you need to get the User to log into this site then go to Credentials and then to View Your Unique ID.

So now that I have it working, I figured I’d raise some issues I’ve found. If any of this is incorrect please let me know and I’ll update this.

Resolving Live ID users

So you think yo’ud be able to just throw the Users Live ID directly into the People Selector box wouldn’t you? "yes"…errrrrrr…NO!

I havea few "SharePoint guns" working on a solution for this as the only way to resolve Users is to use the fully qualified Live ID string e.g. ‘i:0e.t|liveid|’. This is a real PITA and is driving us nuts here! I have a running notepad file with all the authors and their unique IDs.
When you do try and resolve it it looks like it’s resolved, but it doesn’t actually work as you can see below from the screen of the Site Permissions listings of the User.
When you click on the user link it’ll take you to the User Info Table user details page for this make believe user rather than the User Profile for the Live ID user. It caught me out for the first week of Production for sure!


Grouping and Role based

So the other thing I found was that if you have multiple Site Collections, you need to get smarter about adding users. In AD scenario you’d use AD Groups and add the AD Groups once with appropriate Permission Level. But no such thing as Groups in Live ID, so you have to add each User to all your Site Collections.
I haven’t investigated User Profile Audiences yet, to see whether I can compile one that way, albeit can’t add Permissions, but could Target content that way.
In the next article we will be showing you how to configure Microsoft Service Manager as the STS for Live ID and in later parts how to create custom code to resolve some of these errors.