Category: Best Practice


I recently had the opportunity to attend rotation 3 (R3) or the first public offering of the Microsoft Certified Master program for SharePoint 2007.  This without doubt will be one of the most intense, humbling and gratifying experiences of my life.

After a gruelling three weeks of SharePoint expert training and intense peer discussions, three difficult written exams, a tough but fair Qualification lab and countless sodas and sleepless nights, I am very pleased to announce, that I’m now a Microsoft Certified Master for SharePoint 2007!

I was originally supposed to attend the beta rotation (R2) back in April but as luck would have it I could not attend R2 and boy was I glad to start on 1st of June, 2009!  First of all the weather in Redmond was fantastic by all accounts, it only rained once or twice while I was there. Microsoft jokingly calls weeks like these the recruitment weeks. Secondly the training format, the qualification lab and venue improved tremendously compared to the last two rotations.  The Master Program folks seek exhaustive feedback and based on the improvements to the program on per rotation basis, you can tell that they take this feedback seriously.

My journey with the program started when I applied for it last year in November, 2008; lucky for me it was not too hard to get a buy in from my employer Stargate Global Consulting, they have a vision to build a Centre of Excellence for SharePoint in Australia, and, having MCMs on board played into that vision. Part of the application process is submission of engagement briefs, sanitised copies of technical documents authored in the past and possibly an interview (I did not get one but have been told by other candidates how hard it was).  I got the green light from the SharePoint MCM Program Managers in January, 2009 along with a list of pre-reading material and invitation emails (more on this later). I did not know at the time but the selection criteria is right up there, we have been told for every candidate selected in the last rotation four to five applicants were refused.

I did not pay much attention to Pre-read list as I had read most of the material over the last few years, big mistake as I was to learn later – most of the documents and articles on the pre-reading list have been updated over the last year.  I focused more on the logistics side. Based on the advice of former MCM Candidates, I flew in a couple of days early and shared a flat with two really personable and knowledgeable Microsoft Consulting Services folks – or as we now like to call ourselves ‘The Three Amigos’. The off campus housing and learning experience was great, although you are the foremost resource responsible for your own learning, the support from peers cannot be denied and one of the best things about MCM.

June the 1st was an early start like all other days of the program, the program kicked off at 7:45 AM on the dot at Building 40, breakfast was served and the seats had name tags along with MCM Folders and log on instructions to the fabulous blade servers. MCM collateral was also neatly stacked at the back of the room for our collection. From the introductions alone it became quite obvious the deep skill set and expertise on parade in the room.  We had a good balance of architects, consultants, support engineers and folks from both Microsoft Consulting Services and Microsoft Partners; almost all the 17 candidates had at least 3 to 8 years experience with the SharePoint technology and products among other things. The best thing about all of us was our eager attitude towards learning. We were all here to learn “what we don’t know that we don’t know”.

We were also introduced to our trainer for the day; we had over 12 through the three weeks, each undoubtedly an expert in his or her area. The training days were busy – early starts and late finishes was the norm. A full day of presentations and discussions (45 minute lunch break inclusive) was followed mostly by lab work and lots of reading over the weekends. You had little time for anything else other then eating or sleeping.  Any free minutes we had were put to use by mini SharePoint Trivia sessions, I learnt a lot of things from this valuable exercise. This is where the true benefit of peers becomes apparent; I also can’t count the number of times I was assisted by my fellow MCM candidates during the course of the labs.

Not going into too much detail from a ‘What was covered Perspective’.  Week one focused largely on the architectural and design side of SharePoint, week two dived into the features available within the product and week three focused on the custom development side of things. Although not all SharePoint areas were covered as that would have been a herculean task given the nature of the product and the constant flux of improvements with service packs and updates. In my personal opinion program manager had done a great job, the course was very well structured. The material was highly relevant and can be largely applied to our daily work. 

The three written exams I mentioned earlier took place after each week of training, it’s important to understand that you are not taught to the test, so don’t be surprised if you are thrown an odd ball question, it probably is testing your concepts – both your existing experience and the pre-reading list play an important role here.

As the old adage goes ‘All work and no play makes Jack a dull boy’ this was true too in the case of the MCM Program, James (Program Manager) mixed it all up with visits by the product team, candidate dinners, the traditional Go-Karting run off against the OCS MCM folks (we won the 1st and 3rd positions), company store visit etc. I must add that James did a great job in keeping us motivated, especially by week three where we all needed it badly. My personal favourite was the visit to the Home of the Future, it was quite inspiring. I came out buzzing with ideas for services in the cloud that will be required in the not so distant future.

The grand finale of the program is the much dreaded Qualification lab. The tireless lab work and studying for the exams in the preceding weeks did not prepare me for what I was to experience in the Qualification lab. The lab preparation and the blade server setup were excellent.  I remember how pleased I was to get the tasks under my belt, even let a little shout of joy out just before the last minute warning. I had not realised it in the course of the day but the sheer amount of scenarios and work that needed to be performed had almost drained me.  It hit me when I tried to get up from my seat and just fell back without warning. This was probably one of the most memorable days of the whole program.

It’s true, as it’s been iterated on number of blogs before, MCM is not for the faint hearted, and you will need all the stamina in the world and passion to succeed. Quite frankly MCM is the best product training you can have.  The recognition and respect for achieving this status is unparalleled in the Microsoft eco system. I would challenge all seasoned SharePoint professionals to consider the MCM Program; do you have what it takes to be a Master?

I am a big fan of exhausting OOTB functionality at all levels in any platform. Simply put reuse saves a lot of time! SharePoint is no exception, in fact it has a really rich code base. I have seen a lot of developers adding custom logging components to their SharePoint dev projects. It’s almost impossible to work with Event Handlers, Features, Workflows and some Web Parts without logging error messages at runtime.

I myself have been guilty in the past of this practice, but today I found a quick and easy way to log errors using the build in logging functionally.

Here’s the one liner, I am sure you will love it:

catch(Exception Ex)
{
Microsoft.Office.Server.Diagnostics.PortalLog.LogString("Exception Occurred: {0} || {1}", Ex.Message, Ex.StackTrace);
}

Tip to self: Use <Code> blocks to encapsulate code for proper rendering, finally figured how this worked in Word Press.

[This is a sneak preview to a whitepaper that I am writting]

Short answer:

It depends…

Some reading to whet your appetite:

With the eminent pervasion of SharePoint as the mainstream web application development platform at most Microsoft shops, it’s more then essential now to get the SharePoint infrastructure right. Ideally it should be an abstraction for developers and business users and needless to say forward thinking and able to meet all the ‘abilities’.

Here is a quick list of Best Practices that I have discovered along the way, the white paper will detail the reasoning arguments and background on each point as well will include capacity and performance planning guidelines.

a)      Start with a single farm (note: not a single box), this could be small, medium or large based on the outcome from capacity planning.

b)      Multiple farms should be a big no, unless you have to cater for drastically different SLAs

c)      Each application should be based in an individual Site Collection and have it’s own unique Content Database.

d)      Try to discourage more then 6 web applications in a single farm (as they are replicated onto all front-end servers) by factoring logical grouping i.e. Collaboration, Portal, Intranet, Extranet and so on.

e)      Have Site Collections live under the respective logically grouped web applications.

f)       Use host headers and not IP addresses when naming site collections.

g)      Factor in one site per content database per category if content size is expected to be large (more then 4 GB).

Long answer:

Well please be on the look out for the white paper when it’s out.

Follow

Get every new post delivered to your Inbox.