Keep it simple: Simple designs are often the best designs. By keeping things simple, you can reduce complexity and make your software easier to use.
I agree on the keeping it simple. I first learned that principle back in the late 1960's when I think IBM came up with the idea of the KISS METHOD - Keep It Simple, Stupid. This was especially importaant in those days of limited resources like storage and memory and processor power. My first personal computer had a whole 16k of memory and we used the old 5.25" floppy disks. That kind of thinking carried me through my whole career, and I think served well.
Another of my less popular viewpoints that I used in meetings and design sessions late in my career was: 'Do we really NEED to do this sh!t?". This has 'come home to roost' (an old farmer metafore) as my wife and I are 'breaking in' our two-week-old Honda CRV (actually breaking in ourselves to use it). The thing has no keys, just a pocket remote. As long as the remote is in my pocket, the doors unlock themselves. Then, if I have my foot on the brake, I touch a button to start it, no key. And when I come to a stop sign, it turns itself off, then restarts when I hit the accellerator. Using the KISS Method concept, I ask myself "What do I do it it fails to restart?" On our first 'cruise' in it, my wife spent the two hours syncing her phone to it so we could used the GPS software and figuring out how to control the satelite radio. The owner's manual for it is several times the size of the old 'IBM Manual' from which I learned Assembler Language, and far more complicated.
Disaster Recovery = Backup ( Backup ( Your Backup ) )