Saturday, September 18, 2010

The “All in One” SharePoint Guru does not exist – so stop looking and focus on plan B (Part 3 of 3)

This article is a continuation of Part 2 - Please read that article first.



Phase 3: Development
 
In the development phase, the solution is built according to the specifications defined by the architect (As defined in Part 2). 

 The development phase requires 2 key players, the SharePoint Administrator and the SharePoint Developer.  Yes - this is two different roles with two different skill sets. 

You may want to add SharePoint data-capturer to the list so basic tasks like deploying a taxonomy and site population can be completed by a cheaper resource, allowing the higher skilled resources to spend time on more complex requirements.

The SharePoint Administrator

The SharePoint Administrator focus is on the setting up, configuration and management of services running on SharePoint.  Anything available "out of the box" from SharePoint can be deployed by the SharePoint Administrator, which should be at least 80% of the entire solution.  (If anything less than 80% of the requirements is "out of the box" - chances are, SharePoint was not the right solution, and you may be creating a maintenance nightmare).

The SharePoint Administrator is skilled to action the following:

  • Create new sites and lists
  • Install and configure web parts
  • Create BDC connections
  • Manage the SSP (Configuring Audiences for example)
  • Creating InfoPath forms
  • Creating and management of governance policies and permission groups
  • Management of the Central Administration
  • Use of the SharePoint Command line tool (STSadm)
  • Good understanding of IIS and Active Directory
  • Create and manage standard workflows
  • Configure and manage the backup strategy
  • Restore deleted content from Recycle Bin
  • Configure site usage statistics reports
  • Configure Search (including managing Best Bets)
  • Configure Security
  • Configure Navigation

To the SP Administrator, its all about providing what SharePoint can do OOTB (out of the box).  The SharePoint administrator must provide what is required via configuration made in the Central Administration, Shared Service Provider, Site Collection or in a specific sub site.  In some cases, SharePoint designer is used for more advanced configuration and reporting, but this tool is usually reserved for the SharePoint Developers.

The SharePoint Developer

The SharePoint Developer is the resource that is used to complete the other 20% of the project.   The SP Developer is focused on custom development and has strong knowledge on how to use the SharePoint API.  There delivery is usually focused around the following

  • Custom Web Parts
  • Complex workflows
  • Event Handlers and Receivers
  • Custom coding SQL
  • XML/XSLT Development

The SharePoint developer is skilled in IIS, .NET 2/3, SQL Querying, windows workflow foundation, C#/VB and how to apply these skills to the SharePoint API. 

Strong HTML/CSS/JavaScript skills is required when applying a brand.  Understanding how SharePoint applies a theme is needed so it can be manipulated and also knowledge on changing the master page and site definition page is extremely valuable.

Skills in ASP.NET infrastructure is needed as a SharePoint Developer is required to edit web.config files and work with code-behind pages.

To the SharePoint Developer, its about providing what the user requires that cannot be provided OOTB, but providing a solution that uses as much of SharePoint as possible.  The tool available is SharePoint Designer and Visual Studio.  Strong SharePoint Developers usually started off there career as ASP.NET Developers.

Phase 4 and 5 : Stabilisation and Close

After the solution is built, it is tested and corrected.  Training manuals are created and administrators are trained.  Acceptance documents are signed, and the solution is launched.  The site is supported and the project is concluded.

At these phases a SharePoint project requires the same resources needed in any other type of IT project.  These phases are managed and controlled by the Project Manager.  Resources used in the previous phases, i.e. Business Analyst and Architect can be used to QA the solution to ensure the business requirements are met, the SP administrators and developers can be used to correct the solution, and the business will do the final testing and sign off.  A SharePoint Trainer may be added to the resource set to focus on providing training material and holding training session to train the administrators.

At this point the support team are educated on how to maintain the current solution and the next phase is envisioned and then we are back to [Part 1] of this article.

Conclusion

Every IT project is split into phases, and each phase has a specific purpose, with a specific set of skills.  Why are we not applying this structure to SharePoint deployment?  In short, the following resources are the minimum requirements:

  • Envision
    • Project Manager
    • Business Analyst
  • Planning
    • Project Manager
    • SharePoint Architect  
  • Development
    • Project Manager
    • SharePoint Administrator
    • SharePoint Developer
  • Stabilising
    • Project Manager
    • Business Analyst
    • SharePoint Architect
    • SharePoint Administrator
    • SharePoint Developer
    • SharePoint Trainer
  • Close
    • Project Manager
Anything less is expecting too much from your existing resources which will affect the quality and prolong the date of delivery.



1 comment:

Keith Hudson said...

Nadir, I think there is a need for a new Sharepoint role, more advanced than a BA, but not needing the ASP.NET skills of a full Sharepoint Developer. I would call this person a Sharepoint Solution Developer. It is someone who can work with the business (with or without the help of a BA) to craft oob solutions in Sharepoint, using SPD for custom forms and workflows.