Export (0) Print
Expand All

Facilitating Effective Employee Reviews at Microsoft

Technical White Paper

Published: November 21, 2006


Download Technical White Paper, 923 KB, Microsoft Word file

PowerPoint Webcast




Products & Technologies

Employees at Microsoft rely on performance reviews to establish the financial compensation and advancement for themselves and the people they manage. Making the review process efficient, easy to use, and consistent helps ensure that employee performance is measured accurately.

Transform the previous manual process to an automated process. Include intuitive user interface design and nonstop access to the solution so that employees can take advantage of the solution at any time with greater ease.

  • Improve security to protect the highly confidential information that the solution manages.
  • Reduce the effort to administer and support the solution.
  • Provide up-to-date reviews of employee performance.
  • Reduce the effort to complete or review employee performance.
  • Enforce adherence to the business process and policies.
  • Increase the consistency in the commitment setting process.
  • Improve employee satisfaction with the review process.
  • Ensure employee access to the solution through higher availability.
  • Reduce the effort to troubleshoot problems through improved application logging.
  • Microsoft Windows Server 2003
  • Microsoft Office SharePoint Server 2007
  • Microsoft Office InfoPath 2007
  • Microsoft SQL Server 2005, including Reporting Services
  • Microsoft Windows Server 2003
  • Microsoft ASP.NET 2.0
  • Microsoft Windows Clustering
  • Network Load Balancing

Executive Summary

Historically at Microsoft, employees documented their performance commitments in a Microsoft Office Word template. The process required people to send the Office Word template to each other in e-mail and then upload final versions of the Office Word documents to a security-enhanced Web site. Although this process used electronic documents (was paperless) and electronic signatures, the process relied heavily on messaging (e-mail and messaging-based applications) for sending the reviews between employees, managers, and the HR department.

Not only was the commitment setting process time consuming and complicated, but the reviews were fairly subjective in nature. This was largely because there was no systematized method for developing and conducting them.

The people involved in the process focused on their primary job assignments and devoted little time throughout the year in collecting performance-related data. As a result, when it was time to complete the performance review forms, both the managers and the people they managed started with a blank form in which to compile a year's worth of accomplishments.

The review documents were normally stored on employees' local hard disks. Much of the communication between managers and the employees in the process (in the form of e-mail) was stored in e-mail folders. There were several potential points of failure that could prevent the process from being completed, such as lack of responsible data retention actions on one or both persons involved, or file corruption or data loss due to human error. Because of the distributive nature of the process, protecting the confidentiality of the reviews also presented a problem.

To address these issues, Microsoft Information Technology (Microsoft IT), the HR department, and the product development groups collaborated to create a new automated solution in an application known as Online Commitments. The solution was developed through Microsoft Office InfoPath 2007, Microsoft Office SharePoint® Server 2007, Microsoft SQL Server™ 2005, and SQL Server 2005 Reporting Services.

The Online Commitments solution gives managers and employees the tools and processes to efficiently and accurately develop annual employee goals and complete employee reviews. In addition, the centralized architecture of the solution allows for higher availability, stronger security, and more consistency in the review process.

This white paper covers:

  • Background on employee evaluations at Microsoft.

  • The previous process for commitment setting and performing employee evaluations, including the problems that it presented.

  • The architectural design of the Online Commitments solution.

  • The products and technologies used in creating the solution.

  • The deployment process for the solution.

  • The business values achieved in creating the solution.

  • The lessons that Microsoft learned in developing and deploying the solution.

  • The best practices that Microsoft used in developing and deploying the solution.

This document shares the experiences of Microsoft teams in developing and deploying the Online Commitments solution. Because of the significant amount of knowledge that these teams gained, the experience provides relevant guidance to organizations that want to increase the effectiveness of automating business processes and help ensure alignment with business objectives.

This document is intended for enterprise business decision makers, technical decision makers, IT architects, and managers of line-of-business applications. Although this document provides recommendations based on Microsoft IT experiences, it is not intended to serve as a procedural guide. Each enterprise environment has unique circumstances. Therefore, each organization should adapt this information to meet its specific requirements.

This document assumes that the reader has basic familiarity with Microsoft Windows Server® 2003, SQL Server 2005, SQL Server 2005 Reporting Services, and the 2007 Microsoft Office system (particularly Office SharePoint Server 2007 and Office InfoPath 2007).

Note: For security reasons, the sample names of internal resources and organizations used in this paper do not represent real names used within Microsoft and are for illustration purposes only..


At Microsoft, the use of the term commitments refers to the negotiated goals for each employee in the context of employee reviews. The process of setting commitments is the primary means of determining the work that individuals do and what Microsoft accomplishes as a company. It is a powerful organizational alignment tool, as well as the mechanism for facilitating effective individual employee reviews. Commitments are what drive work done at Microsoft.

