Of course, this is a different ball game when you are discussing with someone who also has programming / technical skills, for example, project managers with programming skills. You can explain certain decisions, troubles, and imperfections to them and they will get it. But someone who has no experience in the field will just make a negative assumption and run with it.