Friday, September 12, 2014

Getting Your Developers on Board with Dynamics CRM

Many businesses and government agencies are adopting Microsoft Dynamics CRM to automate sales and customer service or even extending CRM for other business functions using the xRM approach. Even with all the features and benefits of Dynamics CRM, one group is not always thrilled about adopting it -- your software developers. 

Here are some thoughts and hints that may help adoption:

1. Stress the career advancement.  Learning a new product helps developers expand their skills and increase their value to employers -- so show your appreciation.

2. Tailor training to developers. Find a condensed training or self-study to learn how Dynamics CRM operates out of the box and then move on to development topics. 

3. Find a first project.  Don't start training until you have one or more projects to jump into. 

4. Identify mentors. Tap someone to lead the group and be a resource when people run into problems.

5. Collaborate as a team.  Work together to create development standards and style guides. 

6. Conduct group code reviews.  Show and tell or lunch and learn sessions can be a great way to bond the team and advance the knowledge of all your developers.

7. Burn the boats.  Stress that your organization will go forward with your CRM implementation regardless of complaints from the development team.  Don't allow platform debates to continue indefinitely.

Although it's always a challenge to learn new tools, Microsoft developers already know much of the coding techniques they will need to be successful Dynamics CRM developers.  Ulutimately, the xRM approach can make developers more productive and reduce boring .NET maintenance programming.

Tuesday, September 9, 2014

Dynamics CRM Developer Skills Self-Assessment Checklist

In order to deliver developer training on Microsoft Dynamics CRM, you need to understand where your developers are starting.  We use the list of relevant skills to have the developers assess themselves, writing years of experience in the second column.


Skill Area
Years
Exp
Searches and Views
 
Activities, Assignment and Audit
 
Using Charts & Dashboards
 
Sales: Lead, Opportunity, Quote, Invoice
 
Marketing: (Outreach) Lists, Campaigns
 
Service: Case, Schedule, Calendar, SvcActivity
 
Service: SLA, Entitlement, Rules,  Contract
 
CRM Wizard Reports
 
Security Model
 
Entities and Fields
 
 
 
 
Business Rules
 
Business Process Flows
 
Dialogs
 
Actions
 
 
Charts
 
Dashboards
 
Templates
 
SQL Server Reporting Services
 
CRM Installation (Version __)
 
Configuring Document Management
 
Customizing Site Map and Ribbons
 
JavaScript
 
Plug-in Development
 
.NET development with C#
 
.NET development with VB
 
Other developer tools:___________
 

Tuesday, September 2, 2014

Development Standards for Dynamics CRM

In xRM development, nearly every solution requires some custom development in order to extend Dynamics CRM for business scenarios outside CRM functions such as sales force automation and customer service.  As with any software development, strong naming standards will help your developers and testers save time and produce a better solution.

Here are some modest suggestions:
  • Be generous in comments inside your code.  The next developer who takes over will thank you.
  • Provide unified coding standards on the JavaScript libraries.
  • Use consistent file naming conventions.
  • Use only one .JS file per form for the form-specific logic.
  • Don't write JavaScript event handlers from the control property window rather than as part of the JavaScript file associated with the form.
  • Create standard common function libraries, to address common functionality across forms. 
  • Use JavaScript or business rules (in Dynamics CRM 2013) to show/hide/enable/disable controls rather than creating multiple similar forms.
  • Be consistent in designing the user interface, using the same control types with an eye toward the user experience.

Thursday, August 28, 2014

Forbes Article On Microsoft Kinect Apps

Michelle Greenwald of Forbes has recently written about Microsoft using Kinect technology to springboard into exciting new business areas:

http://www.forbes.com/sites/michellegreenwald/2014/08/18/how-microsoft-has-leveraged-xbox-kinects-technology-into-brilliant-new-business-areas/

She highlights ten new Kinect applications, ranging from airplane and automobile visualization to physical therapy and clothing retail.  Two of these were developed by InfoStrat for its clients -- both relating to education. 

The Kinect media wall at Liberty University engages visitors with interactions. 



Kaplan Early Learning Company builds interactive games using the latest technology including motion sensing and touch. 


Tuesday, August 26, 2014

Scenarios for Microsoft Azure

To put it simply, Azure is the Microsoft cloud.  Microsoft hosts an Internet-scale computing and services platform in data centers around the world.  Azure is flexible and hosts not only Microsoft servers and products, but the full range of modern computing capabilities. Several scenarios are appropriate for deployment in Azure:

1. Extend your data center -- if you run out of space, racks, computers or other infrastructure, you can start up Azure virtual servers for the same purposes you would deploy servers at your data center.  Azure servers can be set up in minutes rather than waiting days or weeks for physical hardware.  You could use these servers for development, test, staging or production servers.  You can run Windows Servers, Oracle, SAP, Hadoop and other servers.

2. SharePoint on Azure -- If you want more flexibility and power than you can get on shared hosting of SharePoint, you can host your SharePoint documents and data in Azure.  Migration is easy and you can interoperate with Office365.

3. ERP on Azure -- You can move your ERP systems such as Microsoft Dynamics, SAP and PeopleSoft to the cloud using Azure.

4. Hybrid identity management -- Azure can be part of your overall authentication scheme for your organization, allowing single sign-on and sophisticated security implementations.

5. BigData on Azure -- Using a cloud platform allows you to easily scale your big data projects as needed.  You can quickly build a Hadoop cluster and make it available to all the users who need it.

6. Extend your storage on Azure -- Cloud storage is inexpensive and provides excellent options for disaster recover and backup.

7. Custom websites -- Azure Web Sites can host small or large websites, and you can dial up more scalability whenever you need it.  Sitecore provides cloud-based campaign management.

8.  Mobile apps on Azure -- Mobile Services can power apps for any mobile platform, including iOS, Android, and Windows.  Azure can store data and host mobile apps.

From these scenarios, you can see that Azure supports many different cloud scenarios, from infrastructure as a service to application hosting.  InfoStrat helps its clients determine the best ways to use cloud computing to serve their strategic goals.  Microsoft offers a pricing tool to estimate Azure costs:  http://azure.microsoft.com/en-us/pricing/calculator/

Thursday, August 14, 2014

Age of Empires to Learn Business

The Age of Empires series of games is a fun way to learn about resource allocation and strategy.  It imparts some lessons that are quite useful in business.  Should you build capacity now for future demand or maximize profit in the short run?  Hire more sales people or train your staff to be more productive.  Gaming is a great way to see how your choices play out. 

Tuesday, July 29, 2014

Back to the Future -- Cloud Infrastructure Pricing

A growing trend in cloud computing is to set prices based on actual utilization of resources such as memory, storage, processing, and bandwidth.  This is a rational way to price cloud infrastructure, because these are the items that contribute to the cost of cloud hosting, especially as the scale of a solution increases. 

One of the benefits of moving to the cloud is to not have to worry whether you have enough computing resources, because it is so easy to add more resources in a cloud environment.

In some ways, this is a throwback to timesharing, the venerable practice of buying time on an expensive mainframe when it was inconceivable that everyone would own their own computer.

The downside of usage-based pricing is that the actual bill is hard to predict.  Without knowing the cost in advance, budgeting is challenging.  How can a customer plan for this expense?

Another risk is that utilization of resources may be beyond your control.  You could have a surge of real or fake users hitting your site or apps and then get a high monthly bill.  No doubt companies will step in with approaches to reduce the risk of pricing uncertainty, as has happened in other industries.  Buyers of cloud computing can also take comfort knowing that pricing is on a steady decline -- at least for now.