Delivering an Extensible CRM Solution Using Agile Development

Situation
Microsoft SMSG needed a solution for
lead management in the area of SMB
cloud product and services sales, and
they needed it to be available as quickly
as possible.
Solution
MSIT used agile development
methodology to develop a Microsoft
Dynamics CRM application with minimal
customization that routes SMB leads to
various US and global call centers, and
from there to a central sales CRM
application. The solution was available in
the US within six weeks, and globally
within six more weeks.
Benefits
 Rapid delivery of SMB-focused CRM
for cloud product customers
Delivering an Extensible CRM Solution
Using Agile Development
Published: January 2013
The following content may no longer reflect Microsoft’s current position or infrastructure. This
content should be viewed as reference documentation only, to inform IT business decisions
within your own company or organization.
Microsoft Information Technology (MSIT) worked with the Microsoft
Sales, Marketing and Services Group (SMSG) to rapidly develop and
deliver Small and Medium Business for Dynamics CRM (SMB-CRM), a
new management application for sales leads. SMB-CRM was available
to all U.S. sales users within six weeks. The application, which is used
internally at Microsoft, collects and manages incoming leads from
SMB accounts, and routes the leads to telesales call centers. The
leads pertain to Microsoft cloud offerings‒products and services that
use applications and services that are accessed over the internet.
 Automated workflows, communication
templates, role-based user experience
and field level security
 Successful proof of concept for rapid
development of CRM solutions
Products & Technologies
 Microsoft Dynamics CRM 2011
 Microsoft SQL Server 2008 R2
This document describes SMB-CRM, a new management application for sales leads. MSIT
quickly developed and implemented this application using Microsoft Dynamics® CRM and
agile development practices, a software development method based on iterative and
incremental releases using a cross-functional team. The document includes the following
areas:

An overview of the lead management workflow at Microsoft.

A description of the business challenges that led to developing SMB-CRM.

A description of the solution design and development approach.

A description of agile development techniques that were applied for this project.

A summary of the project's results and lessons learned.
The target audience for this technical case study is IT professionals, including IT decision
makers with an interest in applying agile development techniques to CRM solutions.
Introduction
Like most large companies, Microsoft uses a customer life cycle management model when
marketing its software to customers. There are many components and variations to this
model, but the model generally follows the flow from generating demand to closing a sale for
each customer. Each potential sale is considered a lead, and after a lead has been through
triage (closer consideration) by sales personnel, and assisted triage (follow-up with the
customer by a tele sales call center), the lead can become an opportunity—a likely sale.
Figure 1. Example of a partial customer life cycle management model used by SMSG
The early stage of lead triage is called lead qualification, where various checks are performed
to determine whether the lead is viable and should be pursued.
As part of its sales process, SMSG uses multiple methods for managing leads. Larger
business customers often have a Microsoft sales representative who maintains their
relationship and manages leads personally, based on the customer's expressed needs.
Smaller businesses, however, whose business with Microsoft is managed by the SMB
division within SMSG, lack this relationship with a dedicated sales representative. Therefore,
to manage those leads, SMB relies on other methods. Specifically, when an SMB customer
indicates their interest in a product, the lead is routed to a tele sales call center as part of
SMSG's customized CRM implementation, SMB-CRM. If the customer has an Enterprise
Agreement (EA) in place with Microsoft, the customer is identified as a managed account and
routed automatically to the SMSG direct sales tool, Global Sales Experience (GSX).
Figure 2. SMB lead workflow
Delivering an Extensible CRM Solution Using Agile Development
Page 2
The way SMB uses CRM software to route leads differs by sales territory. In the United
States, which has only one call center, the CRM solution manages leads all the way to the
point where they are closed as sales. Outside the United States, SMB uses five call centers,
and the CRM solution delivers the lead to GSX as soon as it becomes an opportunity.
SMB Business Challenges with Cloud Offerings
In addition to CRM requirements by sales territory and the need to replace personal sales
representation with a callback process, SMSG faces unique challenges when marketing and
selling cloud products and services to SMB customers. Historically, the go-to-market
strategies for SMB had focused on selling on-premise software, and had not been optimized
for cloud offerings. This led to the risk of Microsoft lagging behind its market competition for
cloud technologies, both in business innovation and time-to-market for cloud offerings. The
historic sales model also lacked key capabilities that SMSG needed in order to succeed:
integration with digital marketing solutions, and diverse sales models for direct, syndicated,
and prepaid distribution. Further, the IT infrastructure for an SMB go-to-market strategy for
cloud offerings did not adequately support SMSG's billing, provisioning, business analytics,
and business intelligence (BI) requirements.
Starting in Microsoft fiscal calendar 2012 (FY12), business groups at Microsoft became
accountable for using digital marketing tools to increase marketing and demand generation
for their products (see Figure 1). Within SMSG, the SMB segment then took responsibility for
converting leads into sales by connecting SMB customers to tele sales call centers, Microsoft
partners, and ongoing customer life cycle management practices.
In the case of cloud product marketing, because of the rapid rate of change in the current
cloud-based technology market, SMB's rate of success would rely heavily on having an
efficient and more precise way of managing incoming leads from the business groups, and it
needed a technology to help them with this as quickly as possible. SMB approached MSIT
with a request to develop a technology strategy that met the following goals:

