Since mid-2015, major ConfigMgr versions are released every for months, with usually a Hotfix Rollup (called HFRU) or two in between each major release. Anew ConfigMgr version is released into the early update ring first, and then after a few weeks, released broadly without you having to opt in for the update.
Start upgrading your test and/or pre-production environments, and verify that everything works, before doing your production upgrade.
This guide is for a single primary site only, and to be frank, if you have less than 150K clients, and you have a CAS, you're doing it wrong, and should work with Microsoft to collapse that hierarchy. The last four months I've worked with two customers (45K and 55K clients) doing exactly that.
Real World Note: Even though ConfigMgr has been tested on quite many endpoints (millions) before being released to early update ring, I usually don't upgrade production environments until a few weeks after the broad release. I upgrade test and pre-prod early, for finding and reporting issues.
Step-by-step guide, three coffee breaks style 🙂
In this guide I used ConfigMgr 1910 as an example, but this is valid for later versions of ConfigMgr too.
1. Tell management and operations team the test and/or pre-production site will be down for 4 hours (not entirely true, but still, say that).
2. Verify that no ConfigMgr or other maintenance tasks are running (like SQL re-indexing etc.), or will start during the upgrade.
3. Run an extra SQL Backup of the ConfigMgr database.
4. Run the script to enable early update ring.

5. Disable or uninstall third-party antivirus.
6. Check for pending reboot, or just reboot the site server for good measures.
7. If rebooted, let the server sit for a while you're having coffee.
8. Make sure third-party antivirus is still disabled.
9. In the console install the ConfigMgr 1910 Update, use cmupdate.log plus the update monitoring to view the progress. Preferably while having lunch or dinner.
Note: If you get the pesky "Failed to connect to the SQL Server, connection type: SMS ACCESS." during upgrade, it usually means you didn't have a enough coffee during step 7. So just sit back, and relax, this usually fixes itself with a bit of time. However, it can also mean that your SQL Server 2012 Native Client is too old. You need to have a version installed that supports TLS 1.2.

10. Once you see the update reach "Enable Features", go ahead an install the new ConfigMgr console.
11. After ConfigMgr console is updated, take another break for a job well done.
12. There will be a pending reboot on the site server, so reboot the site server for good measures.
13. And, for the third time, let the server sit for a while you're having coffee.
14. Update your boot images with the new ConfigMgr client OSD binaries (right-click, update DP).

15. Enable or reinstall the third-party antivirus.
16. Allow clients to upgrade via the automatic client upgrade feature.
17. Test, test, test for a few weeks, then repeat the process in production.

Is the Windows ADK for Windows 10 v1903 installed automatically or do you have to do this manually?
If you have a previous Windows ADK version, you need to uninstall that first, and then install Windows ADK 10 v1903 plus the WinPE Addon for Windows ADK 10 v1903 (then reboot)
Should you upgrade the ADK and WinPE before or after the site upgrade? or does it matter
If you upgrade the ADK prior, the ConfigMgr setup updates the two default boot images for you. But updating boot images is a quick process, and you need to update any custom boot images after the ConfigMgr upgrade anyway, so the order really doesn't matter much.