I'm listening to the latest installment of the Microsoft Developer Show on TPN, and this week Nick spoke with Coatesy and Paul Stubbs about developing applications that integrate with Office. What's really interesting about the conversation the guys are having is the emphasis placed on the evolution of the development lifecycle.
It got me thinking, with any function within a business, there are power users who take standard operational tools such as Word, Excel or Outlook, and extend them to provide better coverage over their daily tasks. There is a point though during a products evolution where better extensibility is provided through software engineering tools and processes, and the process of extending the functional boundaries of the standard application falls between the power users and software development teams. We saw this with database developers and user experience designers, who are now part of a sub-lifecycle that forms part of the overall software development lifecycle, where the tools and processes need to suit their particular work requirements, but dovetail into the overarching engineering process. Also, being able to hook straight into SDLC tools such as Team Foundation Server natively will make a big difference to the amount of friction between Office developers and the overarching SDLC (I'm assuming VSTO supports the TFS Explorer).
From what Paul and Coatesy are saying, it would seem the next step in the process for Office development will be to develop practices and processes for providing power users and developers to work together on solutions, that will then flow into larger software development projects.
The other aspect is the reduced cost and complexity of re-engineering. As Nick points out, ISV's are wise to consider integrating their applications core functionality into an existing information framework like Outlook that manage not only mail but other data artifacts such as contacts and calendar entries. In fact, when you consider that concept further, building value-add extensions, and cross-task capabilities into existing desktop applications such as Outlook and online applications like blogs, you could start to build cool applications like something that takes new appointments (or updates) and synchronizes them with blogs/wikis (and thus RSS feeds) to keep other parties up to date with your movements (maybe you flag an appointment as being public via blog).
As with all things though, the opportunities are vast, and time is not, so making my kajillions from high-value Office extensions will have to wait until all my expenses are done 🙁