Deliver marketing and sales workflow to enable critical stages of customer life cycle
management for SMB cloud product marketing: demand generation, triage, assisted
triage, ongoing CRM, and BI.

Centralize and standardize assisted triage and CRM processes for SMB cloud offering
leads.

Support the successful launch of important upcoming SMB marketing campaigns
(Microsoft Dynamics CRM Online, Windows InTune™, and Microsoft® Office 365).

Improve and optimize the go-to-market strategy for SMB cloud product marketing
overall.
The new solution needed to offer SMB and its customers a high quality engagement
experience where customers were connected in a timely way to the right resources that
directly supported their purchase decisions. This experience, if implemented quickly and
properly, would drive better rates of conversion from leads to sales for SMB cloud products,
improve SMSG retention of its customers, and promote future sales to those customers over
time.
Solution
SMB-CRM is a customized implementation of Microsoft Dynamics CRM that also provides an
integration framework to support related systems in the lead management workflow, including
Delivering an Extensible CRM Solution Using Agile Development
Page 3
databases for Enterprise Planning (EP), which is the marketing campaign system of record;
Global Marketing Operations (GMO); and Honoring Customer Permissions (HCP), which
contains contact preferences. In SMB-CRM, leads are retrieved three times per day from the
MSIT Worldwide Lead Management (WWLM) data store, processed by SMB-CRM's
Microsoft Dynamics CRM instance where the leads are routed to call centers according to
business logic and sales territory–specific workflow (see Figure 3).
Figure 3. SMB-CRM high-level data flow architecture
Working from the diverse requirements for US and global sales territories, MSIT delivered
SMB-CRM in two initial phases:


Phase 1 (weeks 1 through 6): Provided support for US sales business users

WWLM integration

Lead qualification criteria and process implementation

Lead routing to a single tele sales call center

Opportunity management (tracking the customer to time of sale) within SMB-CRM
Phase 2 (weeks 7 through 12): Provided support for global sales business users

Lead routing to multiple tele sales call centers

Opportunity management via GSX integration

Multi-language support (twenty languages localized)
Both of the first two phases were delivered in the first twelve weeks of the project. Additional
phases were delivered in similar six-week phases. To meet these short time frames,
SMB-CRM was implemented using the tenets of agile development. Details about this
process are described in the Implementation section of this document.
Delivering an Extensible CRM Solution Using Agile Development
Page 4
Partial Customization
Microsoft Dynamics CRM offers built-in functionality for managing CRM entities and
workflow. It also offers usability and administrative features to facilitate management of these
entities and easy reporting of data. The SMB-CRM development team used a hybrid
approach to designing the custom solution required by SMB, using mostly built-in
functionality that could be configured for SMB's needs, and then performing custom
development in the remaining areas of the solution.
The following built-in Microsoft Dynamics CRM features were used for meeting SMB-CRM's
requirements:

Queues - The solution uses this feature to route leads from the call center to each call
center's queue where tele sales representatives monitor their call center queue for new
leads to work on.

Teams - This feature is used to assign newly loaded leads to call centers. A call center
team initially assigns leads; tele sales representatives are added to the call center team
so they can view the leads and assign the leads to themselves.

Role-based entity forms - This feature is used to support a different user experience for
tele sales representatives who work in the various call centers.

Workflows - This feature is used to automate several system level processes.

Email templates - This feature is used to store localized email communication for
partners and end customers.

