My dad always used to say that there's more than one way to skin a cat. Since I hate cats that resonated nicely with me. Regardless of how I feel about felines however, it is one of those truisms that applies almost universally to meeting IT needs and requirements.
Present a problem to one IT analyst, programmer, or project manager and you'll get one solution. Present the same problem to another analyst and you're going to get something different, which may or may not satisfy the requirements better than the first solution.
I've paid a fair amount of attention recently to Microsoft SharePoint 2010 and Office 2010. Microsoft would love for us to believe that the software is so completely superior to Google's Apps offerings that businesses would be foolish to adopt Apps over a Microsoft-centric solution. Those of us who have been critical of Microsoft for a long time, of course, aren't used to the company creating really compelling desktop offerings. Sure, they had what seemed like unbeatable market share, but Windows Vista? Really? Office 2007 was excellent, but didn't add so much value that many organizations felt like an upgrade from 2003 was a must-have.
Now, though, Windows 7, Office 2010, SharePoint 2010 (and, to some extent, Server 2008) really do provide reasons to upgrade or potentially adopt/grow a Microsoft ecosystem. An organization could create powerful collaborative workflows around these products right out of the box and for those wishing to invest in development, the sky is the limit for the ways in which they can leverage the platform.
So everyone gets that I'm impressed by the whole package that Microsoft is pushing for the enterprise. Great. Yet, as Microsoft touts all of the failures of Google Apps in the enterprise and companies who either chose to stick with or return to Microsoft solutions, I can't help but feel that Office/SharePoint isn't necessarily better than Apps. It's just different. Not everyone is ready for different and many cultures can't incorporate different readily.
Google has a platform for development around enterprise collaboration, too. In fact, it has a couple. The company has opened all of its APIs to Apps, allowing developers to create a variety of applications that leverage the cloud-based, collaborative features of Apps. Similarly, Google App Script provides sophisticated tools for developers and organizations that want to extend the capabilities of Apps. Again, with the right investment, the sky is the limit. A variety of examples can be found here; these applications are relatively simple, but suggest that organizations could build their own very powerful applications within the framework of Google Apps (just as Microsoft shops can within the framework of SharePoint).
Microsoft quotes the CIO of Rexel asking, "Frankly, the Google value proposition is cost based, and once you take that away, what’s left?" I would argue that you are left with a native web platform that enables inherently collaborative organizations to work together flexibly and efficiently, with scalable development tools to meet future needs (I know, that sounded a bit like Google marketing speak, but I'm afraid it was all me).
There are definitely things that Google needs to do better to meet the needs of more complex organizations. More granular rights, roles, and permissions for groups and individuals is an absolute must. If I build an accounting workflow an integrate forms, spreadsheets, and reports (all quite possible with Apps and Apps Script), then it needs to be very easy for me to grant access to the workflow only to the groups that need it (without creating or managing multiple subdomains). That seems a no-brainer and needs to happen ASAP if Google wants to counter many of Microsoft's Google-isn't-ready-for-the-enterprise arguments.
As with all things, you have to look at your organization, its processes, and its business rules. I think that most analysts worth their salt could find a fit for Google Apps or a Microsoft platform in whatever group they're examining. In many cases, though, one may simply be a better fit than the other. I strongly believe that there's room enough in this IT town for both suites. They take two very different approaches to the same thing: getting work done.
Are you an organization that can leverage Wave and Buzz, letting workers create sites, share, collaborate, and communicate all day in real time? It sounds like Google Apps may be the best fit for you. On the other hand, are you ready to embrace social productivity, but can't imagine Google's engineering mindset of perpetual beta and rapid, fluid change flying in your business? I think Microsoft has a solution for that: it starts with Share and end with Point.
What has your organization chosen? Tell us why in the talkbacks.