Microsoft prides itself on using its own beta software to run its operation. In other words, the company eats its own dog food. Microsoft can't expect customers to use its software if the company itself doesn't use it.

In my article "Who Cares About .NET?" (March 2003, InstantDoc ID 37925), I argued that the Windows.NET Framework offers benefits for IT administrators as well as developers. I recently spoke with Microsoft's chief Microsoft .NET evangelist, Adam Sohn, to see how Microsoft is progressing on implementing .NET inside of Microsoft and in future versions of its software. One of the first internal applications that Microsoft converted to .NET is its customer relationship management (CRM) system.

"We had a bunch of systems with customer data," said Sohn. "Nobody wanted to use the systems because parts of the data are stored on different systems, on different devices, and it was hard to get a complete view of customers. So we created project Alchemy to address those issues."

Microsoft's customer data is stored on one database for the external sales team, another database for the product support team, a 200GB sales system for the internal sales team, and a 1TB marketing database to record customer activities such as email newsletter subscriptions and Microsoft event registrations.

"The guys on the front line could not function," said Sohn. "The data was locked away in all of those silos."

Microsoft created project Alchemy, a .NET application that interfaces with all of these databases through Web services. Alchemy is essentially an internal CRM API that lets developers access all of the CRM data.

"Once we created Alchemy, we got a bunch of people inside of Microsoft interested in unlocking the data," said Sohn. "Within weeks, we created five new solutions that have helped our sales team and customers get a complete view of customer data and use that data to improve sales and customer support."

In addition, Microsoft is using the .NET Compact Framework to port one of those applications, Account Explorer, to the Pocket PC, giving Microsoft's sales team wireless access to Microsoft's key customer account data.

"The usage numbers have increased significantly since Alchemy. Users feel like the tools are finally usable," Sohn said.

Microsoft is also using the Framework to develop its corporate Web site. The download servers run on XML Web services. Microsoft serves an average of 6Gbps to 8Gbps of downloads each day, and it uses Web services to drive customers to the right services.

The First .NET Steps
Microsoft's first step in the .NET evolution is to make all its development languages support .NET. Next, Microsoft will add .NET to its secondary development environments, such as Office. As a result, Microsoft will replace Visual Basic for Applications (VBA) for Office with the .NET Framework. By using the Framework, you'll be able to use any .NET language to automate Office applications, and your applications must comply with all the .NET security configurations. Compulsory security compliance will be a good thing. The sooner we get rogue VBA code out of email messages that come into Outlook, the better. If an email message contains an embedded .NET application, you can prevent the application from accessing any part of your systems by using the .NET configuration tools to lock down security. Implementing security configurations is difficult with VBA.

Sohn said that .NET is already attacking the biggest problem facing IT: enterprise integration. "Enterprises are spending $7 in integration costs for every $1 of software purchases. People are developing internal corporate applications now, even in this economy. This stuff works," he said.

Are you seeing a substantial Return on Investment (ROI) by implementing .NET for your internal applications? Send me an email message and let me know.