CRMUG is continuing it’s Panel Discussions series where community members spend 30 minutes giving their tips and best practices plus answering attendee questions. This week Ashley Steiner, Seth Bacon, Gus Gonzalez and I led a panel talking about system design. I wanted to share some of my highlights plus you can watch the recording on CRMUG.
Plan! Plan! Plan!
It is very important to plan your overall system architecture and not just add things willy nilly. When getting new requests from users or customers it is important to focus on the requirement not the solution. We tend to hear things like, “Just add this text field, that’s all I need”. Then a few weeks later the requester is upset that they cannot report on it how they want. So it is important to get to the heart of the issue to determine what they really need.
Data Life Cycle
Seth also talked about mapping the life cycle of the data. This includes thinking about how it is created, updated, deleted and all the reporting that happens throughout that time. How will this data come in? How will we keep it clean? Why are we keeping it? What will the user experience will be like?
The project is only successful if people are using it! To use it, it needs to be easy and the data needs to be clean! To keep it clean then we need to have an owner for the data and provide methods for keeping the data clean.
Gus’s 1 Rule
Gus shared his #1 Rule for system design – Understand that anything you do will slow down the system. All fields, security roles, business rules, etc. will add complication and impact performance. So all requirements need to be justified and need to provide value for customer acquisition, delivery or retention/extension for current customers. If the change does not provide value in one of those stages, then why are we doing it?
Gus also shared the top myth he sees in system design. People are super focused on reducing clicks but this is not always necessary. We need to focus on driving the business and this may or may not have impacts on the UI.
A variety of tools for requirements gathering were discussed from Azure DevOps to PowerPoint and Visio. The important part is that the requests are documented and prioritized. This documentation with justification can be used to get sign off from the business as well as being a starting point for your system documentation.