Approach for Planning Complex Workflows in Microsoft Dynamics CRM 2011 (Part 2 of 2)

November 12th, 2011

Microsoft Dynamics CRM is highly customizable and can be used to reproduce/automate business processes.   For someone familiar with the basic use and implementation of workflow processes in Dynamics CRM, creating short workflow processes can be attained by simply inserting a couple of steps and check conditions.  But when business processes become complex, it can become daunting and without planning, you can end up wasting a lot of time designing and re-designing the workflow.

My general approach to planning a CRM workflow process is:

Part 1

  • Identify the Business Requirements
  • Visually model the Business Requirements

Part 2

  • Translate the Business Requirements into CRM workflow processes
    • Initial CRM Planning
      • Create forms and fields
      • Identify triggers that start the CRM workflow process
    • Convert the Business Requirements into Dynamics CRM workflow processes that account for all possible cases
    • Identify duplicate processes
    • Identify CRM workflow process loops
    • Simplify CRM workflow processes

Based upon a real life scenario, in Part 1 of this post, I discussed identifying and modeling the business requirements.  Now in Part 2, I will discuss translating the business requirements model into full-fledged CRM workflows.


Scenario

One of the business units in a company is working on a new venture with a series of manufacturers and needs to ensure that the manufacturers are being compliant.  They have placed auditors in distribution centers, but need a system to track/report on passed audits and the communications regarding compliance progress (or lack thereof.)  They intend to classify the manufacturers by status (red, yellow and green) to help determine which manufacturers are in compliance, and which might be troublesome.

Translate the Business Requirements into CRM workflow processes

Initial CRM Planning

Now that the business processes have been outlined, we need to identify the fields for form design.

Scenario fields:

  • Audit Start Date
  • 1st Passed Audit Date
  • 2nd Passed Audit Date
  • 3rd Passed Audit Date

To begin planning the translation from business processes to CRM workflow processes, identify the trigger that starts the CRM workflow – for this scenario, the trigger is when the Audit Start Date is changed.

Convert the Business Requirements into Dynamics CRM workflow processes that account for all possible cases

CRM workflows must be more explicit than typical business process because they must not only account for what should happen, but also for what should not happen.  They need to include early exits and account for all possible cases.  At first glance it seems that all the workflows, when looked at independently, seem simple to implement.  The Passed Audit Process and Status Update Process are simple enough, because there are few decision points (or Check Processes) and there are no looping processes.  The Audit Progress Process is more complex because it requires that a task be auto-created every five days until the next audit is passed, and it has multiple decision points.  Also, to ensure the most efficient path is used, you must plan for different cases that may occur.  For instance, what happens when a manufacturer completes all three audits before the first task is supposed to be auto-created? The workflow must account for all possible cases, at all times.  (In reality, this may not be realistic.  But designing your workflows with the 80/20 rule in mind and having a firm understanding of their function will help greatly in troubleshooting later.)

All of a sudden, this simple business process…

CRM Workflow

…quickly morphs into this complex CRM workflow process.

NOTE:  The below describes the annotations used in the model:

  • P1 = 1st Passed Audit
  • P2 = 2nd Passed Audit
  • P3 = 3rd Passed Audit

CRM Workflow

This model depicts every possible case that could happen at any possible point in the business process, but don’t fret!  You will not have to re-create the entire model, if you plan appropriately.  In fact, if you take a closer look, you can clearly see that there is quite a bit of duplication in the model.  We can use this to our advantage.

Identify duplicate processes

Next we need to identify duplicate processes.  When taking a closer at the model, you will notice that there are two major chunks of this process that are repeated in other parts of the process.  For instance:

  • The check to see if the 2nd Audit has passed is duplicated in two places – I named this “P2 Check”

CRM Workflow 7

  • And the check to see if the 3rd Audit has passed is duplicated in five places – I named this “P3 Check”

CRM Workflow

Identify CRM workflow process loops

