The hero methodology
Confessions of a Samurai Coder describes an experience probably every developer has had. Struck with a vision for improvements to the (currently working) system, you jump into a late-night battle of systemic, structural changes… which do not work in the end. What really happened? Was it an impure vision? Did it require a more strategic rather than heroic effort? Was it just too complicated? We can’t really tell from the post, but the imagery - the hero fighting through the jungle of code - is as familiar as the keyboard to many of us.
Some argue that a software development process is either broken or nonexistent when heroic efforts on the parts of individuals are required to complete the project, rescue it from certain death, or even make simple changes. In this view, managability is paramount - the organization is a giant machine and musn’t rely on the efforts and talents of specific individuals. While this may be appropriate for some things, the very intangible nature of software requires a heroic comprehension of the system. Software design is not like a bridge or a house - you cannot stand back and see the big picture of a software system with your own layman’s eyes. No pictures or abstract representations adequately translate software into structures we humans have evolved to comprehend and reason intuitively about.
Now consider this experience of Trey Harrison, lone heroic developer. Upon discovering his product was being pirated, did he get a lawyer and try to crush them? No, he decided to email them and ask nicely that they stop. They replied:
We appreciate your comments and understand the role of developers , we only released it so many people who may not have access or privileges could try this and learn. Hopefully its given more global coverage. Apologies for any grievance it may have caused. We also noted your comments and will not release this again. Good Luck and best wishes for future developement.
Now one lesson to take from that could be that we can all just get along if we’re nice. But if his product was one among many of a large faceless entity, it seems unlikely that a similar email could get the same result. In this case, having a personality - a hero - associated with the product provides yet another benefit: people identify with people more than things, even geeks. People personify things and entities, like Steve Jobs as Apple, Bill Gates as Microsoft, Linus Torvalds as Linux, George W. Bush as the United States. And when there is no accessible personality for the entity, it appears abstract and soul-less. Which it is, when no individual feels ownership or is responsible. When an organization needs to shield employees from customers and “speak with one voice,” that one voice is not an individual human voice. We recognize that and we don’t like it.