If you have time to do that it is great for you. But most people are application programmers who should be doing programs for end users. I do not understand why we are supposed to stop doing our job and start redefining how we build SW?