Formal employee reviews are completed during the annual performance review process in June-August. Additional "check ins" are done in conjunction with the midyear career discussion during the January-March timeframe and ad hoc throughout the year. Each of these reviews/check-ins is created, discussed, updated, and reviewed by the manager, reviewed by the employee, and finally stored for long-term records. Each manager completes this process for each employee he or she manages. On the average, a manager at Microsoft conducts 10 employee reviews per year. This means that managers conduct over 182,000 reviews and check-ins each year, company wide.

The commitment setting and assessment process is an equal partnership between employee and manager. Employees write a large portion of his or her commitments and review document. Employees first self-assesses performance and then the manager writes his/her assessment. The manager assessment in this document heavily influences the employee's rewards for that review period. The same document is used when an employee applies for another position within Microsoft. So the review affects not only the present evaluation of the employee, but also the employee's future. Well-written commitments help employees make smarter daily decisions about what tasks to address. Commitments can help drive career plans, increase job-related skills, and ultimately increase job satisfaction.

The sensitivity of the information in the employee reviews makes security paramount. The comments and information in the employee review process must remain confidential and must be available only to the parties involved in the process.

Because of the time demands on Microsoft employee schedules and the volume of commitment reviews performed, Microsoft created the Online Commitments solution. The solution, deployed in June 2006, represents a way to automate a manual process by using Microsoft technologies. This solution is as an example of how to automate manual processes within an organization.

With this new, 100 percent electronic solution, employees are able to create and manage their commitments and align them to their managers' commitments. Employees and managers are also able to make updates throughout the year. The solution provides all of these features while still addressing all security and legal issues.

Although Microsoft is an example of an enterprise environment, an organization of any size can use the technologies, products, best practices, and lessons learned that this paper describes.

Previous Process for Performing Employee Evaluations

The previous process for employee evaluations at Microsoft used Office Word documents and the E-val tool. The E-val tool was a Web-based, custom, internally developed tool that enabled employees and managers to upload the final version of the employee evaluation Office Word document.

This process worked as follows:

  1. The employee and his or her manager sent versions of an Office Word document to each other in e-mail.

  2. The employee and the manager agreed on a final version.

  3. The manager uploaded the final version of the Office Word document.

  4. The employee officially approved the final version by typing his or her name in the E-val tool.

The primary issues with the process based on Office Word and the E-val tool included:

  • Unclear process workflow.

  • Inadequate user interface to assist users in completing tasks.

  • Inability of employees to update their commitments outside the annual, midyear, and transition reviews.

  • Inability to show alignment between employee and manager commitments.

Unclear Process Workflow

One of the most complex problems in previous employee evaluations was the inability of the users to follow the process workflow. For example, the process included a printed booklet that contained skill competencies for Microsoft employees to use as a reference. Users had to pick categorized skills that they had (or thought they had) from the booklet. Most users were never certain if they were picking skills from the correct area of the booklet.

Not being certain about the process workflow:

  • Prevented users from completing the process. When users were uncertain about the process (especially something as critical as performance reviews), they tended to wait until they were certain of the correct steps. This caused them to delay completing the process and increased the number of hours required to complete the process.

  • Caused errors in the information entered in the process. A user might guess about the right categorical choice for a section of the form, write something about it, and potentially enter inaccurate or incorrect information.

  • Caused the introduction of noncompliant business processes. A manager or employee might add or remove steps in the performance review process because the software did not enforce the steps. The users might therefore introduce steps in the process that HR never intended.

Inadequate User Interface

Another issue with the previous employee review process was poorly designed user interfaces. Many of the previous versions of software used to automate the processes were confusing and counterintuitive. The largest problem with the process was too much ambiguity in the steps necessary to complete the process. Because of the ambiguity, most users never invested the time in providing the best representation of their intentions for the next review year.

Inability to Update Commitments at Any Time

In the previous process, employees managed their commitments in an Office Word document. The Office Word document was revised only between January and March of each year as part of the midyear career discussion, and then again between June and August of each year as apart of the annual performance review discussion (or during transition from one position to another). Employees could not update their commitments at any other times because the document was stored in the E-val tool, and the process required a manager to upload the document.

Inability to Align Employee Commitments with Manager Commitments

With the previous process, employees might have created the initial version of the Office Word document without totally understanding the manager commitments and organizational commitments. As a result, many iterations of the document were required between the manager and the employee to ensure that the employee commitments aligned with the manager commitments and organizational commitments.

Online Commitments Solution

Microsoft used Office InfoPath 2007, Office SharePoint Server 2007, Microsoft ASP.NET, and SQL Server 2005 to develop the Online Commitments solution to address the problems of the previous employee review process.

The user reaction to the new Online Comments solution is as follows:

  • The online tool clearly sets the steps and points the user to the specific resources to use at specific process steps.

  • There is less ambiguity about whether the user is using the right information to fill out a form.

  • There is a sense that everyone else is doing it the same way now and that peers are more in line with each other.

Table 1lists the issues with the previous process and how the Online Commitments solution addresses those issues.

Table 1. How Online Commitments Solution Addresses Issues in Previous Process

Issue The Online Commitments solution addresses this issue by

Unclear process workflow

Highly automating the workflow process, business logic, and validation logic. The automation helps ensure that users clearly understand the process and helps prevent them from taking incorrect steps in the process.

