Export (0) Print
Expand All
1 out of 1 rated this helpful - Rate this topic

How Microsoft IT Increased Developer Productivity with Workflow Modeling Tools

Business Case Study

Published: January 2009

Since 2003, the Microsoft Information Technology Group (MSIT) has developed and maintained Order Management, an online transaction processing (OLTP) application that makes it possible for customers in more than 200 countries to purchase Microsoft® products over the Internet. In 2007, MSIT discovered that 90 percent of the code defects in Order Management were caused by functional requirements being mistranslated into C# code. To reduce errors and speed development, the group decided to incorporate workflow models into its development process. MSIT implemented a solution based on Windows® Workflow Foundation in the Microsoft .NET Framework 3.0. As a result, the productivity of developers has increased by 40 percent, functional code defects have decreased by 90 percent, and the performance of the OLTP application has been maintained.

Download

Download Business Case Study, 157 KB, Microsoft Word file

Customer Profile

Situation

Solution

Benefits

Based in Redmond, Washington, the Microsoft Information Technology Group (MSIT) delivers IT support for all Microsoft business units. The group has 3,500 employees, and its services include e-commerce services used by people in more than 200 countries.

Microsoft IT had an inefficient and error-prone process for translating functional specifications into C# code for its online transaction processing system.

Microsoft IT used Windows® Workflow Foundation in the Microsoft® .NET Framework 3.0 to establish model-driven development techniques as the foundation of its code development and testing process.
  • Increased developer productivity by 40 percent
  • Reduced the number of functional coding errors by 90 percent
  • Maintained OLTP application performance.

Situation

The Microsoft Information Technology Group (MSIT) provides IT services for all of the company's business units. One of its services―which is managed by its Licensing, Pricing, and Operations group―is the development and maintenance of Order Management, an online transaction processing (OLTP) application that serves as the company's e-commerce infrastructure. This Web-based infrastructure drives all e-commerce transactions provided by Microsoft, including purchasing and renewing MSDN® subscriptions, purchasing licenses of the Windows® operating system through the Windows Genuine Advantage program, and obtaining licensed copies of Microsoft® Office through the Home Use Program.

"In our QA testing, we discovered that 90 percent of our code defects resulted from functional requirements not being translated correctly into code. Because 50 to 60 percent of the features we developed for Order Management in the past year have come from functional requirements, we realized that recovering from these mistakes was taking a significant amount of time and decreasing our productivity."

Rajesh Sampath, Principal Development Manager for MSIT

After a customer initiates an e-commerce session with Microsoft, Order Management guides the customer in choosing a product and adding products to a basket. During checkout, the application verifies the customer's credit and sends the receipt after the purchase is complete. Order Management is available in more than 200 countries and more than 100 languages. It processes more than 8 million e-commerce transactions a year.

Because Order Management provides a guided purchasing experience for the customer, each step of the product selection and buying process is supported by a large amount of business logic written in C# code. Since the application was brought online in 2003, MSIT developers have spent 60 to 70 percent of their time changing or enhancing this code according to the functional specifications provided by business analysts. Previously, the specifications described each business process as a flowchart, which had to be translated into C# code.

It was an inefficient and error-prone process. The high-level flowcharts that the analysts produced were not easily broken down into low-level C# code. Weeks of meetings were required to identify and resolve the incompatibilities between the two views of business processes. In addition, miscommunication between the analysts and the developers during the translation process resulted in mistakes in the code. When these mistakes were discovered during testing, MSIT needed to review the functional specifications to find the translation error, rewrite the code, and retest it.

MSIT needed a way to generate C# code from functional specifications more accurately and to quickly spot and correct defects in the translation process. The development team constantly updates the functionality of Order Management under very tight schedules, so the solution could not require extensive changes to the working process of the team or significantly reduce developer productivity. Also, it could not reduce the order processing throughput of Order Management.

Solution

"We had to consider the performance impact of these tools on our servers. A key performance metric for an OLTP system is the number of orders it can process in an hour. If the workflow modeling solution reduced this throughput, it would not be helpful."

Rajesh Sampath, Principal Development Manager for MSIT

To meet these challenges, MSIT decided in July 2007 to convert the business processes of the Order Management application to workflow models. The team planned to use workflow management tools to directly generate the code that the development team would then add to when building new features for Order Management. MSIT considered two workflow modeling tools—the Orchestration Designer included with Microsoft BizTalk® Server 2006 and Windows Workflow Foundation in the Microsoft .NET Framework 3.0.

When deciding which tool to use, MSIT staff consulted with representatives of the BizTalk Server and Workflow Foundation development groups at Microsoft. They learned that BizTalk Server is a full-featured business process management server that requires a large amount of processing power, but MSIT needed a more lightweight solution. MSIT found that Windows Workflow Foundation had all of the capabilities it needed to create, test, and translate workflow models into code.

After deploying Workflow Foundation, the team targeted seven key business processes to model as workflows. Shubham Gupta, a Development Lead at MSIT, was given the job of converting the C# implementations of the business processes to Workflow Foundation workflow models, regression testing the models, and then regenerating the code from the models. Months of regression tests were necessary because of the complexity of the Microsoft e-commerce system. Each Microsoft product available for online purchase involves a custom online order process that the workflow model must support. This order process must work reliably and identically on all major Web browsers.

