Sage CRM 2020 R2: Developer Best Practices (Part 5)

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.

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.

Links to articles in series

  1. Introduction - Developer Best Practices (Part 1)
  2. Project Pain Points - Developer Best Practices (Part 2)
  3. Project management and communication factors - Developer Best Practices (Part 3)
  4. Practical Tips - Developer Best Practices (Part 4)
  5. Proper preparation - Developer Best Practices (Part 5)