Confusing user interface

Streamlining the interface and providing direction on the appropriate selections. The user interface in the Online Commitments solution is driven by the workflow, business logic, and validation logic that are automated in the Web services running on Office SharePoint Server.

Inability of users to update commitments at any time

Enabling employees and managers to access commitments from anywhere at any time (even offline). Users can therefore ensure that commitments are up to date with organizational and manager commitments. In addition, employees can update their progress on achieving commitments when projects are completed or when milestones are met.

Inability to align employee commitments with manager commitments

Enabling upper-level management and direct managers to complete organizational and manager commitments before the employees create their commitments. This helps the employees to align their commitments with the organizational and manager commitments.

Inability to provide objective employee compensation

Enabling managers and employees to objectively track how employees are meeting (or exceeding) their commitments. Because an employee's progress on meeting commitments is updated as needed, the information is more objective and based on current information (not on what the employee or manager remembers since the last review). Because the data is stored in a relational database, it can be integrated into tools being built in the next fiscal year. These tools help administer merit, bonus, and stock rewards.

In addition, the Online Commitments solution:

  • Provides improved collaboration on employee commitments and the review of those commitments without requiring face-to-face meetings. Sometimes, employees and managers can differ on how well commitments are achieved. The solution helps employees and managers negotiate any minor issues so that the process can be completed smoothly. Many of the issues are resolved by e-mail in addition to the collaboration through the Online Commitments solution.

  • Reduces the amount of time required to complete employee reviews. Because the Online Commitments process is more guided and automated than the previous process, employees and managers spend less time creating and modifying commitments. Employees also have a better understanding about what their managers are looking for and how to provide them with the correct information.

Figure 1 illustrates the high-level process that the Online Commitments solution automates during the year.


Figure 1. High-level process for employee commitments

The Online Commitments solution combines the latest technologies, products, and development environment to address Microsoft business requirements.

Components of the Solution

The solution that automates commitment management integrates the following products and technologies:

  • SQL Server 2005. Provides the data repository for the commitment information and application configuration settings.

  • Office InfoPath 2007. Provides the ability to manage commitments information (online and offline).

  • Office SharePoint Server 2007. Provides a dashboard to users for performing tasks in the commitment process. All access to the Online Commitments database (OLCDB) is provided centrally through the business objects, the data objects, and the Web services.

  • Internet Information Services (IIS) version 6.0. Provides support for the Web services that provide the business logic layer and access to the OLCDB.

  • Microsoft ASP.NET version 2.0. Provides the development environment for the custom components added to the dashboard.

  • Microsoft Windows Server 2003 R2. Provides the operating system platform for the other components in the solution.

  • Microsoft Windows® Clustering. Provides automated failover for the servers running SQL Server 2005 to help improve fault tolerance and disaster recovery in the solution.

  • Network Load Balancing. Provides the ability to improve the performance of the solution by scaling out the solution to a farm of servers. Microsoft IT used Network Load Balancing to scale the servers running Office SharePoint Sever 2007, IIS 6.0, and the Web services. In addition, Network Load Balancing improves availability by providing fault tolerance within the server farm.

Figure 2 illustrates the relationship between the products and technologies in the Online Commitments solution.


Figure 2. Relationship between components in Online Commitments solution

As illustrated in Figure 2, the OLCDB (stored on the HR server running SQL Server 2005) is the central data repository for the solution. The Web services manage all access to the database. The Office InfoPath 2007 and Office SharePoint Server 2007 user interfaces access the OLCDB through the Web services. The Web services centralize all the business logic and security access control for the solution.

Figure 3 illustrates the architecture of the Online Commitments solution.


Figure 3. Architecture of the Online Commitments solution

The role-based authorization Web service is responsible for authorizing access to the various business and data objects. The HR exception log service is responsible for creating event log entries that relate to the Online Commitments solution. The HR e-mail Web service is responsible for sending messages to the users at the appropriate times in the Online Commitments process.

Development and Deployment Teams

Microsoft IT collaborated with various teams within Microsoft to create the Online Commitments solution. These teams each played a vital role in designing, developing, and deploying the solution. The teams include:

  • HR. Sponsored the project and created the commitment process.

  • Microsoft IT Solutions Delivery. Managed the project from end to end and translated the HR vision into requirements and other deliverables in the envisioning phase.

  • Microsoft IT Center of Excellence. Created the user experience (UX) design, wrote the code, deployed the solution, and supports the solution in production.

  • Product groups. Provided expertise in InfoPath and SharePoint technologies, on Microsoft Office 2003 and the 2007 Microsoft Office system.

User Roles

The Online Commitments solution uses a role-based security model. Rights are assigned to these roles, and then users are assigned to the appropriate roles. One of the design goals of the Online Commitments solution is to use the same roles that are used in other HR applications.

Role-based security simplifies the administration of the Online Commitments solution (or any solution). Microsoft IT used existing roles to reduce the effort required to administer the solution because administrators already understood these roles.

