So every now and again over the last, probably six or so months, me and Steven have sat and had "heated debates" about Sharepoint (apparently now re-branded "Microsoft Office Sharepoint Server" in its 2007 incarnation).
I guess our perspectives on it were pretty straight forward, my angle was "Sharepoint is rubbish, it's a glorified wiki hammed together with a document management system which costs lots of money", and his (to brutally summarise) was "Sharepoint is fantastic, it's an average wiki but that isn't the point". Well, I think I've actually been wooed by Microsoft's monolith.
I guess the bad before the good. The last time I tried out Sharepoint was with the 2003 version, which was a nightmare to setup, and as I recall, I abandoned the idea and used the considerably more free mediawiki. I found Sharepoint clunky, overcomplicated and hardware intensive.
Today I installed MOSS 2007 and had a slight different experience. To start with, the "basic" non-clustered installation was an absolute dream. It was practically a three click installation (as long as you have ASP.NET 2.0 already registered in IIS and don't attempt to install from remotely mounted media, if you do you get the wonderful message "The installation has failed." after the second click. Informative!) and I had it up and running with a sample data set using an SQL Express database that was created for me. Having spent a good deal of time writing MSI installers and configuration tools recently I was pretty happy at this install.
Complaint number one dealt with, so the clunky feel it had then? Well, to an extent it's still there, but the interface feels like it's had a good round of polish applied in the last revision and it all seems to flow a little better. I guess the whole ethos behind Sharepoint is custom access levels and delegation of responsibility for mini-sites down to various business stakeholders and department members, so it feels a little configuration heavy. That said, the configuration is reasonably clear (for the life of me I couldn't work out how to change the site categories, but I didn't Google it, I was trying a clean room experiment) and the results look very professional. So so thus far then. Active directory and exchange integration is very nice, gives everything a nice integrated feel. Bonus points.
What really grabbed me though, was something Steven was talking about at the weekend, he didn't go into much detail but I presume he was telling me about Excel services. As a concept, this idea sold me to Sharepoint instantly.
Anyone working in the technology or development department of an SME that's evolved over time without a clear data direction or strategy will be all too familiar with the "random excel document that makes department X work" and just how painful as an IT professional it is to just have to live with it. I've seen Excel sheets full of private data, I've seen excel sheets used as bug tracking systems, accounting systems, excel sheets passed back and forth in emails with data that could be summarised in one or two lines, I've seen excel used as a programming language. Horrible.
Well, Excel services offers you a version controlled repository to host these "business critical" excel spreadsheets in. Sure it's not a real database, but when you don't have the development time to replace every off-the-side-of-the-desk spreadsheet with a formal data storage technique and set of reports, it's a case of making everything "slightly less evil". Excel services allows the data to be viewed from the Sharepoint portal, watched, reported on, monitored via RSS, alerted on via email and feature in reporting KPI's and dashboards. It's still a horrible little excel document underneath, but you know who controls it, and you can programmatically interact with it without fear that somebody is going to damage that data source irrecoverably. Moreover, I'm imagining excel services as a wonderful half way house to get some of those development jobs done that really don't need development effort. It'd be lovely to rationalise the chaotic data design of a disparate business, but when you don't have the time, having the ability to formalise a way of viewing that data in a medium that can later be transparently replaced seems like a killer business advantage in the medium term. When you combine all this with the fact that people in other departments will then have visibility of these previously mystical data stores, the argument for implementing Sharepoint gets stronger.
So I like the integration perks, I like the fact that it seems to work with Microsoft CRM (I keep seeing links and things crop up, I've not looked in detail), I like that it's ASP.NET and you can host Windows workflow in it, I like the unified SME intranet experience and the delegation of responsibilities. Amusingly, however, the wiki implementation in the box is quite poor. We've been using the excellent Screwturn wiki project in my development department for our documentation and whilst we don't stretch Screwturns functionality, I think Microsoft's dumbed down wiki implementation is a little... well... dumb. It's an odd HTML-FrontPage-Wiki hybrid that doesn't sit well. That said, it's useable and I doubt I'd loose too much sleep over using an inferior wiki when benefiting from everything else. I've seen mention of third party wiki web parts which might well be the solution to this issue.
Unfortunately Sharepoint is very expensive. I can't find any really accurate pricing online as it obviously depends heavily on your hardware setup and server infrastructure (clustered or not, SQL Server and OS licenses, Enterprise or Standard edition...) but the basic ballpark figure I've seen crop up a few times is about £25,000 without development effort or professional services ($50.000 or so to any Americans). Considering Screwturn is a free open source .NET based project that's served me brilliantly, I can't exactly recommend Sharepoint as a wiki solution if all you need is the most basic of collaboration platforms. I'd choose Screwturn over it for pure wiki'ing anyday. However the other benefits finally seem quite tangible to me, it's expensive but it might just be worth it. I think you'd do well to have a development department to set it up and deal with any "small" development tasks or some specialist consultants however, as I'd imagine if your IT staff only operate in their comfort zone the configuration could give them a bit of a heart attack.
I guess Steven was right, Sharepoint isn't shit. It's just expensive and doesn't wiki too well! Shame really, wiki'ing is near the definitive way to construct requirements for, and document, software. I just don't quite see it a bronze bullet yet.
Now Playing: nine inch nails - discipline