During a typical implementation, it’s common to have multiple model builders build use cases and accomplish tasks simultaneously. During this critical time in the project, it’s important to plan for a key component that may be overlooked—keeping the model clean and tidy。
Keeping a model clean has multiple benefits, including:
Before we get started, there are Four Golden Rules that should always be followed:
In addition to the Four Golden Rules, what else should you think about? For your convenience, we’ve created a user-friendly guide (attached) that breaks down the major areas of a model: Lists, Actions, Modules, and Line Items. Within each section, we’ve answered frequently asked questions and provided a quick-reference to find more details in the Planual. This is not an all-encompassing list, but it will cover about 90% of the performance issues we commonly see.
审查该模型应该早日发生!这不应该是一次性练习。相反,这应该是项目时间表的一部分,无论是每周还是在下一次冲刺之前。为什么?首先,审查较小的开发量要比审查巨型模型要容易得多。在这方面,进行更新/更改要容易得多,因为该模型尚未完全构建,因此,您可能会影响更少的对象。
其次,这是学习和教导建筑商正确构建方式的绝佳方法。请记住,只是因为您可以,并不意味着您应该。
Lastly, this is a great way of showing other model builders what has been built and where the logic lives. In doing this, the logic will not be duplicated in multiple modules, allowing model builders to know where to find it. At the end of the day, you want to strive for peak model performance, scalability, and understandability. By following this guide, you’ll be well on your way!
Another great best practice article. Thank you.
@rob_marshallI can't wait until you write the data integration Planual!
Good comments and I agree about the CoE in how they can help, but this article is really about during the project, getting everyone on the same page and not waiting until UAT to review the model. Do it early and often and what to look for.
Where is the 6th one? Couldn't find it。Let me guess, is it TIMESUM or RANK or RANKCUMULATE or CUMULATE. Too many guesses.
Definitely TimeSum()!. And I see I forgot one, great catch!
Great and must needed post@rob_marshall,
I would say we should avoid having to do a model cleanup - because as mentioned is a tedious task - and instead incorporate these best practices while building the model.
Of course, we don't always work on creating new models and often work on models created by other modelers and that's when following the model cleanup process becomes critical.
In my experience, we can have a model that hasn't been maintained for a couple of years, and when we decide to start the cleanup process we feel paralyzed because of the number of obsolete or redundant objects that we fear deleting because of the possible effect on production, not having Notes or documentation exacerbates the problem. As a result, we keep pushing the cleanup task down the priority list and the model performance suffers.
So my most important takeaway from the article is... start by following modeling best practice and incorporate the cleanup in the modeling process, Then do the cleanup early and often. Rinse and repeat.
Well written@einas.ibrahim- best way is to prevent the need for model cleanup in the first place.
@einas.ibrahimI've found that if a model has been around for a couple of years it's probably been bolted onto several times and doesn't conform too well to best practice. Time to strip it down and start all over again. Bit like with a car, is the cost to do the repair worth it vs the cost to just buy a new one.
Separately something that we've started doing is having someone that might've been deep into a project on their next to be that "best practice guru" who can be on the project and can do the review of activity but without the stress of doing the development in of itself.
You are describing a COE lead or a Solution Architect. This is one of their main responsibilities.
Have you tried to convince a client to overhaul an old model? I have, and it doesn't end well
I believe there are different situations of models that require maintenance or fine-tuning, and the solution to "clean and maintain" these models will vary. This article is a good guide.