Table 2 lists the roles, the approximate number of members in each role, a description of each role, and the responsibility for each role in regard to the Online Commitments solution.

Table 2. Roles in the Online Commitments Solution

Role Number of members Description and responsibilities



Manages his or her own commitments only. Responsibilities include:

  • Creates new commitments

  • Updates existing commitments

  • Submits commitments to manager for approval

  • Reviews organization-level commitments



Manages specific users in the employee role. Responsibilities include:

  • Provides feedback on employee commitments

  • Approves employee commitments

  • Enters organization-level commitments



Works with managers in organizations to establish and manage organization-level commitments. Responsibilities include:

  • Views organization-level commitments

  • Assigns Work on Behalf rights to users



Reviews and researches commitment data as necessary. Responsibilities include:

  • Views company-wide commitment data

Performance management


Manages the process of setting commitments. Responsibilities include:

  • Works with company leadership to communicate the commitment-setting process to the rest of the company

  • Manages company-wide commitments

  • Manages permissions process to Online Commitments tool (actual permissions may not happen directly in the tool)

  • Generates reports on commitment data

  • Manages text that appears in the Online Commitments user interface

  • Administers the Online Commitments solution, which includes researching data and troubleshooting any problems that relate to the solution

User Interaction

Users interact with the Online Commitments solution through Office InfoPath 2007 forms and the dashboard provided through Office SharePoint Server. Users use the dashboard to identify tasks to be completed. Managers use the dashboard to identify their tasks to be completed and to identify the progress of employees in completing the commitment process.

User Authentication

The Web services control all access to the OLCDB and common services. Users who access the solution through Office InfoPath access the Web services directly. Users who access the solution through the dashboard access the Web services through Office SharePoint Server. Figure 4 illustrates the user interaction with the Online Commitments solution.


Figure 4. User interaction with the Online Commitments solution

The authentication for the solution occurs between each computer in the process. For example, the server running the Web services authenticates users who access the solution through Office InfoPath. The protocol used to authenticate the user is the Integrated Windows authentication protocol.

Table 3 lists the authentication processes in the Online Commitments solution (numbered in accordance with Figure 4), the computers involved in the authentication, the credentials used in the authentication, and the permissions needed on the target computer.

Table 3. Authentication Processes in Online Commitments Solution

Process number Interaction between Credentials used and authentication type Permissions needed


Web browser and SharePoint server

Authenticate the user's credentials by using Integrated Windows authentication.

User credentials need read and execute access to the Web site that is hosting the SharePoint site and must have at least read access to the SharePoint site.


InfoPath and Web services server

Authenticate the user's credentials by using Integrated Windows authentication.

User credentials need read and execute access to the Web site that is hosting the Web services.


SharePoint sever and SharePoint database server

Authenticate the identity that the SharePoint site uses by using Integrated Windows authentication.

Identity credentials need read and write access to all SharePoint databases.


Web services server and OLCDB server

Authenticate the identity for the site that is hosting the Web services by using Integrated Windows authentication.

Identity credentials need read and write access to all OLCDB database objects.


Web services server and other servers running other services

Authenticate the identity for the site that is hosting the Web services by using Integrated Windows authentication.

Identity credentials need read and write access to all OLCDB database objects.


SharePoint server and Web services server

Authenticate the identity for the site that is hosting the Web services by using Integrated Windows authentication.

Identity credentials need read and write access to all OLCDB database objects.

User Interaction Through InfoPath 2007

Ultimately, the commitments can be related to other HR systems to extend the features of the Online Commitments solution.

Microsoft selected Office InfoPath to maintain commitments because InfoPath:

  • Form data can be modified while users are disconnected from the corporate network. Unlike in Web-based forms, when users are disconnected from the corporate network, they can enter still data in Office InfoPath forms. When users reconnect to the corporate network later, Office InfoPath synchronizes the data in the forms with the databases in the Online Commitments solution.

  • Forms can be easily designed. Office InfoPath 2007 includes tools to simplify the creation of forms.

  • Offers familiar data entry features. These features include rich text editing, bulleted and numbered lists, font formatting, and spell checking.

  • Integrates easily with SQL Server 2005. This capability enables minimal customization to integrate the Office InfoPath forms with the OLCDB data.

The benefit of being able to work offline by using Office InfoPath can also pose a potential security and data-integrity risk. This ability is a risk because users and managers can work offline on commitments and can e-mail copies of the commitments to other people. From a security perspective, this ability might allow unauthorized users to view the confidential data. From a data-integrity perspective, this ability might allow two versions of the data to exist at the same time and potentially overwrite commitment data by accident. To prevent these security and data-integrity scenarios from occurring, Microsoft IT disabled the ability to e-mail Office InfoPath forms.

User Interaction Through SharePoint

Office SharePoint Server is the dashboard for the solution. Custom-developed Web Parts can help:

  • Users identify actions in the commitment process that they need to complete. These notifications help ensure that employees complete the commitments in a timely manner.

  • Managers identify the progress of employees in completing the commitment process. The managers can see the percentage of employees who have completed their commitments, which helps ensure that employees complete their commitments in a timely manner.

  • Executives identify the progress of each organization in completing their commitments. The executives can see the percentage of employees in each organization who have completed their commitments, which helps ensure that organizations complete the commitments on schedule.

