I think this is by far the best, though vague and ambiguous poetry I've ever seen and I loved it!

It puts the technical context of programming in a development cycle into lay context. :) I stumbled upon this lovely piece of work, through CodingHorror's article entitled: Version 1 Sucks, But Ship It Anyway

As we know, There are known knowns. There are things we know we know. We also know There are known unknowns. That is to say We know there are some things We do not know. But there are also unknown unknowns, The ones we don't know We don't know.

Makes me want to keep in mind that knowledge in programming is quite volatile as it comes to real world problems to be solved, and that no accurate solution is definite across a period of time. The unknown is really a part of the process.