Next, identify any CRM workflow process loops.  This scenario requires the CSR to make a call to the manufacturer until they pass another audit.  A loop in a Dynamics CRM workflow is easily created by having a Child Process call itself at the end.   For convenience’s sake, I will call these the “Reminder” workflows.  However, these loops are not exactly the same, because the exit check conditions vary slightly (there is a check condition for each of the passed audits: P1, P2 and P3).  Later, these can be simplified so that they only need to be created once and the other CRM workflows processes can simply call them.  It should also be noted that the “Reminder” CRM workflow process are located within the “Check” process, so each “Reminder” CRM workflow process will actually be called (or started by) the “Check” CRM workflow process.

CRM Workflow 9

Simplify CRM workflow processes

Now that we understand the “Check” CRM workflow processes, the model can be made much simpler. Here is a more simplified CRM workflow process for the Auditing Progress Process

CRM Workflow

If you skipped the planning phase, and went straight to designing in Dynamics CRM, you likely would have ended up kicking yourself about three hours into the design, realizing you need to account for all the other cases.  Not only does failing to plan cause sleepless nights and headaches, it also results in a needless duplication of effort.  This model gives us exactly what needs to happen, when it needs to happen.

Some people may feel that they don’t need to plan or they just don’t have the time to do so.  Planning a Dynamics CRM workflow process before design versus just jumping into design is much like driving without a map versus having navigation on your GPS.  If you don’t have time to get lost and have an adventure, then you don’t have time NOT to plan!

Chris C. has been with ECI since 2010. Being a fully certified Microsoft Applications Consultant in Dynamics AX and Dynamics CRM, you will find him at the intersection of Business & Computing bridging the gaps between People, Technology and Business Processes.


SyteLine 7/8 Developer

October 25th, 2011

We are currently looking to add one or more developers to our team to help support several long-term Syteline 7 and Syteline 8 programming projects.

This will be a full-time position, based in our Vancouver office with some travel required.

Applicants must have at least three years of Syteline 7 programming experience and/or some Syteline 8 programming experience. Note – although desirable, experience with BOTH versions is not a requirement, we have projects for each. Any experience with other ERP packages or knowledge of SQL 8 Programming, Crystal Reports 8/9/XI and VB.Net would also be highly beneficial. Excellent communication skills required.

This opportunity is set to begin immediately. If you are interested, please submit a detailed summary of your Syteline 7 and/or 8 programming experience, your availability and salary requirements to jobs@eclipsepc.com.

We look forward to hearing from you!

Job posted by Jennifer G.

Jennifer G. has been with ECI since 2006. She handles administration, accounting and marketing activities for ECI and subsidiary companies.


Approach for Planning Complex Workflows in Microsoft Dynamics CRM 2011 (Part 1 of 2)

October 24th, 2011

Microsoft Dynamics CRM is highly customizable and can be used to reproduce and automate business processes.   For someone familiar with the basic use and implementation of workflow processes in Dynamics CRM, creating short workflow processes can be attained by simply inserting a couple of steps and check conditions.  But when business processes become complex, it can become daunting and without planning, you can end up wasting a lot of time designing and re-designing the workflow. 

This blog post does not introduce any new, radical IT concepts.  In fact, its major takeaway reinforces the common IT mantra of PLAN, PLAN, PLAN!  But how do you plan a Dynamics CRM workflow process – especially when they seem so easy in your head?

The purpose of this post is to provide a system for planning and understanding what you are trying to accomplish, minimizing rework by not creating needless workflows, and identifying pieces of the workflow that can be reused.  This post will provide my personal approach to planning a Dynamics CRM workflow process and apply to a real-life scenario.

My general approach to planning a CRM workflow process is:

Part 1

  • Identify the Business Requirements
  • Visually model the Business Requirements

Part 2

  • Translate the Business Requirements into CRM workflow processes
    • Initial CRM Planning
      • Create forms and fields
      • Identify triggers that start the CRM workflow process
    • Convert the Business Requirements into Dynamics CRM workflow processes that account for all possible cases
    • Identify duplicate processes
    • Identify CRM workflow process loops
    • Simplify CRM workflow processes

