Looks great and a good explanation as to the why. It is important to note, though, that not all project require formal methods. As explained, it is slow where sometimes time-to-market is way more important when you’re building an online marketing dashboard, for example. For mission-critical code, such as a global financial OS or space rocket controls, you better verify and be sure the code works. There seem to be opposing ideas on agile vs formal, but both have their place in my opinion.