The creation and testing of models occurred along with the ongoing effort to add new features to Order Management. MSIT scheduled the conversion so that Gupta could make the regenerated code available to the rest of the development group in time for them to add new features and meet their delivery dates. During the conversion process, Gupta used the Microsoft Visual Studio® 2008 development system to create and organize commonly used custom Workflow Foundation activities into an "activity library," a .NET DLL that makes it possible for custom activities to be repackaged and reused across multiple Workflow Foundation workflows. Gupta was able to build parts of the workflow models from the activities stored in the library, which sped the conversion process.

In late February 2008, MSIT completed the conversion and testing of the new workflow models. During that process, the team had encountered only one difficulty—minor performance problems that arose immediately after the deployment of the Workflow Foundation−based solution. The team consulted Microsoft program managers and customers on Microsoft online forums and received advice on how to eliminate the memory leaks in the application.

Benefits

"With the help of Microsoft and other Windows Workflow Foundation customers, we were able to quickly resolve our initial performance problem. We have been very happy with the support we have received."

Shubham Gupta, a Development Lead at MSIT

By using workflow models with Windows Workflow Foundation, MSIT has been able to increase developer productivity and reduce the number of coding errors while maintaining the performance of the OLTP system. These benefits have reduced the time it takes MSIT to deliver solutions to its internal customers by 40 percent.

Increased Developer Productivity by 40 Percent

The Workflow Foundation activity library has reduced the amount of code that MSIT developers need to write to create new Order Management features. Instead of creating each new feature from scratch, the developers use the Workflow Foundation designer tool in Visual Studio 2008 to build workflows from the custom activities in the library. Because these custom activities were tested when they were added to the library, they do not need to be retested when the workflow is built. This makes regression testing of new Order Management features faster.

Before adopting Windows Workflow Foundation, MSIT testers could track Order Management workflows only by monitoring code execution in a debugger. This meant that black-box testing of Order Management―testing through the Web interface of the e-commerce system―had to be performed separately from white-box testing―testing Order Management by monitoring the workflow execution of the business process. Now, MSIT testers can test Order Management functionality through the Web interface using a browser, while monitoring the workflow using the Workflow Foundation tools. Regression testing is more accurate and the time needed to test new features is reduced.

Developers can also find a feature in the workflow model using Workflow Foundation graphical designer tool in Visual Studio 2008―a much faster method than searching many thousands of lines of code. New developers can quickly familiarize themselves with Order Management functionality by studying the workflow models before reviewing the C# code because the workflow models can be easily tied back to the functional specifications.

Reduced the Number of Functional Coding Errors by 90 Percent

"The benefits of model-driven development and the capabilities of Windows Workflow Foundation have made the job of developing and testing our code much more efficient."

Rajesh Sampath, Principal Development Manager for MSIT

The adoption of model-driven development and Windows Workflow Foundation has made the translation of functional specifications to working Order Management features much less error-prone. Previously, the process required weeks of coordination and information exchange between developers and analysts. Now the translation process takes days.

Analysts use Workflow Foundation graphical designer tools to create workflow models directly from the functional specifications. Developers use the tools to generate consistent code directly from these models. By standardizing the translation process on Workflow Foundation tools and Visual Studio 2008, rather than on informal communication, miscommunication between developers and analysts has been dramatically reduced, resulting in a 90 percent reduction in functional coding errors.

Maintained OLTP Application Performance

Converting C# code into custom activities gave MSIT the opportunity to eliminate redundant code from Order Management. This reduced the size of the application without degrading the performance in the e-commerce system. This is a significant benefit given that Windows Workflow Foundation introduces a separate workflow Host engine to execute workflows. When developing new features for Order Management, MSIT avoids adding redundant code by using Windows Workflow Foundation tools to create optimized and non-redundant code from new and modified workflow models.

With model-driven development and Workflow Foundation, the analysts, developers, and testers at MSIT have the means to work more closely and efficiently in developing new features for Order Management.

"Windows Workflow Foundation helped us realize our dream of model-driven development in our order management system. We were able to move our developers from a lot of functional development to technical development so that we could leave the functional pieces to the business analysts."

Rajesh Sampath, Principal Development Manager for MSIT

Products & Technologies

  • Microsoft Visual Studio
  • Microsoft Visual Studio 2008
  • Microsoft .NET Framework 3.0
  • Windows Workflow Foundation

Microsoft .NET Framework 3.0

.NET Framework 3.0 is Microsoft's managed-code programming model for developing software on the Windows platform. It builds on the .NET Framework 2.0, combining the power of the existing .NET Framework 2.0 application programming interfaces with new technologies for building applications that provide visually stunning user experiences, seamless interoperable communications, and the ability to model a range of business processes. The .NET Framework 3.0 includes Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation, and Windows CardSpace™ technologies. It provides a consistent and familiar development experience, bringing new technology to the millions of developers programming in managed code today.

For more information about the .NET Framework 3.0, please visit: www.microsoft.com/netframework

For More Information

For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada information Centre at (800) 563-9048. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:

http://www.microsoft.com

http://www.microsoft.com/technet/itshowcase

© 2009 Microsoft Corporation. All rights reserved.

Microsoft, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.