Figure 5 illustrates an example of one of the dashboards used in the Online Commitments solution. The dashboard contains custom Web Parts that provide status based on the data in the OLCDB database.


Figure 5. Dashboard provided by Web Parts in SharePoint

User Interaction Through E-Mail

In addition to the user notifications on the dashboard, the Online Commitments solution notifies users of actions to complete by e-mail. If users do not reply to the e-mail notifications within a period specified by the business rules, the solution sends a reminder e-mail notification. Table 4 lists the e-mail notifications sent to employees and managers during the process of collaborating on employee commitments.

Table 4. E-Mail Notifications Sent in the Online Commitments Process

Process step E-mail is sent to the Timeframe in which e-mail is sent

Send for review

Manager after the employee clicks Send for Review.


Send for review

Manager, reminding him or her to review employee commitments.

Seven days after the employee originally submits the commitments for review

Send for review

Employee, stating that his or her manager has not reviewed the submitted commitments. The employee can then make changes to the commitments and resubmit.

14 days after the employee originally submits the commitments for review

Send for review

Employee after the manager provides feedback on the commitments.


Request approval

Manager after the employee clicks Request Approval.


Request approval

Manager, reminding him or her to review and approve employee commitments.

Seven days after the employee originally submits the commitments for approval

Request approval

Employee after the manager approves commitments.


Request approval

Employee if the manager rejects the commitments.


Send for review

Employee, stating that his or her manager has not approved the submitted commitments. The employee can then make changes to the commitments and resubmit.

14 days after the employee originally submits the commitments for approval

Enforcement of Workflow, Business Logic, and Validation Logic

Enforcing the process workflow, enforcing business logic, and enforcing validation logic are among the most important business requirements of the Online Commitments solution. Microsoft IT implements these requirements at different levels in the architecture and across multiple technologies and products.

Table 5 lists the methods for enforcing these requirements and how Microsoft IT enforces these requirements.

Table 5. Workflow, Business Logic, and Validation Logic in the Solution [Table Title]

Method Is enforced in

Process workflow

  • Dashboard and custom Web Parts on the dashboard

  • Code in Office InfoPath forms

  • Online Commitments Web services

  • Stored procedures in SQL Server 2005

Business logic

  • Dashboard and custom Web Parts on the dashboard

  • Code in Office InfoPath forms

  • Online Commitments Web services

  • Stored procedures in SQL Server 2005

Validation logic

  • Dashboard and custom Web Parts on the dashboard

  • Code in Office InfoPath forms

  • Online Commitments Web services

  • Stored procedures, data types, relational integrity, domain integrity, and triggers in SQL Server 2005

One of the largest challenges that Microsoft IT faced in creating this solution was to identify the workflow (formerly manual steps) and the business rules necessary to automate the workflow. Although managers followed the general workflow that HR prescribed, they often customized the process to suit their own personal styles and management methods.

The dashboard (including the custom Web Parts) implements and enforces the process workflow. For each of the tasks to be completed, Microsoft IT created workflow documents. These workflow documents enabled developers to know the workflow logic and implement the workflow logic in the solution. In addition to the workflow though the dashboard, Microsoft IT documented the workflow for the entire commitment process.

In addition to the workflow documents, Microsoft IT created lists of tasks and the user roles that can complete the tasks. Figure 6 illustrates some of the tasks in the Online Commitments solution and the user roles that can complete the tasks.


Figure 6. Tasks to be performed and the user roles that perform the tasks

As shown in Figure 6, Microsoft IT can also delegate tasks to employees by assigning the Work on Behalf right. Microsoft IT used this information to determine the security based on the business rules. Developers were able to identify the tasks that each role can complete and integrate that functionality into the solution.

Figure 7 illustrates the same list of tasks, but identifies which tasks can be performed while users are connected to the corporate network and which tasks can be performed while users are disconnected from the corporate network. Microsoft IT identified these tasks to help developers implement the appropriate functionality while the users are connected or disconnected, based on the business requirements of the solution.


Figure 7. Tasks to be performed and whether the task can be performed online or offline

All of the documents created during the design phase helped Microsoft IT implement the workflow, business logic, and validation logic in the Online Commitments solution. These documents became part of the functional specification that developers used when creating the solution. These documents also helped determine that the solution met the requirements in the functional specification after development was complete.

Data Storage

One of biggest changes brought about in the solution from a technology perspective is the way commitments are stored. In the previous process, commitments were Office Word documents stored as a binary large object (BLOB) in a Microsoft SQL Server 2000 database. In the Online Commitments solution, the commitments are stored as fully relational data in a SQL Server 2005 database obtained from data captured in an XML file through Office InfoPath 2007.

