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
Dogfooding
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.