In Batman Begins, Alfred Pennyworth said, “Why do we fall, sir? So that we might learn to pick ourselves up again.” Although this line sounds good, it fails to capture the real reason for the fall. We fall because we act on some incorrect premises. We have made bad assumptions about the situation; acting on those assumptions resulted in a fall. Think about any fall you have had. Stubbed your toe? Embarrassed yourself by something you said to your friend? The program you wrote fail to work properly for your customer? In all these instances, you mistakenly assumed some untrue things about the situation. You assumed that you had a clear path to walk. You assumed your friend would react more understandingly. You assumed that you had found all the errors in your code.
Although Pennyworth’s statement does not really explain why we fall, it points out a very important fact—we should learn from our falls. What should we learn? We should learn which of our premises we need to change. The fall gives us the opportunity to examine our premises and make adjustments. If we realize that acting on incorrect premises or bad assumptions caused our fall, we then can search for better premises to use in the future. We must then adjust our premises or we may fall again in much the same way.
After you pick yourself up from your next fall, take a moment to think about what you assumed prior to the fall. Determine more appropriate assumptions and then move forward with confidence that your previous assumption will not cause you to fall again. At the same time, realize that other assumptions may still cause you to fall again and prepare yourself to learn from future falls, as well.
Design
When you work on a solution to a problem, you should first aim at creating something that works. Concentrate on doing it right. Include everything that comes to mind in your design and make it all work together. After you have a design that works, that accomplishes your desired end, then go about the business of making it fast, making it lean, making it fit.
Once you have made it right, you will want to eliminate everything that does not directly help your design accomplish its purpose. This includes works of art as well as works of engineering. That book you wrote? Remove all that does not help the story. That painting you want to do? Remove all that does not portray the message of your work. That program you wrote? Take out the bells and whistles that a user will never use. That life you live? Take out the clutter and excess action. This process make take some time. The time you spend will make your efforts worthwhile.
Strive to make every one of your designs a focused piece of work. Make it right, make it strong, make it clear, make it simple, make it meaningful. Nobody will misunderstand your design when you do that.