I'm going to start a controversial section to my blog entitled Learning from Failures. The idea here is the analysis of failed software projects, and how we can learn from them. The other possible outcome would be that someone from these software development companies and their respective divisions will stumble across my blog or article, and make some changes! I won’t hold my breath on the last point, but it should make for some interesting articles!
It should be noted (and should be obvious), that the reason I chose to talk about SharePoint is Microsoft HAS learned from their failures/mistakes, and has now shipped a pretty decent version of SharePoint! The problem I still have with it is the marketing behind it, but hey, marketing is marketing. That said, the thoughts below are mostly around the first few versions of SharePoint. SharePoint 2007 rocks! Try it!
What Went Wrong With This Idea?
First let me say that I think SharePoint is a fantastic idea. That said, I think it's a fantastic idea that has failed because of four key reasons:
- Far too complex to install, configure, and customize. It is not agile.
- It is being sold as a solution to organize unorganized companies. It is being sold as a system to add process's to organizations that don't have them.
- It's rendered HTML is brutal, along with the CSS files.
- It is one of the most unflexable applications I have ever used.
Have you ever heard the "KISS" theory? Keep it simple stupid. Well unfortunately nobody on the Microsoft SharePoint Portal Server team seems to have heard about it. First off, let me say that SharePoint Portal Server is an awesome tool, in theory! However, it seems to have been designed by people that thought they were rocket scientists, and expected some massive adoption. I mean it’s super easy to configure, all you have to do is become a master in:
Technologies You Must Master
- SharePoint
- SQL Server
- Internet Information Server
- Active Directory
- File Stores
- Indexing
- Software Development
- Search Engines (To help customize the brutal search built into it)
- Database Design and Development
- XML
- .NET 2.0
- ISA Server
- Master Pages
Sure Microsoft will tell you its super simple to configure and set up, but it’s simply not true, which is why hardly anyone to any kind of mass uses SharePoint.
Basic Design Flaws
Another basic rule in Microsoft has again royally broken, is the "Less is more" rule. Especially when you are dealing with non power users.
All you've managed to do now is install it by the way. What is next? Well setting up a process for document management.
Document Management Process
Why do most SharePoint Implementations fail? Does it eventually get setup? Of course, Microsoft will bend over backwards to get someone up and running rather than say their technology doesn't work. But what happens after? Nobody uses it? Why? Oh lack of training right? Wrong! Although, that is another reason it could fail.
A major reason it fails is because of how they are trying to sell it! They are basically saying "SharePoint will help bring happiness to your organization by organizing all your documents, enabling tracking of documents, indexing, searching, workflow, etc." The reality is, this is completely untrue! What will help you do all those things is good process! If you do not have good process behind your current file structure even, or an idea of what you will be doing when you want to apply taxonomy, tagging, and other document management principals to your organization, you have no business even looking at software yet! Especially one as complicated as Microsoft SharePoint Portal Server.
Wiki's Rock!
This is why wiki's work so great, they are simple places to organize your thoughts and find things! They are great for places with no processes in place. Do you know what happens when you turn on workflow features like check in and out, approval paths, etc. in an organization that has trouble enough keeping up with email? Disaster!
I mean, even if you somehow manage to find a great implementation partner, and convince Microsoft to give you money to use with their partner, what are the chances that the partner has any clue of how to manage documents in a large organization? What are the chances they will help with the hard stuff, which is not (should not be) the technology?
Just Try and Change!
So if for some miraculous reason you have made it this far in your SharePoint implementation, I'm impressed. Now, what happens on patch Tuesday, or any time your IT team decides to upgrade anything that SharePoint talks to. SharePoint issues galore!
In Closing
SharePoint is a great idea; it was just built completely wrong. It's a perfect example of trying to build something that does everything, making the software so complicated that it is so hard to use, that it is useless. Have they learned from mistakes? I don't think so! Instead, they went and integrated Microsoft Content Management Server, which had great potential, and put it into SharePoint. Ouch.
Will Microsoft ever get SharePoint right? It's possible, if they start copying Wiki's and other great easy to use software like BaseCamp, Zoho. If strip away the layers of junk and useless complexities in setting it up (it takes me about 5 minutes to set up MediaWiki, or 2 minutes to setup BaseCamp). Yes they are vastly different and much less complex, however, the way the marketing is done on SharePoint, if you called your local Microsoft Partner and said "I want a site where I can share documents and edit web pages and have others contribute" the first thing out of their mouths would probably be SharePoint.
What they should do?
I know pro SharePoint people out there will say, SharePoint can't be compared to BaseCamp or MediaWiki, because it’s far more complex! To which I say, "Exactly".
What should Microsoft do? I would let SharePoint die, and start a whole new initiative of applications that are easy to use, fast, and efficient. Applications that can tie into other existing applications that do things better! Don't try and be everything to everybody. Let's try and create an action item list for them:
- Fix your search, it must be better than Google's search, and it is not even close.
- Get rid of your hierarchy and start teaching people to use tagging.
- Make installation easier.
- Make Development easier.
- Make Training Easier (Better Training, and Easier Product).
- Create Clean XHTML standard code; fix your 4MB+ CSS files!
- Make it "Mashable".
What They Will Do?
Microsoft will continue to poor money at it, and put the marketing machine of Redmond behind this product. Partners will continue to push it because some large corporations are paying huge licensing fees for the product.
It is possible that one day, maybe in 5 to 10 years, SharePoint will finally be great a few years, since 2007 is actually really awesome! But for a company that has hundreds of thousands of developers at their disposal, thousands of partners, an insane amount of money, and has an operating that is installed on a large majority of the population, isn't it a little ridiculous how long it's taking?
What we learn from Microsoft
If you are trying to make life easier for users by organizing documents, and creating a central place to find things, you need to make software that is easy to use! You cannot expect users to love something that is harder to use than what they already do! You can't expect to turn legions of developers into pro SharePoint developers if you make it so complex to write simple search queries and add web parts that do anything besides display the weather. Here is what we learn:
- Keep it simple.
- Your software needs to be easy to install.
- You need to listen to your users.
- Developers must be able to easily customize and extend your application.
- Your application should not rely on certain infrastructure being present, if possible, or at least, very minimal.
- If your application generates HTML, it better be proper XHTML and not Microsoft HTML.
- Ensure your application has a very low learning curve. SharePoint should be included as an example in the dictionary for "Steep Learning Curve"
- If you have a lot of money, you can sell even the worst application.
Any other lessons to learn, more faults to SharePoint? Please share below!