AgileXRM Release Notes 7.0.21097.2060

New Enhancements & Fixes

There is a new version of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dataverse Integration

Enhancements

  • SLA fields added to AgileXRM Process entity
    The fields Expected Duration and SLA Warning Level (value in %) are added and updated automatically based on values in Process Template settings
  • Add ExceptionHandlerBehavior property to WaitForEvent shape
    The WaitForEvent shape could fail when executing the underlying query. Previously, if the query threw an exception, then the process continued. As a Modeler you can now configure this behavior, to specify if process should or should not continue on error.
  • Turn Off Sharing Entity Records by Default
    Previously, when a Process Instance record was created, the record was automatically shared with the Process Initiator (if different from Process Owner). This caused the POA table to grow too much in high volume environments. By default it is now turned off. If needed, the Plugin can be re-enabled from AgileXRM Configuration window using the provided checkbox.
  • Better adapt embedded heights of AgileDialogs and Process Manager sections
  • Add German Localization
  • Update Dynamics 365 SDK to 9.0.2.29

Fixes

  • When opening a link to a Dataverse Activity that contained an AgileXRM Page or dialog, it was not authenticating correctly the very first time
  • Update enabled entities/activities function in AgileXRM Configuration was not creating new fields or registering new Plugins steps
  • Starting an AgileDialog from the Ribbon failed when special characters were used in the Template name
  • Multi-SubProcess Shape threw exception at runtime when running old versions of a Template

AgileDialogs

