When I was a Navy contractor, we used this method for developing a "live/busy" application. "Live" in the sense that users were likely to be on/in it at various times during the work day; "busy" in the sense that the odds favor the DB being in use at any convenient time that YOU would have wanted to work on it.
We kept four folders for our app. The DEV folder held the master development copy as an .ACCDB and was NEVER EVER visible to the world. We had a BE file to go with the FE file. The TEST folder held the latest copy of the FE file and had a testing DB. If something went wrong in testing, we just round-filed the FE and went back to work on the DEV copy.
Eventually we would get a DEV copy that passed tests well enough to be the next "live" version. So we finished testing and moved the successful file to STAGING folder. That folder had no database BE file in it unless we were diddling the BE structure. (More about that in a minute.) When the FE was in STAGING, we "hardened" it to make the works not visible to the users. We had a control-panel form that NEVER closed, and our users picked what they wanted to do from the controls on the control panel. They NEVER saw the navigation pane or ribbon. (There are tons of articles on the forum on how to do that.) Whatever we were going to do the to FE to finally prepare it for users, we did in STAGING. That file would be whatever we were going to make public. So we copied it to the PROD folder where it would have replaced the previous FE file. So we copied the previous FE to the BACKUP folder and added a date to its name.
When we HAD to diddle the BE file, we diddled the BE copy first and took detailed notes. On the day of the BE update, we renamed the PROD folder copy of the BE file to the STAGING folder. Because the link to the DB depends not only on name but on path, that meant that the DB was out of service. So we consulted our notes and updated the BE as best we could, then renamed it back to PROD when we were finished.
Updating the FE file (by itself) was almost trivial, mechanically speaking, because it was a copy & rename for the old file to the backup folder and a copy of the staging file to the production file. Updating the BE file was trickier because we needed to schedule a "down time" for the DB. In this forum you can search for "kick users out" and see various methods we had of getting our users to log out so we could do required updates. If we were updating the BE, by implication we HAD to be updating the FE - at least with some new tabledef stuff - so we always coordinated FE updates to the next available BE update date.
Tedious? You bet your bottom dollar it was a pain in the toches - but it kept everything clean.