This post will be based upon a real world scenario and will be broken up into a two-part series.  In the first part, I will discuss identifying and modeling the business requirements.  In the second part, I will discuss translating the business requirements model into full-fledged CRM workflows.

Scenario

One of the business units in a company is working on a new venture with a series of manufacturers and needs to ensure that the manufacturers are being compliant.  They have placed auditors in distribution centers, but need a system to track/report on passed audits and the communications regarding compliance progress (or lack thereof.)  They intend to classify the manufacturers by status (red, yellow and green) to help determine which manufacturers are in compliance, and which might be troublesome.

Identify the Business Requirements

Identifying the business requirements is, in itself, no small task.  It requires the business unit to have a clear, definitive handle on their business process because, as most IT people realize (and business people sometimes don’t), IT systems do not do well with “fuzzy logic”.  This exercise can be accomplished with a good-old-fashioned “whiteboard session” or with a drawing application such as Microsoft Visio.  This may be an iterative process that requires multiple whiteboard sessions.  Having these sessions is good because it will help identify any fuzzy logic areas and force the business unit to make clear decisions on how the business process will flow.

Scenario Business Requirements:

  • When a manufacturer passes three audits, they are considered compliant and will no longer be audited
  • When a manufacturer passes an audit, the Customer Service Representative (CSR) should send an email notifying the manufacturer of a passed audit – after three passed audits, the CSR should notify the manufacturer that they are compliant
  • After auditing begins, if a manufacturer has not passed an audit within 30 days, a CSR should call the manufacturer every five days regarding their compliance status, until they pass an audit – after a manufacturer begins passing audits, if they do not pass another audit within 30 days, the CSR should call the manufacturer every five days regarding their status, until they pass an audit
  • If a manufacturer is not compliant within 30 days after auditing begins, their status should change from green to yellow – if a manufacturer is not compliant within 60 after auditing begins, the status should change to red

While Dynamics CRM can easily track interactions out of the box, everything else will have to be attained by creating a CRM workflow process.

Model the Business Requirements

After identifying the business requirements, model out the processes with workflows in mind, to ensure that you have correctly accounted for the logic.  The scenario can be broken down into three core processes: Passed Audit Notification Process, Status Update Process and the Auditing Progress Process. 

 

Passed Audit Notification Process

     Passed Audit Notification Process 

 

Status Update Process

Status Update Process  

 

Auditing Progress Process

Auditing Progress Process 

When we put all three pieces together, the process looks something like this:

Manufacturer Audit Tracking Process

 Manufacturer Audit Tracking Process



We now have a logical description of our business process.  As discussed earlier, in my next post I will delve into translating these business requirements into full-fledged CRM workflows.

Chris C. has been with ECI since 2010. Being a fully certified Microsoft Applications Consultant in Dynamics AX and Dynamics CRM, you will find him at the intersection of Business & Computing bridging the gaps between People, Technology and Business Processes.


New White Paper: Microsoft Dynamics CRM Online: Security Features

October 3rd, 2011

This document provides an overview of the inherent risks to three key areas of the CRM Online service as well as a description of how Microsoft’s commitment to Trustworthy Computing is reflected in the design and operation of Microsoft Dynamics CRM Online.

Download Here

Jennifer G. has been with ECI since 2006. She handles administration, accounting and marketing activities for ECI and subsidiary companies.


Job Opening: Network Administrator/ IT Consultant

October 3rd, 2011

ECI currently has an opening for an IT Administrator to be based in our Vancouver, WA office.  This is a full-time, permanent position which will support our internal infrastructure and staff and well as customer projects.

Summary
Manages and performs an array of IT related duties including, day-to-day maintenance, help desk support internally and customer facing, general network administration, and other duties as assigned. Also lead and assist in projects to support ECI internal infrastructure and ECI customer base, under the direction of the General Manager by performing the following duties.