Enhancements

  • Support Start Page
    Previously, in order to show the first page of a dialog, a process instance would need to be created. Many times users decide not to continue after seeing the first page. This caused superfluous information being stored and a need for corresponding cleanup. With Start Page, the process instance is only created after the Next button is clicked.
  • Reorganize Page Editor layout
  • Add Sliders to manage ColumnSpan and ColumnWidth Property of control
  • Add Ordering functionality to FetchXML Editor
  • Change Page Form Import/Export functionality to use the Clipboard (instead of filesystem)
  • Make typing ${ in control caption to pop-up the ProcessContext window
  • IFRAME control to support DialogsEngine.register and DialogsEngine.setSelectedValue APIs
  • Add REST as data source to various controls 
  • Add DialogsEngine.saveDialogContext API to allow saving dialog page data explicitly
    Previously, only through the “Next” action you would save the page data
  • Improve dialogs on mobile form-factor (Responsive)
  • Disable browser autocomplete functionality in Lookup controls
  • Stop storing Display variable for Info Controls
  • Improve Script Editor
  • Add German Localization

Fixes

  • Breaking change: Datetime values were not correctly formatted in certain circumstances. The AgileXRM Server should now be in Universal Coordinated Time timezone. Also the AgileXRM Service Account User in Dataverse should be in the UTC timezone.
  • History view was showing decimal places “2” instead of currency symbol in Currency controls. This does not fix previous History entries, only new ones.
  • XRMGrid controls that contained quotes (“) were not saved correctly in History
  • XRMGrid control was showing “NaN” for empty datetime fields
  • XRMGrid control selection of row was failing if apostrophe (‘) character was present in the row
  • New controls were being marked as invalid
  • Search control did not map values correctly when destination was a Currency control
  • Watermark property of Text Control did not work if it included characters like backslash (\) or quotes (“)
  • The backslash (\) character in XRM DataGrid DataValue Property was causing dialog to crash
  • File control was not triggering change event properly after first time
  • Calendar control was showing time even though it was configured as DateOnly
  • Error message info was not showing correctly for controls placed on the right edge of the screen
  • Datetime controls were not rendering correctly (overlapping) in narrow screens
  • Checkbox control Validation message was overlapping checkboxes not allowing user to change selection
  • Final message shown when dialog is finished was not encoded correctly 
  • Combo controls set to ReadOnly was still showing “-Select option-“
  • Setting a ReadOnly control to Required via API was not making the control editable
  • Numeric Control’s Type property was empty by default

Process Manager

Enhancements

  • Add German Localization

Fixes

  • Subprocess activity details was showing the same Start Date for every session
  • Subprocess Instance name was not being shown
  • Activity status icon was not positioned correctly for very wide process templates
  • Activity error icon was not being replaced if fixed in the following session
  • Could not migrate Process Instance if Activity was Suspended (but Process was Running)
  • Change Flow was not working straight after a Migrate action
  • The hand icon depicting Wait All Incoming was not being shown correctly in some circumstances
  • Suspended Process Instance was not showing an error icon
  • Sometimes migrating a Process Instance threw a “request entity too large” error
  • Cancelling a Process Instance whose parent was a dialog was not getting Cancelled
  • The Save Context XML button was only appearing after hitting Refresh and it then saved two files instead just one

Process Modeler

Enhancements

  • Consolidate all relevant icons to one AgileXRM Ribbon
  • Enable dropping a Shape on a Connector for simpler modelling experience
  • Add swim-lanes to templates
  • Add TextBlock tool to Ribbon to allow moving text of a shape
  • Add Subject and Activity Properties to External shapes
  • Improve variable search functionality in ProcessContext window
  • Allow to use TeamID as Team Participant for Manual Activities
  • Improve Environment Explorer to allow filtering processes
  • Add a confirmation step for the Delete action in Environment Explorer
  • Improve Environment Explorer to identify Processes versus Dialogs in the tree using icons
  • Add Quick Config links to many shapes to easier reach the main config window
  • Allow using dynamic SharePoint URLs in Attach, Detach and Word shapes
  • Move Async property for all XRM shapes to Advanced property group
  • Add German Localization

Fixes

  • Process selector in subprocess activity was not showing ChildOnly process templates
  • REST activity was not allowing TEXT as value in accept field
  • Shapes that had Participants when dropped directly on Swimlane were losing Participant
  • Changing Swimlane Title was changing Process Name and vice versa
  • Table-type fields were not being shown in Bold in the Word Shape’s Fields listbox
  • ProcessContext window was not showing in activity Participant window’s Team drop-down control
  • If Team Participant was set to a custom attribute, the configuration was lost upon re-editing
  • Multi-Subprocess shape was not showing the QueryExpression editor correctly
  • REST Payload editor was not showing any error messages when it contained an invalid JSON value

Miscellaneous

  • Runtime Security Context was being cached for a Process Template that was set to Process Initiator
  • XRM Search activity to return 0 in ResultCount when no records found
  • XRM Search activity was returning DateOnly fields in UTC
  • Attach/Detach shapes’ Override option was failing
  • Skip License checking for AgileXRM Application User in Dataverse 
  • Includes NX v7.0, Software Update 2, Cumulative Update 6  (See Release Notes)

AgileXRM Release Notes 7.0.20106.2040

New Enhancements & Fixes

There is a new major version release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dynamics 365 / CDS Integration

Enhancements

  • Show a message in a Process Task when the task is assigned to another user
    Previously the user would not see the task before clicking Assign To Me button
  • Update Dynamics 365 SDK to 9.0.2.5
  • Enable Change Tracking on AgileXRM custom entities
    This can used in some ALM processes

Fixes

  • Data in DateTime fields configured as Time-Zone independent were not being saved correctly
  • When refreshing a D365/CDS Activity that had an AgileDialog, a new dialog instance was being created

AgileDialogs

Enhancements

  • New theme.uui inline with current CDS style
  • Support showing external data within DataBound controls (Grid, Lookup)
  • New Dialog Task design-time flag parameter to create or not Process Instance record in D365/CDS
    This allows avoiding the creation of undesired records in CRM/CDS
  • Support multi-value Option Sets
  • Improve drag & drop UX inside Container Controls
  • Support Relative Time anywhere DateTime is shown
    Rather than showing timestamps which are difficult to decipher, show relative time (e.g. 5 minutes ago, 2 weeks ago etc,)

Fixes

  • Error was thrown when OnLoadScript invoked DialogsEngine.register and DialogsEngine.setSelectedValue methods
  • DateTime controls were truncated when browser window was narrow
  • Error Messages were truncated for controls placed in the right edge of screen
  • Some culture names were not supported
  • DialogsEngine “Next” feature failed for “PopUp” render mode
  • TextControl did not save data properly when its behavior was set to Decimal
  • XrmGrid control did not show Formatted DateTime values properly
  • Calendar control did not show date fully in theme.cds
  • Occasionally security token was not deemed valid for connecting to D365/CDS

Process Manager

  • Support Relative Time anywhere DateTime is shown
    Rather than showing timestamps which are difficult to decipher, show relative time (e.g. 5 minutes ago, 2 weeks ago etc,)
  • Allow cancelling a suspended process
  • Allow drill-down to dialog process instance when clicking Dialog Task shapes
  • Show latest active root process instance that is not an AgileDialog instance
    Typically a dialog is used to create an entity record and a corresponding life-cycle process is kicked off. It is more important to show the life-cycle process rather than the dialog when viewing Process Manager

Fixes

  • Process Manager did not apply themes properly
  • Process Manager showed Wait All Incoming icon wrongly
  • Process Manager did not show AgileDialogs history page

Envision Process Modeler

Enhancements

  • New Trigger Power Automate AgilePart
    Kick of any Power Automate Flow using this shape
  • New Upsert Shape
  • Support selecting the D365/CDS Activity Form in all AgileXRM Manual Activity shapes
    This also keeps the correct form visible to the user, even if user tries to change the form to another one
  • D365/CDS Email shape can attach a file stored in SharePoint Online
  • Allow XRM Sub-process shape to share context with a sub-process based on a different Entity Type
  • Control behavior of FetchXML for empty filter value for a D365/CDS GUID field
    If in a Query there is an Equal operator and comparing to a custom attribute that is empty (has no value), and the field is an ID type field (Lookup etc), then D365/CDS API will throw an exception with “Not a valid Guid”. This is OK if this is a modelling error and the right value was not supplied. But sometimes a value may or may not be available to compare to, but still want to pass this to the query. So now there is an Equal or NULL operator and an Equal or Not NULL operator
  • Allow Word shape to store in any of the available different document repositories
  • Support for accepting TEXT in REST shape, additionally to JSON and XML
  • Allow to optionally save D365/CDS Activity field values into Custom Attributes upon completion of the activity
    Previously modeler needed to explicitly query this data in a follow up Search shape
  • Support multiple IDs (semicolon-separated list of IDs) in Detach shape
  • Inject ProcessInitiatorCDSUserId into processes initiated by users from D365/CDS
    Many times it is necessary to search for the userid of the Process Initiator. This new custom attribute avoids having to do the search explicitly
  • Accept a D365/CDS team as a recipient of a D365/CDS Email
  • Support associating an existing D365/CDS Activity to an AgileXRM Manual Activity shape
    Users sometimes create some ad-hoc activities for a particular entity. This new functionality allows these activities to be incorporated in the end-to-end process
  • Improve BPF Stage shape
  • Allow launching independent process using Sub-Process shapes
    This allows to not create any relationship between the parent process launching the other process. This is typically useful for Process Launcher processes
  • Improve Participants UI for all Manual Activity Shapes to support Owner and Queue assignments
    Previously a OwnerID parameter was used, which is now deprecated
  • Allow override of CreatedBy and ModifiedBy in Create Entity and Update Entity shapes
    Sometimes the user of the process execution context is not the right user and modeler requires to set these to another user
  • Execute operation against different environment/organization
    Implement mechanism to execute D365/CDS Operations (Search, Create and Update Entity) in an organization distinct to the current one

Fixes

  • Some fields (like ZIP / Postal code) were not appearing in Columns tab for their corresponding entities in Search shape
  • Envision Import XML file feature failed
  • REST Shape had runtime error for “x-www-form-urlencoded” content-type
  • Word Shape (online version) configuration failed when more than 2 SharePoint tokens were available
  • Could not select a Dialog on SubDialog activity
  • REST Shape was unable to reset OAUTH configuration once it had been setup
  • Multiple Delete shape failed after deleting first record
  • REST shape did not allow pasting text in the Response details field

Miscellaneous

  • New Microsoft Power Automate® Connector for AgileXRM
  • Support Azure B2C for External AgileDialogs
  • Support Public Anonymous AgileDialogs
  • Support Chrome 80+ SameSite Cookie changes
  • Could not pass concatenated custom attributes to a sub-process parameter
  • Includes NX v7.0, Software Update 2, Cumulative Update 4  (See Release Notes)

AgileXRM Release Notes 6.1.19010.2050

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dynamics 365 / CDS Integration

Enhancements

  • Process Template Cleaner Tool includes orphaned instances
  • Process Template Cleaner Tool allows Started Date Ranges
    For instance, cancel all instances still Running from 3 years ago
  • Change Relationship between Process Template and AgileXRM Process Entities
    The relationship type has changed from Parental to Referential to avoid bulk Reassign when Template Owner changes. This was causing unresponsiveness in high-volume environments, while all child instances were being reassigned

Fixes

  • User could not cancel a CRM Activity linked to AgilePoint

AgileDialogs

Enhancements

  • New Numeric Control
    It is recommended t use this control instead of a Text Control of type Numeric (change your existing ones to new Numeric Control)
  • Add DialogsEngine.getLabel and setLabel methods
    Labels can now be queried and set via javascript
  • Add new CustomValidationMessage property to input-type controls to allow for standard localization mechanisms

Fixes

  • Info Control was not displaying the value that was being set via javascript
  • Text Control validation was failing for certain numeric configurations
  • Page Preview window was throwing an exception if Text Control of type Decimal had a DefaultValue with a variable in it

Process Manager

  • None

Envision Process Modeler

Enhancements

  • New AgilePart to call certain API Messages
    This shape allows calling certain Dynamics API Messages:

    • AddUserToRecordTeam
    • RemoveUserFromRecordTeam
    • WhoAmI
    • ReassignObjectsOwner
    • ReassignObjectsSystemUser
    • CalculateRollupField
    • RetrieveExchangeRate
    • AddPrincipalToQueue
    • AddToQueue
    • PickFromQueue
    • ReleaseToQueue
    • RemoveFromQueue
    • ConvertOwnerTeamToAccessTeam
  • Show Global Variables (Shared Custom Attributes) in Schema Picker window

Fixes

  • Generic Activity Shape was allowing empty activity type at design-time causing exception at runtime
  • Validate action from Ribbon no longer obliges user to add template to CRM

Miscellaneous

  • Breaking Change: When passing native types to a sub-process, these are no longer converted to String
    For instance a Date or an Float/Decimal are passed as is and not converted. Make sure you do not depend on the string representation of the variables passed from the parent process in the sub-process.
  • Improved custom Process Instance Name generation
    To improve sorting, custom process instance naming convention has improved
  • Include NX Service Pack 1 Update 2 HotFix 5 (See Release Notes)

AgileXRM Release Notes 6.1.18291.2040

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Envision Process Modeler

ENHANCEMENTS

  • REST shape
    Call any REST service. It supports REST Access Tokens created in NX.

FIXES

  • SubDialog shape Wait All Incoming parameter allowed values other than True(Dyanmic) causing unexpected behavior
  • SetStatusMultiple Shape did not complete when async execution was set
  • Performance window in Envision did not behave correctly when an OR shape was present

AgileDialogs

ENHANCEMENTS

  • Allow Dialog Designer to include images from within Envision
    This greatly simplifies managing images. Before this, one had to include the URL of an existing image. Now just Copy+Paste an image

FIXES

  • Decimal Text Control was not showing value correctly when no decimal part was set
  • Numeric Text Control was saving invalid numeric values for certain cultures
  • AfterSubmit parameter did not work when value was URL
  • Combo Control bounded to an OptionSet failed when using REDIS cache

CRM Integration

ENHANCEMENTS

  • Allow command bar actions to start AgileDialogs using Template Name
  • Create a new AgileDialogs Theme for CDS called theme.cds
  • Adapt AgileXRM solution for CDS

FIXES

  • Federated authentication did not work when opening a CRM Task for the very first time
  • CrmConnector config window did not show some controls in low-res screens
  • Save as completed option did not work in Unified Interface

Process Manager

ENHANCEMENTS

  • Added Hierarchical Process Cancellation functionality to Process Cleaner Tool
    Old obsolete processes can now be cancelled by selecting a date-range and the tool will automatically cancel them from top to bottom when there is process hierarchy. This avoids that the cancellation of a child process make the parent process continue.

FIXES

  • ProcessManager did not refresh ProcessViewer properly
  • There was a memory-leak when using REDIS cache
  • Cancelling a SubDialog did not cancel the parent dialog

Miscellaneous

  • Support Anonymous users in Cloud for public Dialogs

 

AgileXRM Release Notes 6.1.18169.2040

New Enhancements & Fixes

There is a new release of AgileXRM available and here is a list of the new enhancements and fixes included in it:

Dynamics 365 / CDS for Apps Integration

Support for CDS for Apps

Most notable enhancement is AgileXRM’s support for CDS for Apps, so you can easily build complex Business Processes and Dialogs for your CDS Model-Driven Apps as well as for Dynamics 365. And that, of course, includes support for Unified Interface.

Other enhancements

  • Attach/Detach Document shapes enhanced for Cloud deployment
    Move docs in and out of Dynamics 365/CDS from and into external document repositories, namely: SharePoint, Amazon S3, Box, Dropbox, Google Drive, OneDrive, OneDrive for Business, Salesforce, NetSuite, FTP, SFTP
  • Add new view for ProcessTemplates entity: “Proceses my teams can initiate”
  • Update Dynamics 365 SDK to latest version: 9.0.2.3
  • Security Enhancements:
    • Query functionality to Impersonate other users, restricted to sysadmin only
    • Only sysadmin can use System as security context in Envision/CRM Process Template

Fixes

  • CRM Plugin was not logging the exception when PostMethodException was thrown
  • CanResumeDialogs function failed on occasions

AgileDialogs

Notable enhancements are two new very useful Controls that improve and optimize AgileDialog design:

Search Control

Typically used for showing details of a Lookup in the Page, this non-visible Control executes a query (FetchXML) in Dynamics365/CDS to update other controls on the Page with the returned results.

Many times this saves having to use Search Shape steps in the dialog, for a cleaner  more optimized model.

Variable Control

In AgileDialogs, you often find hidden Text Controls so that the context of the dialog can be updated with some value. This technique works but was a bit confusing, so now with the non-visible Variable Control, you can set Custom Attributes with the desired values.

Other enhancements

  • Allow to specify labels for the OK and Cancel buttons in the DialogsEngine.confirm window
  • Breaking change: Text Control of type numeric now store Internal Value instead of Formatted Value
    If you relied on the Formatted Value, you need to modify your dialogs to use Display Value instead
  • Allow empty string for Info Control
    Previously, the validation forced the user set some value
  • Support German and Catalan languages

Fixes

  • Open Dialog List Page did not identify orgname correctly
  • CRM Lookup Control was not using ControlWidth property
  • AgileDialogs version number was being repeated when dialog did not have Title
  • AgileDialogs was throwing an uncontrolled exception when trying to download an invalid or deleted annotation
  • AgileDialogs Activity was failing if InputParameter property contained special characters in a Custom Attribute

Process Manager

  • Improved sorting in the Activities and Data tabs in the Details section

Envision Process Modeler

Enhancements

  • Set BPF Stage Shape to use supported methods (CRM 8.2+, 9+)
  • Improve Envision Readable XML-file generation
  • Improve CRM Connection window to reduce load-time
  • Improve Environment Explorer: Add Delete and Import operations

Fixes

  • OOTB Custom Attributes in Schema Mapper were not being populated
  • Changing Email Template name in Send XRM Email shapes failed every other time
  • Page allowed adding 2 Tabs with same name, then entering in an endless error loop
  • Endless error loop if added 2 Tabs and then tried to remove them
  • Ribbon was not being shown correctly in some non-English languages

Miscellaneous

  • Include NX Service Pack 1 Update 2 HotFix 4 (See Release Notes)
  • Add support for IIS 10
  • Add Private Cloud option
    Apart from OnPremise and Cloud deployment options, there is now a PrivateCloud option

 

Implementing Dynamics 365/CRM shouldn’t be like making a Movie

Why do so many CRM implementations fail?

Dynamics 365/CRM is an extremely powerful platform to create amazing Business Apps. So why do so many projects go wrong? Well, for many of the same reasons many Movies fail at the box-office (around 60% according to the 2016 figures) . First of all, everyone involved in making the Movie needs to be top-notch, from the script-writer, to the director, the actors, the camera crew and a whole lot of other people involved in it. If you don’t have sufficient budget, it is very hard to make a great Movie as all these “experts” cost loads of money. And even then, there is no guarantee the resultant outcome will be a success with the end-customer (the spectator). Because it is hard to predict spectator expectation.

Over-complicating the story is another reason for flops. People like Movies they can understand. Make it too complicated and the viewer loses interest quickly.

But how can the movie-making process be improved for higher success rate?

What if the film script was not “hard-coded”? What if it could be a simple idea at the beginning and a Short was made of it vey quickly and put in front of the spectator and the feedback was taken into account to change and extend the Movie? What if this could be done over and over again iteratively until all the best ideas were incorporated and the spectator was involved from the beginning and throughout the whole “making” process.

So why do they not make Movies this way?

Because it would cost too much and it would take too long. Though technology nowadays, allows some experimentation to see which scene works best before including it in the Movie, it is still not flexible enough to allow the film makers to control where the Movie is going.

How does all this relate to CRM implementation projects?

Well, many of these projects have only a few (if any) experts involved in them. The users (spectators) are asked what they want in the project at the beginning and some user requirements are similar to spectacular Movie scenes that are extremely hard to create and still they get into the specs  even though a simpler alternative scene would have had the same effect. Everyone then goes off to develop the project from the “hard-coded” Requirements Document (the script) with little space for maneuvering.  However when the project is ready to go on air, the users mostly do not find what they were expecting.  Therefore, either it is not adopted or lots of changes (re-makes) are asked for, making times and costs soar beyond plans and budgets.

Also, many of the requirements force the team to over-customize the CRM system, albeit using supported mechanisms. These over-customizations are fragile. Too many moving parts and too complex to maintain, slowing down, and sometimes stopping, the solution from evolving.

Evolving is the key: CRM projects need to Evolve

A finished Movie cannot be changed. You can do a remake or a Part II at great cost, but you cannot change the original Movie. But CRM implementations need to change, since Business Requirements are always changing.  Whilst you are writing the specs down, they have already changed!

Change is real and required, so no point fighting it. We just need to be able to cater for it. And cater for it at the speed change occurs, otherwise we are always lagging behind.

What does AgileXRM bring to the table to help Dynamics 365/CRM projects succeed?

Short Answer:

  • Faster Turnarounds
  • Less Dependency on Experts
  • No need to Over-Customize
  • Allows an Iterative “Creation” Process
  • Same model throughout: Design, Runtime, Monitoring

Long Answer:

FAST IS GOOD

Projects need inertia and nothing dampens inertia more than slowness. If users need to wait for something to arrive for too long, they get bored. If you can keep a fast pace in the project the inertia is intact and pushes the project forward.

A partner of ours did a study to see how much time was saved in their projects using OOTB Dynamics 365/CRM versus with AgileXRM Add-On. Well, they found a whopping 50% time-saving, or in another words, it doubles the productivity.

NOT EVERYONE NEEDS TO BE A GURU

There is a profound shortage of Dynamics 365/CRM experts out there. You are lucky if you have one in your team. Developing performant Workflows or designing BPFs and coding Plugins or UI JavaScript, integration, modelling relationships and implementing security, etc. all require skill and lots of it. So projects are either waiting for the expert to do his/her bits or there is no expert, and the brave team members soldier on, doing their best and searching for expert advice on the internet.

AgileXRM lowers the resource skill requirements. Being Low-Code means less specialized abilities are needed to achieve higher results. Being homogenous means no need to decipher which bit of the requirement goes where (WF vs Plugins vs Actions vs BPF vs Custom Activities vs JavaScript versus Business Rules – and recently – vs Flow vs LogicApps vs PowerApps). In AgileXRM everything is done through configuration of basic blocks in the same way (with the occasional simple JavaScript for certain specific UI requirements).

For example, some junior consultants in some of our clients, build, manage and maintain very complex Dynamics 365/CRM AgileXRM-aided solutions out there. We are talking cross-departamental and/or cross-organization, cross-system and high-volume core-business processes with hundreds of steps and rules within them. Not the kind of thing you would throw at a junior! But they go deliver with the help of AgileXRM.

This doesn’t mean you don’t need experts anymore! No way! Somebody still needs to define the overall architecture and design of the solution, and overlook the project as it evolves, but much less hands-on and much less of the expert’s time is required.

K.I.S.S.

Why does over-customization occur in the first place? Sometimes because the Project Team doesn’t filter the requirements and lets the user design the system, but more often, it is because real business requirements tend to be very complex in the first place. And by the time you implement such requirements, you find you have tons of customizations all over the place, all interdependent and no one person in the team able to understand all the bits. Complex requirements should not imply complex solutions. If the complex requirement could be broken down to manageable chunks, then the solution could become simply elegant.  This is what AgileXRM provides. A way to break down these complex requirements to understandable blocks, simple pieces that can be quickly assembled and also maintained over time.

For example, we arrived on the scene in one client, nearly 2.5 years after their project had started. They had gone live for a year but user adoption was so low that the whole project was about to be scrapped. The SI contacted us, and their principal consultant, single-handedly managed to implement those very complex requirements with AgileXRM in 3 months the way the users wanted. And he did it without prior knowledge of our Add-on. But don’t wait to fail before resorting to AgileXRM. The earlier you use it the better the results and the simpler the solution.  Keep It So Simple!

GO ROUND IN CIRCLES

No one knows all the requirements upfront. It arrives in trickles. When you ask, users express all they know, mostly about the happy-path, but when they see the resultant solution, they remember all the other cases they forgot to mention. Usually this is a “problem” as changing things already developed is not easy, and is even more complicated if the solution is out there running in production.

With AgileXRM, asking for change is always welcomed! It thrives on it! This is how the solutions is iteratively improved. In a Banking client, the full Credit Cards Claims Process (a 120-page comprehensive analysis doc) was modeled, configured and published to UAT in 9 days (by two consultants). In the following 2 weeks, users getting to use the system, asked for 33 additional changes to the process that were not contemplated in the original specs. These changes were added daily, until one month after starting the modelling, the users had the real Business Process up and running in PRO, not the theoretical one in the docs.

So the circle is: Hear what user wants–>Configure and deploy it quickly so user sees it working–>Hear what user wants, and so on. Iterate Quickly!

W.Y.S.I.W.Y.G.

Seeing is Believing. So if the users can see they are part of the solution creation process then half of your problems are solved: No User Adoption issues; No bad surprises; No Them versus Us. To be able to involve them properly the creation process should be visual and lasting. If you model the business processes visually then the user never sees the model again in runtime, the disconnect gap grows, because you have implemented your interpretation of the model which well may be different to the user’s interpretation. If user sees the same model in execution, then it is a different story.

With AgileXRM the same business process model that is designed is the same one users see at runtime. What you model is what you execute and monitor.

This also helps greatly to detect where processes can be improved. The business process is not buried underneath lots of disparate bits, but is explicit and in front of everyone. This is what the term “Let’s read of the same page” means.

Conclusions

Implementing Dynamics 365/CRM should not be like making a Movie, but rather more like making a TV Show series where the producers deliver episodes frequently and take all the spectator feedback into account for the next episode. It is like a series created by the spectators for the spectators, with the supervision of the producers to make sure common sense is not lost on the way.

This all sounds very much like the Agile Manifesto. And it is not a coincidence that the product name has the word Agile in it: AgileXRM.

Bring Agility to your Dynamics 365/CRM projects with AgileXRM and Happy Implementing!