I was pointed to a Phil Wainewright blog entry on Customization: curse or blessing? by Denis Howlett from a twitter conversation a few days ago. In the twitter conversation, I’d been questioning the scalability of Microsoft Sharepoint, and it appeared that the way to scale Microsoft Sharepoint was to look to remove as much complexity at the app tier as possible (would assume this means custom applications) and use reverse proxies (eg cache as much as possible).
I’d already read Phil’s blog entry. But after the conversation with Denis, I reread the entry in detail. The following paragraph got my attention "As computing shifts to the cloud, the way in which vendors enable customization may become the key determinant of success or failure. It all revolves around what kind of platform for customization the market really wants."
To me this is a key statement, because customization of work processes, through custom code, in my mind no longer offers a sustainable competitive advantage to most businesses. My guess (if someone has some solid statistics please leave a comment), is that the majority of IT budgets (70% to 80%) is spent in support of software, that has been extensively customised on-premise, for that business and is now considered somewhat legacy.
Are workflow tools or platform APIs the key for customization? Partially, but having the right type of applications/components and means of personalizing (a form of customization) those applications for the given users is as well. Allowing the applications to communicate through a composite interface will also add value to those looking to tailor the applications for their use cases.
I do agree with the statement commented, by Phil, from Nelson "There’s a world of hurt coming to the IT services industry based on the SaaS model". Current IT Service companies make revenue through customising software on-premise. So as the SaaS market matures, they will fight the move of existing customisation software off-premise to equivalent capability in SaaS providers, marketplaces and aggregation points.
Thus customization is a friend of SaaS, as it is currently very costly on-premise; but the degree of customization, afforded to each user community, is a foe of SaaS because of the performance impact as concurrent usage scales.