Essential Duties and Responsibilities include the following. Other duties may be assigned.

  • Work with team members to support any company-related technology needs, under the direction of the GM.
  • Prepare time and cost budgets for technology projects
  • Manage projects and resources to support company goals. 
  • Document various infrastructure information
  • Create or assist others in the writing of user documentation, instructions, and procedures
  • Create or assist others in the creation or purchase of hardware or software applications, or enhancements to same
  • Test and perform quality assurance audits on ECI infrastructure to ensure maximum “up time”.
  • Study for and obtain certifications as directed by the GM.
  • Answer questions, train and support employees or other resources of ECI or the ECI customer base.
  • Perform ad-hoc duties as directed by GM.
  • Support various websites / domains
  • Create and support a centralized support mechanism for consultants (Microsoft Exchange, Sharepoint, etc…)
  • Support the SLA offering, under the direction of the GM
  • Hold responsibility for the creation and execution of an ECI Infrastructure plan
  • Obtain and Catalog vendor software, and track assignments thereof
  • Manage customer connections
  • Maintain corporate backup solution for local and remote systems
  • Organize the physical technology areas of offices

 

Qualifications
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

  • Strong technical skills in a variety of environments and around a variety of technology
  • Industry certifications
  • Exposure to a leading CRM application
  • Exposure to a leading ERP application
  • Strong technical background
  • Some business acumen is required
  • Excellent customer service skills 

 

Education and/or Experience
Bachelor’s degree (B. A.) from four-year college or university in Computer Science, Information Technology or related preferred; or one to two years related experience and/or training; or equivalent combination of education and experience.

Preferred Industry certifications include:  MCSE (or equivalent), MCSA, MCP, CCNA, Project+, A+

Preferred experience:  Microsoft Hyper-V, VMware, EMC SAN, Server 2008, MS SQL, Sharepoint, Exchange, MS CRM, Certificate Services, Forefront, System Center Suite, MS Office, MS Project, Visio, VOIP exp. is a + 

 

Work Environment
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

Work environment will be a combination of ECI offices, employee’s home office and onsite at customer facilities. Must be able to lift 60lbs.

 

Apply for this Opportunity!
If you meet the above criteria, please do feel free to send a confidential inquiry (including cover letter, resume, compensation history and availability) to us at jobs@eclipsepc.com.

Job opportunity posted by Jennifer G.

Jennifer G. has been with ECI since 2006. She handles administration, accounting and marketing activities for ECI and subsidiary companies.


ECI Partners with Dell

September 19th, 2011
Dell Partner Logo

In order to better serve our customers, ECI has partnered with Dell.  As a Registered Dell Partner, ECI gains access to additional products and solutions, including servers, storage, virtualization, and more…

Dell’s PartnerDirect program is designed to provide companies like ECI with the opportunity to utilize Dell’s enterprise expertise while also helping Dell to evolve its culture.

ECI anticipates that current and future customers will see an immediate and direct benefit from our Dell partnership in terms of convenience, availability and price.

Jennifer G. has been with ECI since 2006. She handles administration, accounting and marketing activities for ECI and subsidiary companies.


Job Opening: Programmer

September 16th, 2011

Programmer (Full Time – Intermediate or Advanced Level)

ECI is growing again, and to support this, we are looking for a qualified individual to join our team of expert business solutions consultants, developers, and project managers.

Our current need is for an experienced programmer to be based in our Vancouver, WA office. This position will support our existing consulting staff and customers, as well as overall business operations by performing project related tasks, and assisting with the development of new products and services.

Summary
Manages and performs an array of projects to support ECI internal infrastructure and ECI customer base by performing the following Essential Duties and Responsibilities as follows (other duties may be assigned.):

  • Work with ECI customers to create customer needs evaluations and specifications
  • Prepare time and effort estimates for completing projects
  • Manage projects and resources to support customer goals
  • Perform, assist with, and coordinate work with others to develop, test, install, provide training for, and modify standard system and custom programs
  • Track and document changes to functional and business specifications
  • Track and document changes to computer programs
  • Create or assist others in the writing of user documentation, instructions, and procedures
  • Create and assist others in the creation of software applications, or enhancements to software applications
  • Assist with architecting new software as directed
  • Update existing software packages as directed
  • Monitor and document post-implementation problems and revision requests, and support the correct resolution
  • Test and perform quality assurance audits on programming projects before they are delivered to ECI clients
  • Study for and obtain certifications as directed
  • Travel to customer locations, as needed:  Up to 30%
  • Answer questions, train and support employees or other resources of ECI customer base
  • Perform ad-hoc duties as directed by GM, or designees

