Hi Neil,
Welcome to the team.
Usually letting Boinc figure out what to do gets you about 95% of your optimum output anyway so no real need to tweak anything unless you have specific requirements or just like to manage every detail yourself. Resource share and .xml files fall into the latter category.
.xml
If you only run one project at a time then don't worry about resource share. If you run multiple projects (not multiple applications from the same project) then their relative resource share settings determine how much of the hosts resources are used for each project. Simplistically, a quad core host with two projects, one set to 25 and the other to 75 would be running one task from the first project and three from the second.
There's two types of .xml, Boinc general ones and project specific ones. The main Boinc one is cc_config.xml (client configuration) This can be used to tweak the operation of the Boinc client. Additional log flags can be enabled to aid in debugging a system that has errors, co-processors can be enabled/disabled/configured and fine control over the built in functions of the Boinc manager can be controlled (benchmarks, file transfers etc) This file lives in the main Boinc data directory.
The main project specific one is app_config.xml. This can be used to run more than one tasks per resource (two tasks per GPU if one doesn't load it enough) or to use non standard project executables (optimised clients) This file lives in each project directory and there can be one per project.
A couple of projects have their own unique files, these either have a different extension (.config) or a different name (srbase.xml) These files allow you to modify how the application runs the tasks (multiple cores, more/less memory )
Sprints
Sprints are normally defined with a starting and finishing time and date. Work reported to the project servers between these times is counted towards the team total for the sprint.
The important bit is "reported to the project servers". It doesn't matter if the work is completed before the sprint officially starts so long as it's only returned after the start. As the sprint project is normally known before the actually starting time, most teams 'bunker' ie, build up a store of completed work before the sprint starts and report it during the sprint.
The process is to pause any projects currently in progress, increase the Boinc cache by a day or more so that work will be requested then enable only the sprint project. Boinc will download enough work from the project to fill the increased cache and start processing the work units. Once the cache is full, Boinc network access is disabled. Any tasks completed after then are stored on the hosts and more cached work started.
When the sprint is underway, Boinc network access is re-enabled and the previously completed work allowed to upload. This means that effectively, teams get an extra days work of tasks returned during the sprint.
I haven't ran Primegrid for a while now and can't remember if there's any tweaks needed there. If you run GPU-Z while using your GPUs for crunching, it'll tell you how much load they're under. If less than ~60%, it may be work adding an app_info.xml file to utilise the unused 40%. If you're already running at >90%, it's probably not worth the effort. Be aware that upping the GPU usage from 60% to 90% will generate extra heat and power consumption.
Hope this isn't too far below your level, ask if you have any other queries, we're a friendly lot really
Mark