Sage CRM 2017 R2 Developer Best Practices (Part 5)

Hints, Tips and Tricks

Technical Hints Tips and Tricks that cover customization and development using Sage CRM. API usage and coding are covered.

Sage CRM 2017 R2 Developer Best Practices (Part 5)

  • Comments 2
  • Likes

This is the fifth article in the series on Sage CRM Developer Best Practices. At the end of the last article I said that I would use this post to consider the first of the 'tips' that were outlined in that article.

Proper preparation prevents poor performance

I discussed in the third article in this series the importance of adopting rigorous management of an implementation project.

Any project needs to include a strong evaluation in each phase, each interaction to ensure the project is meeting or has met expectations. We need to review the work we do to learn lessons from the experience and understand the actual benefits that have been realised.

It is an uncomfortable truth that Sage CRM projects like any IT project can 'fail'. There are different reasons given for that project failure which may include Poor requirements definition, Inadequate risk management, Poor scope definition, Communication problems,
Lack of qualified resources.

The survey above was for software projects in general and not specifically about Sage CRM. But whatever the reason for a failure the experience of that failure sucks.

And what is the biggest reason cited for project failure? Poor requirements definition.

My colleagues have written articles that consider the building in of success within a Sage CRM project by correctly identifying the business case for the project and the chief benefits that need to be realised. The implementation of CRM is not just a technical exercise instead it requires a full commitment to the concepts of Customer Relationship Management and as such for an organisation it is far more of cultural change than simply 'sticking in a piece of software'.

Below are some of their articles that I think need to be read as part of the cultural preparation for a Sage CRM project. These articles are concerned with making sure that the commercial and management conditions are right ahead of breaking ground on a project and before any hands touch the software.

As individual consultants within a project, we may have more or less ability to influence the commercial and management aspects of the project but we must strive to be able to control the things that are within our orbit.

I am going to make the assumption that you have gathered all the documentation that you need for the project. This is both the material that is in the Community (Admin Guides, Release notes etc) and the specific documentation related to the project. I further assume that you have not just gathered the material but that you have also read it and made sure you understand the implications for the project.

You need to be sure that you understand what work needs to be done and what changes should not be done on the project. You need to be clear about the assumptions that you have made.

A precursor skill fundamental to the project is actually making sure you know Sage CRM inside and out. This is because you want to make sure that you use the features of Sage CRM and its design to the best advantage. A really bad thing is to find yourself reinventing the wheel by implementing a change using some code when the capability is built into Sage CRM out of the box.

Personally, I think that we should all spend time continually checking our knowledge about Sage CRM and its technology. The eLearning platform allows partners to revise their knowledge and many of the topics are backed by short video lessons allowing learning to take place anytime or anywhere.

So if you know what needs to be done and you are confident that you have the skills to do it then you need to make sure that the project plan is prepared with as much care as possible.

There is a lot of detail that needs to be considered before you carry out any customizations. And you will also need to agree how those customizations will be carried within your team. This may be coding standards to be used, the and naming conventions but you will also need to think about how customization fit into the existing system.

What screens, structures and fields are needed? How will screens flow together?

This planning or preparation does not need to be formally done, it can be very rough as you can see from this planned workflow below.

But spending time ahead of coding and customization thinking and planning what needs to be done will save time within the execution of the project and help ensure that mistakes made because of inappropriate assumptions do not have to be reworked.

I mentioned earlier that you need to know Sage CRM well to avoid unnecessary work when the feature is available out of the box. In my next article, I will emphasise the metadata-driven nature of Sage CRM and how remembering that will assist in securing a successful project outcome.

Comments
  • Great set of articles, thanks Jeff. 50% of failures due to poor planning - quite shocking but not surprising.

    Spot on about the importance of getting to know CRM inside and out, many developers who come to work on CRM try and skip this bit because they think they know all there is to know about web development and end up doing unnecessary work.

    Many times have I come to investigate someone else's work and found all kinds of examples, like writing triggers to update lead fields to the corresponding opportunity when converting, not knowing this is handled quite nicely by mapping the fields. Or writing a whole web-to-lead service! It disappoints me to see that this would have meant a significant unnecessary cost.

  • Caili

    Thanks for the comment.  I get most distressed by partners making assumptions about a customer's business and about the Sage CRM software (and its features) and never testing those assumptions before starting work on a project.  Sometimes it is clear from the questions I get asked that people have never searched the community or read the documentation.  I've got more share on this so the series is continuing!