Paul Graham says in his foreword to the book Founders at Work that he did some of his best programming wearing only a towel. He says how one of the reasons startup companies can kick big businesses’ asses is that they’re not wasting time trying to look professional.
Wearing suits, filling out time sheets, and writing UML Sequence Diagrams are all time sinks that make it look like you’re doing work. Without these, people are spending more energy actually doing work. Without these, people need to actually do work to seem useful. If there are no suits, no time sheets, and no UML, then people who aren’t accomplishing anything stick out more.
For example, most people shouldn’t be updating Facebook when they’re at work, but most people do. So what happens? You get people who minimize Facebook when Boss is approaching, and look busy until they can get back to their task. But wouldn’t it be better for everyone if you just finished updating your Facebook and got back to work, knowing that if Boss saw you updating it, he wouldn’t care since on average you’re a productive mofo? Not that Facebook doesn’t sap productivity, it’s just that if you’re feeling unproductive, then staring blankly at code is probably even worse.
Unfortunately, being unprofessional only helps so much. Being unprofessional to customers will make them distrust you, and wearing a towel to the office might not make you a better programmer. Unless it’s a caffeinated towel or something, which would be awesome.