Changing your domain might seem super daunting - not only are you migrating to a new site, but you have a new brand to worry about - fonts, colors, and new imagery... Ohh, man. Also, what will Google and Bing think? They don't know this new duck in the pond. What if no one likes your new brand? Luckily, in this world of amazing machine learning and crazy "smart" Google and Bing, it's actually surprisingly not that hard!
That said, the whole process IS GOING to hurt your SEO to some extent. This is just the nature of the beast. The reason for this isn't actually Google or Bing, though. It's probably because of users! Users recognize brands. Even if you only get 5% or fewer of your visitors from Google who are repeat visitors (ie: they know you), those insta-clicks are extremely powerful, and without them, your CTA will go down a bit. So... you should first reconsider whether changing your name is actually necessary, but don't stress if you REALLY want to change.
So, like I said, doing it with minimal impact isn't actually that hard! Just take it one step at a time, and take it slow. Don't do anything too crazy!
ONLY change your domain at first
To make your update as easy as possible, use the exact same website as possible at first - the application, URL structure, and content. This should be kept intact for 2-3 months after you've moved to the new domain. This can seem back to normal very quickly, in some cases. We're making this easy on Google. You want to change as little as possible and make it EXTREMELY CLEAR to Google (and whoever else) that you only changed your domain name (and/or business name) - and you're actually the same company.
Technical Stuff: Be sure to get a new certificate for your site.
SEO Metadata: You'll definitely want to update your meta titles and descriptions, replacing your brand name.
Content: ONLY replace your logo, trademarks, and business name wherevere it's mentioned. You might also add "[Your company] - Formerly [old name]" in your footer or something... so people know. You can also highlight it on your homepage near the top so that returning users aren't confused and leave.
Make sure people with your URLs go to the new site
This is the most important step - and really the cornerstone of your whole strategy. Keep your old domain active and redirect ALL your content to the new site for 6 months or a year. Make sure they're 301 (permanent) redirects. For example, if you have a blog post at "https://google.com/blog/post-about-something", it'd be 301 redirected to "https://newsite.com/blog/post-about-something". This can be done by a simple update to .htaccess file (Apache) or a web.config (IIS) rewrite rule. These files will also manage your redirect rules if you did more complicated stuff (get your developer friend to help).
Cost: The cost to keep your domain and redirect from it is negligible. On my cheap, shared hosting with GoDaddy, this would only cost me $10-15 for the domain registration. So, it's super cheap and really worth it.
Test it: If you aren't familiar with how to check if a redirect is a 301 redirect (ie: with Chrome Dev Tools), I use this tool for redirect chains: www.redirect-checker.org. One bonus to this tool is it'll show you chains of redirects (which should generally be avoided). This also means you should make sure that whatever page you're redirecting TO is the final, ultimate page on the new site.
Tell Search Engines What Happened
After your migration, make sure to tell Google and Bing you've moved your website (via Google Search Console and Bing Webmaster Tools).
Google Search Console: there are three steps (see resources for more details)
1.) Finish your migration and your 301 redirects.
2.) Add and verify your website with Google Search Console.
3.) Use the change of address tool to update your URL.
4.) Monitor - make sure it gets changed.
Bing Webmaster Tools: (see resources for more details)
1.) Finish your migration
2.) Add and verify your website with Bing Webmaster Tools.
3.) On the old site, use the site move tool (under diagnostics & tools) to update your domain name.
Once your site is all migrated and redirected, you should run some kind of crawler on it. I suggest Screaming Frog if your site is small (it's free for up to 500 pages). There are also some free crawlers around the internet that can give you what you need. You're mostly just looking for errors and SEO issues you forgot to update.
Update your Whole Internet Presence
Don't forget to update your business name and links EVERYWHERE you have control over - this is most important regarding your backlinks, but it can be really worth it to do a lot of outreach to get people to change your links on their sites, especially if they're local-focused. If people are changing their links for you, that's a good signal to Google.
Also remember your social profiles and business listings around the internet, etc... Big, national repositories (like Yelp, YP.com, Google Business, etc) will get updated quickly in Google's eyes.
So... you've waited several months (hopefully!), and now you really want those old, lame first posts you made back when you first started? Well, now you can consider pruning your content. You should review the current traffic, keywords, etc. and make sure each peice of content is not a high-value page. This can be extremely hard (and sometimes enlightening/confusing/fun) if you've never done the research before. However, doing the research (and doing it right), is important because deleting high-value blogs will definitely hurt your SEO. Just take it slow and don't just purge all the "old" content under any circumstances.
If you waited a few months before considering changing your content... then you also have the patience to wait before redesigning your site. This is all in the same vein, where you're not messing with too many things at once. However, if you think things are going okay and you're working on pruning up some dusty old content, then this might also be about the time to start your rebrand.
Configurations for your Web Tech
Don't forget about all the boring admin & backend stuff.
Analytics: Google Analytics, Kissmetrics, Google Tag Manager...
Wordpress/CMS Stuff: Configuration files, hashes, and plugins that reference your domain...
Website monitoring: StatusCake, Uptime Robot, Pingdom, GhostInspector...
Website Search: Google Custom Search, Sajari...
SEO Tools: SEMRush, Moz...
Ad Platforms: AdWords, Facebook Ads, Linkedin Ads, Twitter Ads...
Trends Analysis & the Outcome
Bonus Points: How are you going to track if your SEO is hurt? Hopefully, you've been pulling down your Google Webmaster Tools data so you can tell what keywords or pages are dropping in the SERP with the change. At the very least, you can use Google Analytics to get a higher level view of what happened. In GA, you can see trends of the number of users who came from Organic Search > Google. Compare this to the same time last year if your traffic is seasonal. Compare it to the same time of the month before the change if your traffic is cyclical on a monthly basis.
Double bonus points: Website errors happen. Set up some advanced analytics stuff to track 404 errors and 500 errors - to make sure your site is still usable. It can also notify you of popular old pages that aren't being properly redirected to the new version of the page. Here are some other ideas you can consider. Can you find out if more or less people are scrolling to the bottom of your page than before? Has the bounce rate increased for returning visitors? Are you still getting the same amount of traffic from your metro area? Have any other channels changed much (referrals, social, etc)?