I think it is time, please help me ask Microsoft to add data packs to Microsoft Dynamics 365 for CE
Editable Grids

Don't forget the Glossary and the overwhelming desire to over use status fields

Project Considerations

1) Start with the concept of a glossary and agree on terminology. This seems like such a trivial concept, but has huge ramifications as the systems grow and mature. If everyone agrees on terminology then when fields are named, and option sets defined, the terminology is consistent throughout the system. In fact I know of a company that has a department that defines and manages all of the option set values in every system that they release. This three person team keeps terminology consistent not only in one application, but across all applications created for internal use.  Alignment to the bigger picture and more consistency for the entire company.

2) Now about those status fields. If the status field(s) are option sets then aligning the values to a glossary offers more common understanding.  Each option has a reason and these reasons generally align to business rules. Given the sometimes difficult nature of understanding business rules, common vocabulary can help.

There is a beauty to simplicity.

So how do you simplify complex business rules? Focus the system on the people who are using it and what they care about. Complex business rules are not complex to those who work with them every day. This is their life, so make sure that business rules align to the roles of those who need and care about them.

Eliminate noise: User's do not want to see what they do not care about. Use good definitions of security to allow the system to hide what people don't need to see. This also greatly simplifies the system for their use.

Leverage the power of the out of the box ability to segregate data by business units. Business units are all about segregating data, eliminating noise, speeding up processing and so much more and although they occasionally line up to offices, defining offices is not their primary goal.

Very, very, very carefully consider why and how many status fields you are using and determine a way for the system to manage and keep these status fields updated based on normal human day to day activities.

Understand the personality types of the users in different roles. Are these people task driven? Do they like to complete a list of things to do or are they more organic givers and workers who react to the day? Make sure the system can handle multiple styles of getting work done.

Re-evaluate and Refactor as many times as is necessary to simplify the system.