Today, searching for phrase "Alcohol Driven Development" using Google gives me just a single hit (to the empty wiki page ), so I dare say that I am the first one who may claim seizing it.
OK, so you could ask if I am a drunkard. I believe I am not – ask my friends if you doubt :)
However when this phrase was used by my colleague, it reminded me something very important related to the style of developing software and now, after years, often being called with trendy word "agile".
So what alcohol driven development means for me?
Definitely not a coding or design session after several drinks or a few pints of beer, although I know a few people who after small dose of alcohol start to think more intensively, or on higher orbit, I would say (this reminds me guild navigators consuming mélange in Frank Herbert’s "Dune").
I would rather follow other way of thoughts. At some moment of software development project, developers establish (or they should at least) closer contact with their customers. Especially if both parties are involved appropriately in the development as they should. People begin to spend a lot of time together – initially only during office hours, but later also they start to meet also after hours, in their private time. Needless to say (especially if duty trips of one party are involved), often during such meetings or "events" an alcohol is drunk. People begin to be more open, they share their thoughts, start listening, learning and understanding their partners. Finally some kind of trust, respect and finally even friendship appears. And guess what: this relationship has fantastic influence on the project.
When in the past the smallest bug in the delivered software caused a huge escalation, now the customer just calls his fellow developer and they quickly resolve the issue together without blaming each other. When in the past the smallest change in the requirements specification caused a lot of frustration, accusations and finally endless renegotiations of the contract, now instead developer just discusses with his partner the influence on the schedule and they together quickly reprioritize some features or a developer may just friendly say that "this is simple man, I will do it for you at the earliest occasion".
I used to work in such conditions – both – starting from distrust, accusation and contract driven development (and the project suffered a lot), but after some (long) time finishing in trust driven environment where we – developers - and our customers became a single band. And then our project turned out to be a huge success. Nothing else changed: people, technology, domain – all stayed the same for all this time. We just established the bond.
When my bosses were asking me to explain what made my project so successful and share best practices with developers from other teams, I had serious problems in convincing them that this was so simple: when you know, understand and respect your customer and vice-versa, then everything becomes much simpler.
So summing up, my minds strayed from alcohol driven development – to trust oriented and friendship driven development.
That’s all folks for today,
Wojtek
P.S. It's difficult to create such environment without face to face meetings. So this is also why huge corporations having "virtual" teams often work so unproductively.