Thursday, October 29, 2015

Dynamics CRM and Government Contracting

My company InfoStrat has developed solutions for government contractors to get the most out of Microsoft Dynamics products, and is a member of the Microsoft GovCon Alliance.

Our most important solution is Dynamics CRM for Government Contractors.  It contains customizations to Dynamics CRM which allow you to track the entire government capture management process, including all the stages and decision points (called gates in the Shipley sales model) that government contractors go through from targeting an agency to eventually winning a contract award.  Dynamics CRM automates these steps using business process flows.

Because Dynamics CRM is easy to customize, it pays to make it conform to your business processes and to reflect the differentiation that your company brings to the market. Government contractors differ from one another based on their product and service offerings, and how they sell to government.  For instance, a military aircraft manufacturer looks at the procurement process in a different way than a company that sells training services or office supplies.

Winning government contracts is a difficult process, and it requires months or years and significant commitment from the leaders of a business.  It's not as simple as reading requests for proposals on the Federal Business Opportunities website.

If you choose Dynamics CRM for Government Contractors, you can adapt to changes in the government market and have better visibility into your business development efforts.

Tuesday, October 27, 2015

10 Best Practices for Online Customer Service

Online customer service is being adopted by a growing number of companies, government agencies, and non-profits.  It is easier and less expensive than ever to provide online knowledge bases, live chat, and social channels for customer service in addition to call centers.

infographic on US State of Customer Service

If you are just starting on the journey of online customer service, you may want to start with some fundamental best practices to chart your course.

  1. Start with executive commitment. Customer service requires significant resources and perseverance, and will become an ongoing task that will grow along with the demands of customers.  Success is unlikely without the explicit support of senior executives.  
  2. Put yourself in the customer's shoes.  Many products and services are becoming more complicated with each new version, and customers can be overwhelmed with the pace of change.  Try to consider how a new customer regards your products and find a way to fill the gap in knowledge. 
  3. Share helpful content.  Create a feedback mechanism so that answers to questions may be shared with other customer service representatives and with customers themselves.  For instance, some products offer a feature to nominate content to be published based on a help desk ticket. 
  4. Hide the complexity of your organization. Customers should not need to understand your organizational chart in order to get help.  Consolidate web pages, email addresses, and phone numbers used to reach customer service to create a goal of one-stop shopping.  
  5. Engage a community of outside experts. If it is appropriate for your product or service, online forums of outside experts can supplement your official channels and bolster the credibility of your offering.  Pay attention to these groups because they will attract complaints that can inform you of areas to improve. 
  6. Use the channels your customers use.  The majority of customers still prefer the immediacy of a telephone call, but a growing number like online chat, social media, self-service websites, and even email to communicate with your organization.  Find out where your customers live by exploring these options and tracking the traffic you receive. Try to stick to the channel where the issue is first raised rather than drive customers to other channels, as many may drop out rather than continue to search for an answer. 
  7. Treat your customer service reps like you would treat your customers. Customer service reps have a difficult job, and these jobs often have high turnover.  Treat the customer service reps well because their happiness and empowerment will be reflected in the attitude they show to customers.  Promote the most successful reps to other positions which take advantage of their product knowledge and people skills.  
  8. Set accurate expectations for response time. If you inform customers of the estimated response time for a communications channel, they can make an informed decision on which is best for them.  Post your telephone hours online, and let callers know of wait times for phone or online chat. 
  9. Empower people who help customers.  Since customer service reps are the first line of defense, arm them with knowledge and capabilities to provide customers with what they seek.  Avoid making escalation the rule rather than the exception if possible. 
  10. Use complaints as a way to improve your product.  Feedback is essential to continuous improvement, and negative feedback is more actionable than positive feedback.  Customer service is a vital way to gather feedback on products and services as well as competitive offerings. 
Customer service drives perceptions of any company or other organization, and the experience of a few people is magnified through their communication with others, especially in social media. Online customer service gives you the opportunity to expand your communications reach, make customers successful with your offerings, and ultimately increase repeat business and customer loyalty.

Monday, October 26, 2015

You May Not Need a GSA Schedule -- At Least Not Yet

When you decide to pursue government contracts, the first thing you may be asked is whether you have a GSA Schedule -- the most widely used contract for federal, state and local agencies to purchase goods and services.

A good place to start to learn more is the official GSA FAQ:

In general, government contractors need contract vehicles, and many will win a place on the GSA Schedule. Before you reach for your checkbook to hire a company to help you with your GSA Schedule, consider some cases in which you may want to wait:

  1. Yours is a new company.  GSA uses past performance and pricing to validate you as a government supplier. For example, GSA Schedule 70 for information technology calls for two years in business.
  2. You haven't nailed down your commercial pricing. GSA looks for a track record of pricing, and commercial prices are often the basis for government pricing.
  3. You aren't prepared to handle the administrative burden.  Government contracts don't manage themselves.
  4. You are in a hurry. If you have a hot prospect but no contract, you don't have time to win a GSA Schedule award. Ask your prospective customer what contract they would prefer to use, then contact contract holders. 
  5. When using another company's contract is better.   There are many companies, especially resellers and systems integrators, that are happy to bring you on as a subcontractor so you can use their contract to win business rather than your own.  In the short run, this is usually less costly than the effort to chase your own GSA schedule.
In short, don't let the lack of a GSA schedule hold you back from winning government work, or waste your time by pursuing one before you are ready. 

Wednesday, October 21, 2015

Overzealous Office Automation

In the quest for efficiency, it's easy to get caught up in a desire to automate all the processes of your business.  Sometimes, however, you can go too far and hurt your performance or productivity by excessive automation.

This is another way of saying that software design can fall into traps where it is needlessly complex, fails to deal with abnormalities that arise, or provides unhelpful feedback to users.

One of the warning signs of excessive automation is when users experience exceptions to the standard process and then stop using the system and fall back to manual processes.  In many cases, business rules are difficult to extract from users and may be so oversimplified or needlessly complex that when you automate a process it becomes too brittle to stand up to the real world.

The best way to validate how far to go with automating tasks is to get feedback from users.  Doing comparative tests with features can identify opportunities to simplify your system.

When a new software product is put into production, many development teams and managers heave a sigh of relief and then turn their attention elsewhere.  Instead, this is the time that work should begin on assessing the effectiveness of the solution and ways to improve the user experience.

Tuesday, October 20, 2015

Dynamics CRM Online and Office 365 Bundle

Microsoft has dropped the price of Dynamics CRM Online for its Office 365 subscribers.  This has previously been available only during limited time promotions.  Newly released pricing for U.S. customers is $48/user/month for Dynamics CRM Online Professional for Office 365 users.

Your pricing may be different depending on your volume licensing plan.

With each successive version of Dynamics CRM Online, Microsoft has added new modules for marketing, social, customer service and other functions, so the Dynamics CRM that you purchase today is more powerful than earlier versions.

Microsoft offers a sales audit to help you improve the performance of your sales team with Dynamics CRM.

For more complete coverage of Dynamics CRM implementation costs, see my post.

Wednesday, October 14, 2015

Microsoft Dynamics CRM 2016 Deployment: Estimating Costs

One of the questions I am asked most frequently by clients is to estimate the cost of a CRM project. This blog post offers an approach for estimating implementations of Dynamics CRM. If you are in a big hurry, go straight to the InfoStrat CRM cost calculator.

Choosing the Deployment Model
One of the advantages of Dynamics CRM is that you may deploy your solution on premise at your office, in the Microsoft cloud, or at a hosting facility. Your choice of deployment options will affect the licensing or subscription cost.

You can start here: The comprehensive source is here:

Dynamics CRM Online
Cloud-hosted Dynamics CRM is the easiest deployment model to deploy and to price.

You can choose from the following plans:

Essential. Provides access to custom applications built on the Microsoft Dynamics CRM platform without using the Dynamics CRM user interface.
Basic. Provides access to core entities: accounts, contacts, leads, and cases. The Basic plan also provides access to reports, dashboards, visualizations and custom applications. This may be appropriate for occasional users.
Professional. Provides access to the full range of Microsoft Dynamics CRM capabilities, including sales, marketing and customer service. Most users such as sales, marketing and customer support need the Professional plan.
Enterprise. Provides access to the full range of Microsoft Dynamics CRM capabilities, including sales, marketing and customer service. It also provides full access to Microsoft Social Engagement, 
Unified Service Desk, and Microsoft Dynamics Marketing. A smaller number of users typically would use Enterprise rather than Professional. 

You can mix subscription types within your organization. Subscriptions cover both hosting and the associated software licenses. This deployment model is rapid -- Microsoft manages the infrastructure and you don't need to install anything on your servers. It is flexible and quite scalable, so you can add (or subtract) users as your needs change. In the short run it is also the least expensive option because it doesn't require any hardware acquisition or server licenses. If you deploy with Dynamics CRM Online, you will automatically receive all software updates which will be installed by Microsoft.

You can purchase additional storage for Dynamics CRM Online, so you should estimate the storage you will need to get an accurate cost estimate.

Microsoft offers a U.S. government version of their cloud. Government agencies and government contractors are eligible for the government cloud.

Microsoft offers promotional pricing on Dynamics CRM from time to time and also cost savings on bundles with services such as Office 365. For instance, you can add Dynamics CRM Professional to Office 365 for $50/user/month.

