Having a real mode operating system (DOS) means that an errant pointer in your program could (and often did) crash the operating system requiring a reboot. Worse, it would scramble your hard disk.
My usual practice was to immediately reboot on a system crash. This, of course, made for slow development.
With the advent of protected mode (DOS extenders, OS/2), this ceased being a problem. It greatly speeded up development, and protected mode found many more bugs more quickly than overt crashes did - and with a protected mode debugger it even told you where the bug was!
I shifted all development to protected mode systems, and only as the last step would port the program to DOS.
1. A large hires screen so I can see lots of context
2. Lots of disk space
3. Online documentation available
4. Protected mode operating system
5. Github
6. Collaboration with people all over the world
The productivity destroyers:
1. social media