Facilitating Effective Employee Reviews at Microsoft
Technical White Paper
Published: November 21, 2006
|
Situation
|
Solution
|
Benefits
|
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..
Introduction
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:
-
The employee and his or her manager sent versions of an Office Word document to
each other in e-mail.
-
The employee and the manager agreed on a final version.
-
The manager uploaded the final version of the Office Word document.
-
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.
.jpg)
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.
.jpg)
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.
.jpg)
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
|
|
Employee
|
70,000
|
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
|
|
Manager
|
14,000
|
Manages specific users in the employee role. Responsibilities include:
-
Provides feedback on employee commitments
-
Approves employee commitments
-
Enters organization-level commitments
|
|
HR
|
600
|
Works with managers in organizations to establish and manage organization-level
commitments. Responsibilities include:
|
|
Legal
|
5
|
Reviews and researches commitment data as necessary. Responsibilities include:
|
|
Performance management
|
6
|
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.
.jpg)
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
|
|
1
|
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.
|
|
2
|
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.
|
|
3
|
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.
|
|
4
|
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.
|
|
5
|
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.
|
|
6
|
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.
.jpg)
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.
|
Immediately
|
|
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.
|
Immediately
|
|
Request approval
|
Manager after the employee clicks Request Approval.
|
Immediately
|
|
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.
|
Immediately
|
|
Request approval
|
Employee if the manager rejects the commitments.
|
Immediately
|
|
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.
.jpg)
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.
.jpg)
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
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.
.jpg)
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:
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.
Deployment
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:
-
Create a test environment that closely models the Microsoft production environment.
-
Perform user acceptance testing in the test environment.
-
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.
Conclusion
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:
http://www.microsoft.com
http://www.microsoft.com/technet/itshowcase