Sunday, June 29, 2008

TechEd 2008 Session Notes: Microsoft IT Best Practices

Microsoft IT ran several sessions on the topic of SharePoint governance. The ones I attended were Microsoft IT: Building Applications and Reusable Code on SharePoint, and Microsoft IT: How Microsoft Plans, Governs, and Operates Custom Applications and Portals within Microsoft. Both were hosted by David Johnson and Sean Squires. David and Sean did a great job sharing their practical experience and knowledge, and cultivating an open dialogue between themselves and the audience.

It was quite fascinating seeing how Microsoft "eats its own dogfood". However the resources they bring to bear make following their example a little problematic.  Microsoft IT use literally dozens of SharePoint farms, which from a licensing perspective alone would be prohibitive for any other organization.

SharePoint Structure

MS has several MOSS environments and many farms:

Vanilla SharePoint farms: staff can collaborate and use SharePoint Designer to tweak, but no custom code. Also includes My Sites. Most people use this.

Dedicated farms: Custom code deployed, no ability to use SharePoint Designer, supported by SLAs. They are currently trialing Enterprise Agreement-style process for helping Microsoft business units renew their portal use. They have to adhere to these agreed-upon standards or they can't use a dedicated farm.

Platinum – 7 major portals, specific customization and LOB applications, plus much more governance.

How They Do It

Created a diagram of information landscape and "pillars" - a catalog of existing code which allows reuse across the organization

Solution Catalog – list of custom solutions and samples

TIP: Don’t use MOSS as a relational database!

Best Practice: Standard application architecture - design for reusable components and in layers

Best Practice: All external UI labels and messages are stored in resource files (.resx) and SharePoint lists - this allows rapid UI changes without recompiling / redeploying. Configuration done via lists

TIP: XSL is critical to parse and present XML. Related to this, any custom UI uses token-based HTML templates

TIP: Make heavy use of Content Query webpart. There is a newer version of this with some changes to make it easier to modify

Security – typically use AD groups rather than SharePoint group. This is consistent with Microsoft's existing AD groups. Also when using SharePoint Groups, adding and removing users automatically causes a full recrawl. MSIT do create separate AD groups for publishers and creators

Runaway Successes

Vanilla SharePoint is basically a utility environment – employees can run wild subject only to quotas

MSIT – didn’t want to over-govern due to their highly technical staff

However this sometimes leads to “Runaway success”/runaway portals

Cleaning up a runaway portal becomes a matter of business negotiation

They are building new reports to at least assess what’s going on

To fix portal sprawl they are trying to migrate them back to vanilla environments, using scripts to do cleanup.

SharePoint Designer cleanup is much harder

Best Practice: You should organize portal on employee needs rather than org chart which often changes


Microsoft has to upgrade early in the development cycle of the next generation of SharePoint, so vanilla environments help with migration

Dogfooding – Microsoft IT adopt 3 “9”’s for availability (99.9%) and no more than that, because they adopt Service Packs and new versions early

Best Practices for SharePoint Governance

MSIT are still trying to arrive at MOSS best practices themselves – they feel they are still in their infancy in terms of governance

Biggest Governance and IA challenge is breaking down organizational boundaries

Create a central place for governance

Create a central area for task checklists, best practices, and criteria for development

Best Practice: Create a “Playbook” of solution / configuration options – so business groups can look at this before they engage. This helps align them to existing solutions and the way SharePoint works.

Create scenarios – during consulting phase – to try to prove value of out of box functionality.

No comments:

Post a comment

Note: only a member of this blog may post a comment.