While documentation can be limited in Agile methodologies, it is not forgotten. As with any implementation, implementing a large scale application in an Agile environment has its challenges. With so many dependencies and related functionality, identifying distinct separation of duties is critical and cannot be overlooked. In today’s blog, we will go over a few key components that will help reduce the complexity of the development process, decrease impediments, and ensure that your CRM implementation is set up for success. Let’s get started!
Entity Relationship Diagram
Microsoft has made the out-of-the-box entity field maps available for each version of CRM. Knowing this information is helpful in understanding the big picture of how entities can share data amongst themselves, but does not include any customization that will occur. Creating an entity relationship diagram for the custom entities before a project starts can prevent significant rework later in the project. They also provide a basic strategy for where specific data elements will be housed and how custom entities will interact with those that are already supported. Consider these diagrams as the blueprints for the entire project.
Entity Field Map
Now that a simple structure exists, it’s time to list the items within the entities. This is a great place to be iterative. If you know what your Minimum Viable Product (MVP) will be, then you can begin with those entities that will directly support your product. If this has not yet been defined, try starting with the entities that have rigid functionality or less likelihood for change. If defining the MVP is still problematic, here are three approaches that may help. An Entity Field Map is also a great place to start identifying migration data. Collecting data elements from legacy systems and mapping those fields to future state CRM entities gives the development team a helping hand when determining which systems can be implemented and when.
Future State Process Flows
This is one of the most important elements of planning, however, it is often incomplete or even ignored. Future state process flows are crucial in determining the vision for the project. Identifying these paths early will provide clarity in determining the design approach to be implemented. If the design approach calls for CRM Business Process Flows, having these flows to provide to your Agile teams is extremely valuable. Additionally, process flows can help identify the MVP. By selecting a combination of process flows, identifying a shippable increment becomes much simpler.
Determining the list of user roles up front helps with user story creation and can provide a set of boundaries for an implementation. User functionality will permeate through views, dashboards, business processes/workflows, and security. Selecting a group of user roles to begin with provides appropriate scope for both requirements and development.
Creating a visual representation of the backlog aides in estimation, prioritization, and planning of user stories. Tools like Microsoft’s Team Foundation Server allow team members to associate product backlog items to developed code. Breaking the backlog down into functional features helps categorize the user stories into logical segments and gives clarity to what is being delivered.
As with all Agile projects, the focus should be on working software and not extensive documentation. While each CRM implementation may or may not start with these documents completed, developing these documents early on will ensure that the first few sprints start out strong. Treating these as “living documents” will limit the potential for significant rework later in the project from lack of design or uncertainties about what is being delivered.
That’s all for the blog today, readers. Want to learn more about Agile CRM implementations? Check out some of our previous blogs here and here. Remember, sign up for our blog to get great content like this delivered directly to your inbox!