The Three-step Sequence: Incorrect Assumptions and Experience
the obvious … is never seen until someone expresses it simply. – Kahlil Gibran
The preface of Object Oriented Software Construction literally introduced me to the three-step sequence:
the well-known three-step sequence of reactions that meets the introduction of a new methodological principle:
(1) “it’s trivial”;
(2) “it cannot work”;
(3) “that’s how I did it all along anyway”.(The order may vary.) – Bertrand Meyer
Naturally people consider themselves smart, which sometimes translates into knowing everything, and these three reactions are probably a manifestation of thinking you’re overly enlightened. If we put ego aside – along with our natural predisposition for being lazy (trying to avoiding learning new things) – we often change our views altogether.
Looking back at my technological naivety: I was once wrongly convinced that client-side languages would never work and server-side languages / frameworks would dominate (until I really learned JavaScript), I had also mistakenly assumed that I was already doing TDD (until being introduced to the concept of Mocking), and I even thought that HTML table based design was the future (until I really learned CSS). With a little bit of knowledge and some experience I changed my views altogether.
Reflecting on these incorrect assumptions and decisions promotes growth – with every experience we grow. Which of my latest assumptions / reactions will change over time?