System Entities - The solution uses modified versions of Lead, Account, Contact,
Opportunity and several other system entities to support the SMB sales motion.

Security Roles - This feature is used to provide the tele sales representative visibility and
capability requirements within the system.

Reports - The solution generates custom system-level reports using the Dynamics CRM
Reporting feature.

Dashboards - This feature is used to create a landing page for tele sales representatives
and tele sales managers. The dashboards include an aggregated view of the system for
tele sales representatives and managers to evaluate their performance and workload.

Charts - This feature is used to illustrate performance, workload and conversion rates.
Charts are mainly used on the dashboards.

System Views - This feature is used to create several custom system-level views to help
eliminate the need for additional clicks when looking for and grouping data.

Field Level Security - This feature is used to enable and disable particular fields on forms
based on a user's security role and team membership.

Data Import - This feature is used to bulk-load taxonomy data before the integration
framework was developed.
The following custom components were developed:

Custom entities - For the solution, MSIT created custom entities to support dynamic
business rules, such as the Country to Call Center routing matrix.

Custom Microsoft SQL Server® Reporting Services (SSRS) reports - MSIT created SQL
Server 2008 SSRS reports to support reporting requirements that were not capable
within the Microsoft Dynamics CRM built-in reporting feature.
Delivering an Extensible CRM Solution Using Agile Development
Page 5

Custom SQL Server Integration Services (SSIS) packages - MSIT created SQL Server
2008 SSIS Packages to support the integration framework.

HTML, JavaScript web resources - MSIT created HTML components to reduce clicks for
complex business processes.

Ribbon buttons - MSIT created role-based custom ribbon buttons to initiate custom
HTML components.

Plug-ins - MSIT created plug-ins to support the solution's integration framework.

SQL objects (scripts, jobs, and stored procedures) - MSIT created SQL Server 2008
objects to support an integration staging database.

Windows Services - MSIT created several Windows® operating system services to
support the integration framework.
Implementation
SMB-CRM was implemented using Scrum. Scrum is an agile software development
methodology that focuses on iterative development in short cycles, with an intense focus on
daily issue resolution and the coordination of focused development resources. Using Scrum,
members of a cross-functional team participated in 2-week sprints (compressed development
cycles) to accomplish the carefully selected sprint backlog (work list) of requirements that
they knew they could implement in that amount of time. Brief, informal daily engineering
meetings provided visibility to project managers and product owners into the progress of the
previous 24 hours, the plan for the next 24 hours, and any blocking issues the engineering
team was facing. To address blocking issues, project managers and product owners
engaged appropriate resources so that engineering could proceed on schedule.
Managing a Scrum project required the regular use of tools and project controls that are
specialized for agile development. For the SMB-CRM project, these included the following:

Business requirements prioritization and ranking lists

Detailed sprint planning based on user stories

Brief daily meetings where all team members reported their progress, blocking issues,
and work plans for the day

Microsoft Visual Studio tools for tracking progress on each requirement and task

Release plan, operations and support model, and training readiness

Program-level and project-level communication plans, budget tracking, and status
reports

User acceptance testing (UAT) triage and go/no go tollgate (decision point)
Using Scrum with the SMB-CRM project enabled MSIT to achieve a high degree of efficiency
via the work-sharing principles and knowledge-sharing principles that are inherent in agile
development philosophy. For example, between sprints, the MSIT developers rotated their
area of focus: if for one sprint Developer A worked on Lead Routing while Developer B
worked on GSX integration, then during the next sprint they would switch feature areas with
each other. In this way, all developers on the team stayed current with the solution design as
a whole, and if any developer left the project, another developer could readily pick up the
work. This same rotation practice was also applied during the testing cycles of the SMB-CRM
project. In a similar way, the duty of running the brief daily meetings rotated among all project
Delivering an Extensible CRM Solution Using Agile Development
Page 6
managers and leads, making it easy for a Scrum leader to leave the project if needed and
another leader to take his or her place.
By the end of twelve weeks, the core requirements of the project were satisfied, and SMB
was using the new tool both in US and worldwide (see Table 1). Following the release of
Phase 2, development continued in six-week increments, as new requirements were
gathered, prioritized, developed and implemented using the same Scrum process.
Table 1. SMB-CRM Vital Statistics for Phases 1 and 2
Start Date
Functionality Delivered
Adopter(s)
Impacted Users
Phase 1
Phase 2
5-July
22-August
Lead Assignment
Lead Assignment
Lead Qualification
Lead Qualification
Partner Attach
Partner Attach
Opportunity Conversion
Opportunity Management
US call center
4 additional call centers
Primary (10 total):
Tele sales agents and managers
Primary (45 total):
Tele sales agents and
coordinators
Secondary:
Partners
Business Decision Makers
CRM Support - Cloud Offerings
Training Date
Secondary:
Partners
SMB Leads and managers
Partner Account Managers
CRM support - Cloud Offerings
End users:
12-August
Trainers:
2 September
End users:
8 September
Go-Live Date
15-August
3-October
Benefits
SMB-CRM is expected to help Microsoft achieve its goal of having cloud products and
services account for 50 percent ($3 billion US) of SMB sales growth over the next three
years. In addition, SMB-CRM provides a reusable model for agile development of additional
CRM solutions elsewhere for Microsoft and its partners. Microsoft Dynamics CRM played a
key role in achieving these benefits, including its extensible architecture, configurable user
experiences, and ease of integration with external systems.
SMB-CRM provided the following benefits to SMB:

Rapid delivery of SMB-focused CRM for cloud product customers

Transition from a quarterly release model to the iterative delivery of seven feature
releases in one year

Customized CRM dashboard for viewing leads, contacts, accounts, and opportunities

Automated workflows, product-specific communication templates, customized sales
cycle role-based permissions
Delivering an Extensible CRM Solution Using Agile Development
Page 7

Diverse user experiences per sales territory requirements (supports different data
workflows for US and global offices)
Meanwhile, MSIT also derived the following benefits:

Improved organizational effectiveness via agile development techniques

Rapid time-to-field of a CRM solution via semi-customized implementation

Successful blueprint for future rapid response MSIT projects

CRM adoption growth and confidence across the company
Lessons Learned
Because SMB-CRM was one of the first applications of Scrum methodology to an enterprise
CRM project, its participants were careful to document their experience with the project for
future learning and for offering advice to others. Table 2 describes lessons learned by the
SMB-CRM team.
Table 2. SMB-CRM Lessons Learned
Challenge
Path Taken
Advice to Others
Short timeframe with fluid
requirements
Used agile (Scrum)
methodology
Identify a Scrum master for
your project
Co-located resources in a
single location
Reserve a Scrum room for the
duration of your project
Schedule a regular “scrum of
scrums” meeting with
integrated programs
Requirements and business
priorities changed during
development sprints
Implemented a release
plan to communicate key
business deliverables
milestone and sign-off
milestone
Presented user experience
reviews/prototypes at the end
of each sprint for validation
Designate one product owner
for each release, to reduce
confusion
Require that business process
flows are created and
approved prior to writing user
stories
IT Life cycle (ITLC) templates
do not fit with agile
methodology
Utilized the software
development life cycle RACI
workbook, but identified
several required deliverables
that do not align with agile
methodology.
Work with the ITLC team on
modifying the templates for
agile methodology.
Setting arbitrary delivery dates
vs. identifying key scope items
to be delivered and setting the
appropriate timeline
Delayed the worldwide release
to complete necessary feature
implementation and testing
Gain agreement on a
constraint model at the
beginning of the project
Created a release plan that
mixed schedule-driven
incremental releases with
scope-driven large releases
Clearly articulate criteria for
each type of release
Coordinating Scrum schedule
with external teams
Scheduled regular "scrum of
scrums" meetings
Set expectations with all teams
involved ahead of sprint
execution
Delivering an Extensible CRM Solution Using Agile Development
Page 8
Challenge
Path Taken
Advice to Others
Short ramp-up time and
adjustment time for new
resources
Assigned a mentor to each
new resource on the team
Take charge of the interview
and screening process for new
team candidates
Made rapid adjustments when
the mentor assignments were
not a good fit
Ensure all new resources
follow the working agreement
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 Order Centre at
(800) 933-4750. Outside the 50 United States and Canada, please contact your local
Microsoft subsidiary. To access information via the World Wide Web, go to:
http://www.microsoft.com
http://www.microsoft.com/technet/itshowcase
© 2012 Microsoft Corporation. All rights reserved.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR
IMPLIED, IN THIS SUMMARY. Microsoft, Dynamics CRM, SQL Server, Windows, and Windows Server are
either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective
owners.
Delivering an Extensible CRM Solution Using Agile Development
Page 9