Hosted Deployment
The second option is hosted deployment. Many companies will host your solution for you on their server facilities. Hosting may be shared (with other organizations) or dedicated (you have the server to yourself). Microsoft offers Service Provider (SPLA) licensing for its products which allows the license to be bundled into your monthly hosting bill. If you choose dedicated hosting, you may use your own licenses purchased in the same way as for on premise deployment.

On Premise Deployment
The third and most common option is on premise deployment --the most complicated licensing scenario. This means that you will install the software at your own facility on hardware that you provide. Microsoft offers software maintenance under a program called Software Assurance that includes updates to the products you purchase. Your organization must manage the servers and is responsible for backups and installing updates.

Dynamics CRM is licensed based on named users or device licenses, so the first step in calculating costs is to count your users. First, count internal users that are within your organization. The most common licensing approach is based on named users. For instance, if your department has 500 people and all of them will be using Dynamics CRM, you would buy 500 client access licenses (CALs). Microsoft also offers device CALs, so two or more people who are non-concurrently sharing a workstation could use just one CAL. This makes sense if you have shift workers or call centers that operate around the clock.

Next, count how many Dynamics CRM servers you will need. How many servers are needed to support the size of your solution? How many environments will you need, such as development, test, staging and production? Three or four environments are typical for enterprise solutions.

Your reseller is best source for software pricing, and can create a quote based on your volume license agreement. If your organization has an enterprise agreement for Microsoft products, it will offer the best prices.

For on premise deployment, you may also need licenses for related products such as Windows Server, SQL Server, and Microsoft Office.

After you nail down the hardware and software, the more challenging part is estimating the cost of professional services.

Approach One: Find a Similar Project
If a similar solution has already been implemented, this can be the shortest path to an estimate. For instance, my company InfoStrat implemented a Dynamics CRM solution called Stimulus360 for about 19 clients, so by the time the third or fourth client approached us, we had a pretty solid idea of the cost elements and the variables in order to estimate the project. The question to ask is whether your requirements will be different from other clients. Ideally, you could examine the features of the solution and map them to your requirements, highlighting gaps where new features would be needed.

Approach Two: Function Point Analysis A second approach, and perhaps the most classical approach for custom application development, is function point analysis. Detailed requirements are written down, and software developers group them by complexity and ascribe a level of effort for each function. The rub is that these requirements need to be quite detailed indeed. A requirement such as "can integrate with other systems" or "must be user friendly" had no place in function point analysis. At a minimum, you would need to define every data element to be tracked, every form definition, every report, every workflow, and every business rule. Most clients are not willing to provide functional requirements in such detail.

Approach Three: Define the Time and Team Another approach is to nail down the schedule and define the cost, with the only variable being the functionality to be delivered. For instance, if you have a firm ship date and a team of a project manager, and analyst, two developers and a tester, you can easily calculate the cost. Then the functionality will be determined during the course of the project through prioritization. One or more iterations may be created in order to seek feedback on the design and solidify the requirements.

Approach Four: A la Carte If you cannot specify the requirements and are not willing to define the schedule and budget, you can tackle an estimate by defining each of the cost areas, with greater or lesser confidence depending on the area and the assumptions.

Here are key areas we look at for estimating services costs. Note that hourly rates differ depending on the team members needed.
Requirements Analysis. How many people need to be interviewed? How much time will creating functional requirements take?
Design. What design documents need to be created? Do you need graphic design for a web site or will you using an existing style?
Implementation. The level of effort for building out the solution cannot be estimated before requirements have been compiled.
Testing. Who will test the system? What types of testing will be performed?
Project Management. Who will manage the project? How often will status meetings be held?
Training. What approach will be taken for training? Train-the-trainer? Classroom training? Training videos? How many sessions will be held? Will training be conducted in-person or online? Do system administrators need training?
Support. Who will handle post-implementation issues? Will there be a help desk? What hours of business will be included?
Within these broad approaches to estimating, there are many variables which affect the cost of a project. How much support do your users need to be successful? Is onsite support needed? How will the solution evolve after it goes into production? Will enhancements be needed? What will the release schedule for new versions be?

What about CRM customizations? The least expensive solutions usually are for the most common CRM scenarios, such as sales force automation, customer service, and marketing (or outreach). These scenarios match the out-of-the-box functionality of Dynamics CRM well to begin with. You are likely to require some additional data elements and reports, and nearly certain to need some workflows to match your business processes, but will not need too many new fields or entities.

Here are some of the key items to count and characterize:

Identify all the data elements you need to track, and map them to the Dynamics CRM data model. This exercise will show which attributes you need to add to existing entities and which new custom entities you will need to create.

Examine the user interface and determine whether you need customizations to the look and feel. If you want distinct forms for each user role, for instance, the cost of the implementation (and subsequent maintenance) will increase.