Storing the commitments as relational data enables Microsoft to:

  • Report on individual commitment alignment throughout an organization. Users can view these reports through the dashboard and through SQL Server Reporting Services.

  • Allow future systems to relate the commitments to performance ratings and weightings. Any future development efforts can request commitment data from the OLCDB.

  • Enable offline editing of the content. The data stored in the SQL Server database is synchronized with any offline modifications through Office InfoPath. This process is automatic for the users and is performed the next time the employee connects to the network.

  • Allow granular editing of commitments. Users can modify individual commitments without affecting other commitments. The design of the SQL Server database schema gives users this level of flexibility.

  • Assign the same set of commitments to more than one employee. Managers can copy commitments for one employee to another employee. This ability helps reduce the time required for creating commitments. It also helps ensure consistency of individual commitments with organizational commitmentss and between members of the same team. The design of the SQL Server database helps facilitate this feature.

In addition to storing the commitments as relational data, SQL Server 2005 provides:

  • Validation of data by using relational integrity, rules, data types, triggers, and stored procedures.

  • Enforcement of workflow and business logic by using triggers and stored procedures.

Reports for Users

The management-level users (such as managers and executives) who use the Online Commitments solution require reports on the progress of employees in completing the commitments. Other users may want to create reports based on the data stored in the OLCDB.

To facilitate these reports, the Online Commitments solution includes:

  • Predefined reports through the dashboard.

  • Custom reports through SQL Server Reporting Services.

Predefined Reports Through the Dashboard

The dashboard services provided by custom Web Parts and Office SharePoint Server 2007 provide managers and executives with completion progress reports. These reports list the percentage of the total employees that have completed their commitments. Managers see the results of the individuals they manage. Executives see percentages of the organizations they manage.

Figure 8 illustrates one of the reports that managers can view on the progress of each of their employees.


Figure 8. Dashboard reporting of commitment progress

Custom Reports Through SQL Server Reporting Services

Microsoft IT uses SQL Server Reporting Services to create custom reports based on the data in the OLCDB. Reporting Services can generate reports based on information stored in SQL Server 2005. These reports can be presented in the following formats:

  • Dynamic HTML (DHTML)

  • Image (Remote Graphics Device Interface [RGDI], print)

  • Portable Document Format (PDF)

  • Microsoft Office Excel®

Developers can use SQL Server Reporting Services to create reports in a rapid development environment. SQL Server Reporting Services enables extending the features of reports through any of the Microsoft .NET development languages. These reports are run manually through a Web browser or can be automated.


Microsoft IT deployed the Online Commitments solution in parallel with the existing process (using Office Word documents and the E-val Web site).

All users who require offline management of the commitment data must install Office InfoPath on their computers. At Microsoft, InfoPath 2003 and InfoPath 2007 are installed on all employee, manager, and executive computers so that they can manage commitments.

Deployment Project Plan

After Microsoft IT developed the Online Commitments solution, the next challenge was to deploy the solution to more than 70,000 employees. To ensure all these users had a good first-time experience, Microsoft IT followed this process in its deployment project plan:

  1. Create a test environment that closely models the Microsoft production environment.

  2. Perform user acceptance testing in the test environment.

  3. Obtain final validation and approval based on user acceptance testing.

Microsoft IT obtained approval in late May 2006, and the Online Commitments solution went live on June 1, 2006 (which was the official start of the performance review period).

Migration of Existing Commitment Data

Microsoft IT did not migrate any data from the previous system. Instead, it extracted data from the current HR database and imported that data into the Online Commitments solution.

The data from the HR database is imported nightly into the solution. This process ensures that any changes to the employee data (such as adding a new employee or reorganizing a team) are updated in the solution.

Pilot Deployment Process

Due to the short deployment schedule, Microsoft IT did not conduct a pilot deployment. Instead, Microsoft IT conducted a user acceptance test. During the test, small groups of users validated that each requirement was met. Microsoft IT conducted the test in a nonproduction environment.

Production Deployment Process

Microsoft IT develops a set of deployment instructions (called drop notes) for each application that it deploys in its production environment. The instructions include tasks such as copying the application compiled code to the proper destination and then enabling the application. For the Online Commitments solution, this process took about two hours.

Microsoft IT conducted training prior to the deployment in the production environment to prepare all support personnel to support the new solution.

Transition to Operations

Microsoft IT supports the hardware, operating systems, database, and network software in the solution. Microsoft IT also monitors and supports the application in the event of any issues. The Helpdesk and the HR program administration provide end-user support and, when necessary, escalate issues to the appropriate Microsoft IT resources.

The transition to operations was minimal because proper training and preparation occurred prior to deployment of the solution in the production environment.

Business Benefits

Like any organization, Microsoft needs to realize a bottom-line benefit to the day-to-day business functions. Some of these benefits are objective, such as the financial savings in the effort required to complete employee commitments. Other benefits are subjective, such as employee satisfaction with the new solution.

Microsoft gained the following benefits when it implemented the Online Commitments solution:

  • Improved security

  • Reduced effort to administer and support the solution

  • Reduced effort to complete commitments

  • Stronger adherence to business processes and policies

  • Improved employee satisfaction with the review process

  • Improved availability for the performance review process

