Showing posts with label BroadPoint. Show all posts
Showing posts with label BroadPoint. Show all posts

Your CRM does what?

By Todd Fleming
Senior Consultant, Microsoft Business Solutions

BroadPoint Technologies

I think most of us know what a standard CRM application does out of the box. You have the typical functionality across all of the major CRM vendors to include: Sales Force Automation- Leads, Accounts, Contacts and Opportunity Management, Marketing Automation – Campaigns and Marketing Lists, and Service Automation – Contracts, Cases and a Knowledgebase. While this includes a lot of useful features it rarely ever satisfies all of the needs of a company. This shouldn't be viewed as a negative as long as your CRM solution is also flexible enough to handle your company's specific business needs.

One of the solutions we have incorporated in Microsoft Dynamics CRM for customers in the past includes:

Project Budgeting and Analysis In this case, the client was using their financial application to track time and materials against projects. The goals were to: (1) give Account Execs more visibility into project details and current budget to actual amounts thereby reducing the burden on the finance team for having to produce weekly status reports, (2) provide a central repository for all project documents and customer interactions and (3) provide an estimate tool within CRM that would assist with creating budgets and client facing quotes. What we created in Dynamics CRM was a solution whereby:

Account Execs could create a new project with the necessary project description and details needed for budgeting

The project record would be the central location for storing files and recording interactions with customers regarding a project

Several departments would be tasked with creating budgetary estimates for the project

A quote would be generated based on the details and budgetary estimates and sent to the client

As time and expenses are approved against the project in the financial application it systematically integrates this data to the corresponding project in Dynamics CRM

Budgeted time and expenses can be compared to actual time and expenses to monitor a project's status within Dynamics CRM


In my next blog postings I will discuss additional features we have added in Dynamics CRM such as Contract Administration, Event Planning, Speaker Bureau Management, Credit Card Verification, Integrated Freight Calculation and Partner Portal for managing Leads and Opportunities by external Partners.

Who's your Source on That? Creating Source Control for CRM Customizations


Part 1 of 2: Suggestions for CRM Customization Versioning in Team Development

By Michael Dodd of BroadPoint Technologies and originally posted on BroadPoint Tech Topics Blog.

One of my newest CRM books is called "CRM as a Rapid Development Platform" by David Yack. The book is probably the first CRM 4.0 book that only covers CRM Development. The book's focus is on using MS CRM 4.0 as a platform for Line of Business applications. In doing so, Mr. Yack touches upon some of the pain points experienced with CRM 4.0 Team Development. The top 2 pain points will be the focus of this 2-part blog post:



  1. No Versioning/Source Control in the CRM Entity Customization UI (10 out of a possible 10)

  2. No Intellisense for Client Side (JScript) Coding (9.5 out of a possible 10).

No Versioning/Source Control

This is most evident in developing client side (JScript) code for a given entity, whereby developers can over-write someone's code with their own revisions and publish these changes without ever knowing they were stepping on the other developer's toes. As you may or may not know, this will all change with CRM 5.0, where they have finally departed with the quick-to-deploy, yet “versionless”, customization UI and added a new "Solution Deployment" UI, which will not only include files for Source Control, but native versioning and roll-back features.

I have created my "Top 5 Ways We Can Improve CRM Team Development" below.

1. Do all CRM Customizations & Development on a Shared Environment - This is possible the most obvious yet most ignored step to improving team development. If the client does not have a development environment, we should create a shared virtual environment that everyone can access (and have local access to via diff disks). This would contain all the necessary development tools (CRM, VS, SQL, SRS, Scribe) as well as an instance of Visual SourceSafe.


2. Treat CRM Customization Files as Source Code - First, all CRM Customization should be done against a Blank Solution in Visual Studio. Next, create separate folders for each Entity being customized. Finally, you must keep each Customization.xml file and all supporting JScript (as .js files) for each CRM Entity being customized (and checked into SourceSafe) in the appropriate entity folder. This will allow for some semblance versioning for each CRM Entities, Workflows, Sitemap and ISV configurations. It will also provide (albeit somewhat flawed) roll-back capability.


3. Standardize Naming Conventions for Customization files


4. Have a Scheduled Deployment of CRM Customizations - Whether it is nightly of weekly, developers must be in sync with the team's changes. one of the biggest reasons we step on each other code is because of a lack of organized deployment of code to the "Master" (or Testing/QA) environment. This will also keep "quick changes" from messing up your code


5. Use Descriptive Comments in your JScript Code

For more information contact BroadPoint Technologies