Enumerate and specify all the reports you will need. Try to categorize them by complexity to simplify estimation. We usually break them into simple (lists), moderate (some aggregation) and complex (multi-entity and more complicated calculations). Every Dynamics CRM implementation we have done requires some custom reports. Be sure to take a look at Advanced Find to see if it can satisfy any of your reporting requirements.

Determine which dashboards you will need. Dashboards combine business graphs with views into records. Dynamics CRM comes with standard dashboards for sales, marketing and customer service, but these may not make sense for xRM solutions.

Specify the workflows that will be created. Again, categorize them into groups based on the complexity of the workflows. If your workflow has a large number of exceptions you may want to reconsider whether it should be automated at all.

Armed with these lists and specifications, you can approach a Dynamics CRM expert and get a realistic idea of the cost. If you are familiar with Dynamics CRM yourself, you can use these metrics to create your own estimate. For instance, you may want to plan four hours for a simple report and twenty hours to create a complex report.

The cost of integration can only be determined with a thorough understanding of the systems to be integrated and the nature of the integration that is required.

Here are some of the details that can help derive a better estimate for integration:
Provide documentation for the systems to be integrated, including the data models and options for integration such as web services. 

Define functional requirements for the integration. Spell out how the scenario would work, where the data would be entered, how it is processed in each system, and where it ends up. 

Choose the direction of the integration (one-way or two-way). Which is the authoritative system in the event of a conflict? 

Spell out any tools that you would prefer for data integration. Do you own middleware or enterprise application integration software that would help.

Dynamics CRM provides a modern, web services interface to allow integration. You may want to assign the integration task to developers who are proficient in the other system with which you are integrating, especially if it uses a less open and modern architecture.

No software implementation is successful without adoption, and most enterprise solutions require training in order to be adopted. Training is often shortchanged in Dynamics CRM implementations.

You should include training in your project plan, and start work on training materials as soon as use cases are created for the solution. Analysis, development, testing, and training all should be tightly connected so you end up training to the requirements and usage scenarios you have identified.

Several options are available for training on CRM, including:

Custom hands-on classroom training in a lab environment, tailored to your specific implementation. This is the most intensive and expensive option, but is appropriate in many cases, especially for critical and complex solutions.

Standard CRM classroom training. Microsoft authorizes training centers around the world to deliver the standard approved training for its products.

Video training. The content may be similar to classroom training and even allow exercises and interaction. One advantage is that it can be done at any time, and the cost does not increase based on the number of users or times that the training is used.

Commercial training materials. Microsoft and third parties publish training materials such as books and videos which are a great way to learn Dynamics CRM.

Train-the-trainer. If you hire a professional services firm to develop your solution, you may want to have them train your training and support staff. Many organizations have professional trainers on a fulltime or part-time basis.

Hybrid training. A combination of these training approaches may be best for your organization.

Free training videos. Microsoft and its partners have published hundreds of free training videos on Dynamics CRM that are available on YouTube and These are great for getting a quick response to a specific "how do I" question.

In terms of cost, classroom training at a training center is several hundred dollars per person per day (often about $500). In person custom training is sometimes charged based on the number of students or at a flat rate of $2,000-3,000 per day including materials. Online training materials and training subscriptions are often less than $100 per person. Remember that the generic training materials are less expensive, but not tailored to your solution or implementation. In general, these materials are good for IT professional rather than end users.

A good place to start for online resources is

You need to understand your users in order to choose the correct training approach. Is traditional classroom training effective? How much time can users spend in training with their other job responsibilities? Will they be overloaded with information in a multi-day training session?

In addition to end user training, you will want to provide training for system administrators and other IT professionals. You may also want to train developers for maintenance tasks and enhancements to the system. You may need to customize some materials so they related to your particular implementation, but advanced admin training materials are readily available.

Don't wait until the end of your implementation to begin training. User acceptance testing is a great time for initial training of a subset of users. An incremental rollout or a pilot is also a great chance to refine your training approach before it is too late. Refresher training is also a good item to include in your budget. It can help renew enthusiasm for the system and improve user satisfaction.

Monday, October 12, 2015

End of the Computing Platform Debates?

I am relieved that some of the debates on computing platforms are finally coming to an end.  Few discussions are more boring than hearing people debate on Windows v. Macintosh, or Android v. iOS, or .Net v. Java.

It's not that competition among hardware and software vendors has come to an end, but in some cases the value of cooperation and interoperability seems to have won out.  This is certainly the case for the new Microsoft, which has embraced all platforms, from offering Office products for iPhone and iPad to providing top drawer cloud hosting for Linux.

Hardware manufacturers are spreading their bets across multiple software platforms as well.  The market for tablets becomes more diverse each year, and the line between tablets, phones, notebooks and laptops has been blurred as phones grow, notebooks sport removable keyboards, and tablets take on the power of desktops.

Perhaps we are on the verge of a peace dividend for all technology consumers.