Improvements in Security

Due to the confidential nature of the performance review information, security is of utmost importance. In deploying the Online Commitments solution, Microsoft realized the following improvements in security:

  • Reduction in surface area of attack. In the previous process, users exchanged documents by using distributed storage (such as e-mail attachments stored in e-mail folders, on local hard disks, or on shared disk storage).The distributed nature of the storage made protecting the confidential information difficult. In the Online Commitments solution, the information is centrally stored in a SQL Server database. The security features of SQL Server 2005 help protect access to the information.

  • Improvement in alerting and logging. The previous process did not include extensive logging because of the distributed architecture of the system and the methods of sharing the reviews in the workflow. In the Online Commitments solution, the logging of the workflow process is a key feature. In addition, the application logging identifies, through alerts to Microsoft IT, when business rules are broken or attempted security breaches occur.

Reduction in Effort to Administer and Support

The Online Commitments solution reduces the effort required for administration and support in the following ways:

  • Common HR roles in all applications. The solution uses the some of the same HR roles used in other applications at Microsoft. This makes administration and support easier because Microsoft IT does not have to develop and align a new set of roles to assign security for each application.

  • Proactive alerting of potential issues. The new solution includes improved logging and alerting, which help Microsoft IT identify problems before end users are aware of any problems.

Reduction in Effort to Complete Commitments

The solution reduces the effort required for employees and managers to complete the Online Commitments process. Employees and managers can use the latest information to provide just-in-time reviews of employee performance. The following features reduce effort:

  • Improved solution reliability. The solution stores data centrally in SQL Server 2005 and provides centralized access to the data through Office SharePoint or ASP.NET. The infrastructure design includes high availability by using Windows Clustering technologies. These technologies help ensure that the users have the maximum amount of uptime for the solution and that users can access the solution at any time.

  • Offline modification of commitment data. Users can modify the commitment data when disconnected from the corporate network. Users can work on commitments from any location at any time, regardless of their connectivity, on their own schedule.

  • Redesigned user interface. Improvements in the user interface design provide a more intuitive process for all tasks in the Online Commitments process. This redesign reduces errors in completing the process and eliminates wasted effort.

Stronger Adherence to Business Processes and Policies

Closely tied to security is adherence to business processes and policies. The Online Commitments solution helps ensure adherence through higher automation of the processes and polices in the solution. The integration of the business processes and polices into the software and automation of the workflow processes help:

  • Reduce the number of manual steps in the process to help eliminate errors introduced by human intervention.

  • Improve the consistency in how the processes and policies are enforced.

  • Reduce the number of processes that violate business rules or policies.

Improvements in Employee Satisfaction

Employee satisfaction is one of the most important benefits that Microsoft realized through the Online Commitments solution. Creating a solution that provides high employee satisfaction helps ensure that employees will use the solution and that Microsoft gains the other benefits that the solution provides. The following features of the solution help improve employee satisfaction:

  • Near real-time feedback between employees and managers

  • Ease of access to view and update commitments through improved user interface and availability

  • Offline review and editing of commitments

  • Highly automated workflow to reduce the possibility of delays or improper processes

  • Automated notifications between employees and managers as they work through the commitment-setting workflow

  • Security-enhanced data storage

Improvements in Availability

The Online Commitments solution includes an architecture that lends itself to higher availability and end-user uptime than the previous process. The following features of the solution help improve overall availability:

  • Centralized architecture of all mission-critical products and technologies. The solution stores the commitments in a database managed by SQL Server 2005. The user interface and business logic components run on Office SharePoint Server 2007 and IIS 6.0. All of these products and technologies run on centralized server farms that are easier to monitor and manage. That helps eliminate problems before they occur, which increases availability.

  • Clustering technologies for mission-critical products and technologies. Both of the mission-critical products (SQL Server 2005 and Office SharePoint Server 2007) run in clusters to improve availability. SQL Sever 2005 runs in a cluster running the Clustering service with an active-active cluster node configuration. Office SharePoint Server 2007 runs in a cluster running Network Load Balancing. These configurations provide fault tolerance (which helps improve availability) and better scaling (which helps improve performance).

Lessons Learned