Qualifications
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

  • Excellent technical skills and reasoning
  • US Citizenship or US Greencard required (ITAR Requirements)
  • Superior communication skills in written and verbal form
  • Excellent programming skills in multiple platforms and technologies, with the most relevant being MS-SQL, VB.Net, and Crystal Reports 9
  • Exposure to Customer Relationship Management (CRM) a plus
  • Enterprise Resource Planning (ERP) development essential
  • Excellent customer service skills
  • “Tenacious” should have your picture next to it, in Webster’s

Technical Skills Relevant to Success
NOTE: Not all skills listed below are required; qualified candidates will have experience with a large portion of the technologies listed below.

  • Concepts:
    • Relational database design and development
    • eCommerce solutions
    • Web and desktop application development using proprietary and Open Source technologies
  • Technical Languages:
    • Microsoft SQL
    • Visual Basic
    • VB, VBA, VB.Net
    • HTML
    • XML
    • Crystal Reports 8.5 or 9

Education and/or Experience
Bachelor’s degree (B. A.) from a brick-and-mortar four-year college or university in Computer Science or Management of Information Systems or related preferred; or four to six years related experience and/or training; or equivalent combination of education and experience.  MBA a huge plus.

Certificates, Licenses, Registrations

  • MCP or other technical certifications (preferred)
  • PMP, CPIM or other industry recognized certification is desirable

More about the Opportunity
We have a highly-talented staff for you to join and enhance, while helping our clients understand and select the absolute best solution to their business technology and efficiency needs.

We are looking for folks who will enjoy helping customers achieve more from their systems, processes and people. While you must be sharp on a technical level, you must also possess real-world business acumen and hands-on knowledge. If you are a problem-solver when others say it is not possible…and more tenacious than anyone you know – we invite you to contact us today!

Our team has been working with ERP and CRM tools (some of which are Syteline, Symix, Dynamics AX & CRM, QAD, Epicor, FourthShift, and Oracle) since 1986 – while continually improving our skills and always staying ahead of the curve to put our clients’ needs first.

If you meet the above criteria, please do feel free to send a confidential inquiry (including cover letter, resume, compensation history and availability) to us at jobs@eclipsepc.com.

Job opportunity posted by Jennifer G.

Jennifer G. has been with ECI since 2006. She handles administration, accounting and marketing activities for ECI and subsidiary companies.


Microsoft Dynamics CRM – Case Study Details

August 31st, 2011

Looking to cut development time? PA Attorney General office cuts 75% w/the xRM platform which Dynamics CRM is built.

Read CRM case studies and testimonials from customers who have used Microsoft Dynamics CRM with amazing results.

Read More…

Jennifer G. has been with ECI since 2006. She handles administration, accounting and marketing activities for ECI and subsidiary companies.


Microsoft Dynamics CRM Shines in the Big Apple!

August 29th, 2011

By 2013 38% of CRM will be in the cloud. Read top trends and more from Jim Glass as he reports from CRM Evolution 2011.

Microsoft Dynamics CRM Team & MVP Blog

Read More…

Jennifer G. has been with ECI since 2006. She handles administration, accounting and marketing activities for ECI and subsidiary companies.


The Microsoft Dynamics AX 2012 Virtual Event

August 29th, 2011

The Microsoft Dynamics AX 2012 launch event is virtual so you can watch from anywhere. Where will you be watching from?

Register today for the Microsoft Dynamics AX 2012 Virtual Event, September 8th, 2011. Hear directly from Microsoft executives about the innovations we’re introducing, right from your own desk.

Read More…

Jennifer G. has been with ECI since 2006. She handles administration, accounting and marketing activities for ECI and subsidiary companies.