We've all watched the industry make the most of the "SharePoint boom" that Microsoft has created by releasing SharePoint 2007 in 2006. This led to various problems in the market surrounding the product.
How did this unravel?
- significant issues in the initial RTM release
- no governance up front by Microsoft on how to implement solutions on top of SharePoint
- immature SharePoint Solution Integrators (SI's) who implemented poor solutions
- slightly more experienced SI's going in and patching up the damage caused by the first attempt at the solution
This has led to a huge misconception of the product and lots of SI's walking away from SharePoint projects due to getting seriously burnt and it all "being just too hard".
Why did it happen?
We've all seen the devastation its caused in the market place for various reasons:
Everyone is doing everything
"This is a platform people!"...treat each implementation as another solution on a single maintained infrastructure! Don't let SI's come in and do everything, it's unlikely they've got the skill sets to do both Infrastructure AND Solutions! There are immense skills sets to do this, SI's should stick to what they're good at:
- If they are known for implementing networks and servers they're unlikely to be any good at implementing a Document Management System on top of SharePoint.
- If they are known for implementing a Document Management System on top of SharePoint, they're unlikely to be able to architect networks and servers!
Hopefully you get where I'm coming from! It also means that your people have to know so much and training people up becomes a nightmare. The other issues is you have pockets of knowledge and usually too much dependency on one person in the team. This results in SI's dumping junior guys into implementations where they're learning on the job, but being charged out at "SharePoint Developer" rates.
I'll finish this bit with a question..."Would you let an electrician come back and hang some doors in your house?" e.g. "Would you let server admin guys write CSS and XHTML to build your Internet Site in SharePoint?" The sad thing is plenty are!
I can confidently say this now as I have all four MCTS certifications for SharePoint, which are broken up into Administration and Development for both MOSS and WSS.
This really doesn't test anyone's skills deep enough to be worthy of a certification compared to other Microsoft certifications out there. If you took on someone who had an MCTS in MOSS Development and ask them to go implement a large scale Business Data Catalogue solution or InfoPath solution, they'd be stumped.
The certifications just don't go deep enough and SI's and Organisations just assume that an MCTS MOSS Dev certified developer can do everything in the MOSS stack which is ridiculous!
"Dog of all trades, master of none"
Organisations buy into the marketing and then realise that there is a lot of implementation to be done after it's all installed to make it operational. Blogs are no where near ready for Enterprise 2.0 out of the box! Check out my Leveraging the SharePoint Platform series to read more on this.
There are so many ways to do things in SharePoint (see SharePoint Implementation Approach Comparison Chart) and usually because it's such a complicated and expensive process to purchase and deploy the base platform, when it comes to implementing the initial solutions such as Intranets...corners are cut! Mostly by not investing the time in Developing Solutions properly and just hacking away at out of the box files because its quicker.
A lot of projects have been awarded to the SI who had the cheapest quote and it's usually due to the overhead costs of doing things properly over getting it done. This always bites the Organisation up the backside, but by that point its too late!
Upgrades too hard
I've seen plenty of implementations where corners were cut and then there was no confidence when it came to even try to upgrade the underlying platform. This has left organisations stuck on RTM with lots of bugs and missing new functionality available, for example, the extra Search functionality in the Infrastructure Updates.
We've all been there..."it's the SQL server"..."its the development code"..."its the load balancer"..."it's the SAN". There's a lot of blame pushed around. This causes lots of projects to stall and people aren't all that helpful and trying to pin point the issue as a team. They tend to only even investigate it once every other possibility, other than their precious area, has been discounted.
Often the support team, due to not having any knowledge, throw it straight at the developers...even though it could be a simple security administration issue that they are responsible for.
Poor Development Tools
So most Developers do cut corners because the tools just aren't helpful enough and the community has done an amazing job of writing them.
I've created a new 'Ultimate SharePoint Development Tool' page on the wiki which explains what SHOULD be available to Developers on this platform. Please please please get on their, log in, and add the features YOU want to see!
Microsoft rely on the community too much
With SharePoint 14 on its way, I'd really like to see the content available on its release and not slowly being released on MSDN on a case by case basis. This will be especially so with FAST integration and Performance Point being put into the Platform. The community shouldn't have to rely on other community members to publish information on how to do things. The MSDN Forums are great, but the information is not structured and makes it hard to find solid authoritative content.
If SharePoint had been released before the Internet was prevalent, it would have failed because Microsoft would not have been able to keep up with the support calls that occurred. Internet Searches save SharePoint consultants on a day to day basis!
So I've already discussed some of these things in my most popular blog post 'Solution Development in SharePoint 2007'. This is now broken down with a bit more responsibility shown:
What Microsoft need to do
- Don't rely on the community - focus on MSDN content being ready for SharePoint 14! Link to community content and leverage it if it isn't in MSDN.
- Focus on the Developer Tools - if the tools are easier to use and conform to standards, they'll be more successful implementations out there and more developers will come on board from .NET world...forget about it otherwise...leave it to the Community!
- Split up the exams - they need to break up the exams to isolate particular skill sets. Sure, have a platform framework cert, but then also have separate ones for InfoPath, BDC, Excel Services, Search for MOSS Dev for a start!
- Learn from other platforms - they need to open their eyes and ears to other platforms like SAP who have already been through this pain, I don't want to be tarred with the same brush that a lot of SAP engineers are across the World!
- Partner Badges - Microsoft should award more distinct Services badges for SharePoint. Differentiating between those who can do Infrastructure and those who can do Implementations both Customisations and Development (see Defining SharePoint Development on the SharePointDevWiki.com).
- "Dog of all trades, master of none" - be more honest on where SharePoint's strengths are and in the sales material that the Organisations see, indicate where it's not ready yet or better still leave it out!
What SI's need to do
- Be Bold - sure there's work out there in the infrastructure space, but if it isn't your strength...be bold and stick to what you know. There's plenty of work out there and Organisations will respect you in your strengths and not judge you on your weaknesses.
- Partner - if it isn't your strength, partner with another SI that can do it with their eyes closed...then they can let you do the bit they can't do and you form a perfect partnership!
- Train your team - there's plenty of SI's out there who are "too busy" to give their team time to skill up properly. Schedule time for your team to skill up and have programs to find team skill gaps.
- Best Practice - spend the time investing in setting up a Development practice to develop and deploy solutions properly.
- Transition to support - when you implement these solutions, ensure that they are transitioned to support. Trust me, it'll do you huge favours in the future where you don't just get dumped every error!
- Work as a team - For the market to trust Partners, people need to play as a team and not fall into the blame game.
What Organisations need to do
- Isolate - Like other platforms, have separate SI's for Infrastructure and Implementations (Customisations and Development). This mitigates lots of risk around having all your eggs in one basket!
- References - Do your homework and get solid references for previous projects. Sounds obvious, but you'd be surprised how many large projects have gone a stray and the SI's still continue to get work!
- Get Help with Tender Requests - ask Microsoft or an independent consulting firm to help write tender requests. Don't just cut and paste from sources and then complain when the quotes come back and they're too expensive because they've put so much contingency in as the scope was open ended. SI's will stop responding if this carries on in the market place!
- Don't just assume SharePoint - don't just assume that just because the Organisation has SharePoint that everything should be implemented in it! This is regularly occurs, know the limitations and boundaries of the platform. ASP.NET Web Forms and WPF Applications are still the answer to solutions.
- "Functional Requiremetns" - Keep your requirements Functional without technology to drive this.
- Don't compromise - don't go for the cheapest option and cut corners, ensure quality in all implementations.
- Define levels of support - define the levels between each time involved in the SharePoint platform.
I'd love to have the $$$ to fly and speak at the SharePoint Best Practice Conference on this, but unfortunately the bills take priority! ;-) I would strongly recommend that people keep up with the conference and also the generosity of the presenters in distributing their slide decks after the fact! Great work by all but especially Ben Curry in organising it all!