VSTO "Orcas" Sales Forecasting Demo at Financial Services Developer Conference
I spent Thursday, April 26th in New York attending the 5th Annual Financial Services Developer Conference. I was on hand to assist with one of the VSTO demonstrations. The demo used an application that OZ developed last year for the Office System Developers Conference. It is a sales forecasting application that was inspired by an honest to goodness real-world application.
As I looked through the agenda for this conference, one of the things that struck me was how grandiose many of the topics sounded. For example, one of the sessions is “All Nines. All the Time: Citigroup Apply & Buy Application.” This session discussed achieving five nines reliability. Now, don’t get me wrong, I truly appreciate the amount of engineering and effort required to build mission critical applications. What I’d like to see more of at these types of events, however, is more attention to the fundamentals. That is where the sales forecasting application demo fits in.
You see, I’d bet this Dell XPS M1710 that I can find the inefficient end-user pattern that I’m about to describe in every organization of significant size. The basic problem is the collection and consolidation of business data – particularly forecasting information. While the situation the demo tackles is sales forecasting, if you abstract one level, you’d find this same pattern everywhere.
For the millions of dollars corporations spend on enterprise software from gigantic ISV’s and the millions more spent on enterprise development, how come there is still so much low hanging fruit in the enterprise? Considering the amount of low hanging fruit that is ripe for collection, I'm continually amazed how quickly some folks can dismiss Office development so quickly. The sales forecasting demo that we built can be built by any Office developer extremely quickly.
In the sales forecasting scenario, you have sales manager(s) and sales people. The sales people need to forecast their sales over the year. The manager(s) need to review individual sales forecasts and consolidated forecasts. Depending on the manager(s) level in the organization, they may need to see consolidated forecasts at multiple levels of the organization.
The end-user solution to this problem is to create an Excel workbook and share (via email or a shared-server) it with all of the sales people. The sales people fill out their forecasts and then email it to someone or save it to a prescribed server location.
Now, some poor soul, usually a financial analyst, has to consolidate all or the workbooks. Usually this is performed by creating an elaborate series of linked workbooks. In order to handle each time period, the file system is used and the series of workbooks are copied into new folders. The end result is a whole bunch of files like the example shown below.
FIGURE 1: A TYPICAL END-USER SOLUTION TO FILE CONSOLIDATION

I probably don’t need to tell you how time-consuming this process is. Nor do I need to tell you how fragile and error-prone it can be. I know – I used to be a financial analyst. I’ve lived it. We used to refer to this as the equivalent of burger flipping for MBA’s. Given the price of MBA's today, this is a valuable problem to solve.
The generic solution to this problem is to find a way to store all of the data in a database and then provide a way for users to input and modify data appropriately. If we agree that the data should be stored in a central database, then the only problem left to solve is how to allow the end-user to interact with the data. For all practical purposes, the interaction choices are: web-based or smart-client based. The sales forecasting demo takes the smart-client based approach, using the VSTO ServerDocument class to provide both web-based dashboard integration as well as an offline experience.
FIGURE 2: AN EXCEL SALES FORECASTING APPLICATION DEVELOPED WITH VSTO "ORCAS"

Figure 2 shows a screen shot of the sales forecasting demo. We originally developed it using VSTO 2005 and targeting Excel 2003. Ryan migrated it to VSTO "Orcas" and Excel 2007 in preparation for the Financial Services Developer Conference last week. This demo really deserves an entire blog post or article to explain all of the capabilities we built into it - being inspired by a "real-world" application, it is fairly comprehensive. Basically, it consists of two worksheets a dashboard and the forecast. The dashboard is shown in the screenshot. The forecast worksheet contains the monthly details.
The demo app uses role based security. Sales managers can navigate throughout the organizational hierarchy displayed in the task pane. As you select items in the org hierarchy, the dashboard and forecast worksheets update accordingly. A sales person can only view/edit their own data - the hierarchy is disabled.
Pretty standard fare technically, but extremely valuable versus the ad-hoc scenario that is abundant in corporate America today. Anyone feel like picking some fruit?