What is the best way to optimize my shared project for multi-user access?
That really depends on how your team will work. CaseComplete project sharing works by controlling individual files. Packages can be stored as separate files and can be version-controlled, so it makes sense to think about how work is divided in your team, and then create separate packages in your project to support that structure. Team members will check out packages to modify their contents. While those packages are checked out, other team members cannot check them out for updating. Try to separate commonly-updated elements from packages that need to be checked out for long periods of time. If team members divide their work by business areas, try a package structure that reflects that division.