During the development and deployment of the Online Commitments solution, Microsoft gained insights into the automation of business processes and the development of the solution. The lessons that Microsoft learned include the following:

  • Use the appropriate data-conversion functions. The data types used in Office InfoPath may be different from some of the data types used in SQL Server 2005. For example, the XML serializer always assumes that the values being serialized represent local time and applies the locate time zone offset as the offset portion of the encoded XML time. This can change the date value that is stored. One solution to resolve this problem is to specify the DateTimeMode property of the column as DataSetDateTime.Unspecified.

  • Implementing some typical ASP.NET development practices can be difficult in Web Parts. During the development of Online Commitments, the developers selected repeater controls as part of the solution. Repeater controls require the ITemplate interface in a Web Part, which complicates the development effort. The developers therefore abandoned the repeater control approach and used standard HTML to iterate through the data. This approach made it easier to achieve the design commitmentss and then extend the control as changes to the design came later in the development process.

  • Adopt a different approach to developing applications that run in SharePoint. With typical ASP.NET applications, developers compile the code and then view the application in a Web browser. A different approach was necessary in developing an Office SharePoint-based application because of where SharePoint stores the application (in a SQL Server database, not in the file system). To help in this process, Microsoft did the following:

    • Write scripts to take the compiled application and place specific parts of the application on the test environment for the Office SharePoint site. This makes it easy to deploy incremental changes that are a normal part of the development process.

    • Write installation scripts that will install the entire application (pages, Web Parts, and other complied code) into the test environment for the Office SharePoint site.

  • Developing a SharePoint-based application makes it easy to implement integration features and improve the use of the application. The solution uses a My Directs Web part that integrates Microsoft Exchange free/busy and Microsoft Office Communicator. The integration of these two components added important features with minimal effort. Many other Microsoft Office system components and Microsoft Windows Server System™ product features can be accessed through Web Parts. However, basing the application on Office SharePoint makes this type of integration easier.

Best Practices

During the process of developing and deploying the Online Commitments solution, Microsoft IT gained practical, real-world experience with applications based on Office InfoPath 2007 and Office SharePoint Server 2007 technologies. Because of this experience, Microsoft IT recommends these best practices:

  • Create prototypes of a SharePoint application by using InfoPath 2007 and HTML Web page mock-ups. Microsoft IT used this approach to help complete details in the business requirements. This approach helped reduce development time for the Office InfoPath portion of the project.

  • Ensure that the InfoPath Document Object Model (DOM) closely follows the Web service schema. This simplifies the process for incorporating changes because any changes to the Office InfoPath DOM or Web service schema requires a similar change in the schema or DOM.

  • Use the same Extensible Stylesheet Language Transformation (XSLT) for transforming Web service query results for both the client and the server when the application uses Web-based and InfoPath-based front ends. This helps ensure consistency, reduces the development time, and reduces the effort for any ongoing maintenance.

  • Include all validation and business logic in the Web services. This ensures that the Web service controls the data integrity of the database. Use any validation logic in the front end (such as the Office InfoPath form) to inform the user of invalid data entry, not to enforce data integrity.

  • Create XML schemas used by Web services based on a typed DataSet class. This reduces the complexity of writing code that moves data between SQL Server databases and XML by using SqlDataAdapters. For more information about a typed DataSet class and SqlDataAdapters, search for these terms on Microsoft MSDN® at ttp://msdn2.microsoft.com/en-us/default.aspx.

  • Load the XML data (created by InfoPath) into the typed DataSet class by using a validating reader. This method provides useful error reporting if there are problems in the XML.

  • Store application data in SQL Server databases, rather than in XML. Storing the data in SQL Server databases helps ensure data integrity, enforce business rules, and provide support for other consumers of the data. Storing the data in XML does not provide these benefits.

  • Test Web services directly in addition to testing them through InfoPath forms. This enables back-end developers to test their Web services independently from the front-end developers, while enabling front-end developers to test their forms. Testing the Web service directly helps ensure that the Web service enforces the security, validation logic, and business logic.

  • Encode all user input strings by using HtmlEncode before storing them in the SQL Server database. The URL encoding (provided by the HtmlEncode method) ensures the proper formatting of any HTML reserved characters entered in the user input strings (such as ?, &, /, or spaces). Some browsers may truncate or corrupt these characters, so the characters must be encoded in <A> tags or in query strings where the strings can be re-sent by a browser in a request string. These user input strings are displayed at a future time.

  • Centralize authentication and authorization access to Web services for clients running InfoPath or applications running on SharePoint. This centralizes access to the Web services and provides security for the application.


Automating any manual process can be difficult and time-consuming because it requires comprehensive knowledge about the business rules, business processes, and application development process. The employee commitment management and review process is one of the most challenging processes to automate because:

  • Data confidentially requires the strongest possible security.

  • The process for collaborating on commitments is complex.

  • Users need to complete the process while connected or disconnected from the corporate network.

  • Users need to be able to work on the commitments at any time so that they can perform their normal job functions and complete their commitments.

Microsoft IT documented the process workflow, business requirements, and technical requirements. Then, it developed a 100 percent electronic process that reduces the need for users to schedule meetings, send e-mail reminders, make phone calls, and conduct other collaborative efforts. The Online Commitments solution not only notifies users when their intervention is required, but sends reminders if users do not respond in a timely manner.

Microsoft IT combined Office InfoPath 2007, Office SharePoint Server 2007, SQL Server 2005, Windows Server 2003, custom-developed Web services, and custom-developed Web Parts into the Online Commitments solution. Developing and deploying this solution:

  • Increased employee satisfaction.

  • Decreased the effort to complete employee reviews.

  • Tied employee compensation more closely to employee performance, reducing unnecessary overhead costs.

  • Decreased the effort to administer and support the solution.

  • Strengthened adherence to business practices and polices.

  • Increased the security of confidential data.

  • Improved overall uptime and access to the solution.

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 through the World Wide Web, go to:



Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft