- We Fail Too Much
- Definitions of Success
- The Standish Group
- Doing the Wrong Things
- Doing the Things Wrong
- Time Goes By, Things Improve
- One Reason: The Civil Engineering Analogy
- Giving Up Hope
- Ignoring Your Mother
- Bridges Are Hard, Software Is Soft
- We Swim in an Ocean of Change
- Accept Change
- Embrace Change
- Capitalize on Change
- A Better Analogy: Evolving Systems
- Summary
Ignoring Your Mother
Another reason that many of us probably stuck with the waterfall is that it seems to follow the advice our mothers gave us: "Never put off until tomorrow what you can do today."
Waiting is procrastinating, and procrastination is bad, right?
Well, not always. I did some work for a company that created security systems for AS400 computers in Java. When I started that project I did not know anything (at all) about AS400s, only a modicum about security, and only the aspects of Java that I had used before—certainly nothing about the nuances of Java on the AS400.
After I had been on the project for a few months, I knew a lot about AS400s, a lot about security, especially as it applies to that particular operating system (OS400), and a lot about Java as it is used in that environment.
Anyone who has coded anything significantly complex will tell you that midway though the coding she became much more knowledgeable about the business she was automating, whatever it was.
Spend six weeks writing code for an embroidery machine and I guarantee you will know more about embroidery afterward than you ever knew (or wanted to know) before. Why not capitalize on this fact, and let what we learn (later) influence and improve the design?
Mom said, "Do not put things off." She was right about that when it comes to some things, maybe most things, but not here. I should put off everything I can, because I will be smarter tomorrow than I am today, in just about every way.
Of course, the key to making that work lies in knowing what you can put off and what you cannot.