At imason, we generally enjoy conversations about a wide variety of topics, whether it be at the water cooler, on an e-mail alias, over lunch, or conversations at our desks. Our Co-CEO, Scott Howlett even hosted some lunch election roundtables where we discussed the issues of the Canadian election, dissected each party's stance on the issues, and heard each other's opinion on whether their platforms would be effective. They were very stimulating conversations.
As readers of my Urban Country blog know, I'm very passionate about Politics and the Environment, so it was a treat for me to have in depth discussions about these things at work where we generally don't engage in these sort of topics.
One topic that has come up a few times over the last few weeks is the conversation about divisive politics. In the United States political system, there is a lot of "us vs. them" or "you're with us or you're against us" or "Republicans vs. Democrats" or "Red States vs. Blue States" or "Capitalist vs. Communist", and the list goes on.
A more recent conversation led to the question of "Agile" vs. "Not Agile" when it comes to project methodologies. At imason, we have our own project methodology, and we try to employ components of other methodologies where we think it will help to improve our process. The way we see it, Agile isn't binary. A methodology can become more agile or less agile simply by tweaking the approach.
I had a great opportunity this spring/summer to work with some very talented developers from ThoughtWorks out in Calgary. They were on the more "Extreme" side of Agile software methodologies (Literally, they use the Extreme Programming (XP) approach developed by Kent Beck). Like any software development methodology, Extreme programming has its advantages and disadvantages. The purpose of this article isn't to delve into such an analysis, but to point out some of the neat aspects of their methodologies that I've taken with me back to Toronto.
First of all, I'm a huge advocate of automated builds and continuous integration. I've been pushing this on all of the projects I've worked on and NAnt has helped us achieve great things in the world of automated deployment. Secondly I am a big fan of the disciplined approach to project management (Mostly from the Scrum methodology), including set daily standup meetings, timeboxing, story cards and story boards.
But perhaps the most interesting aspect of the Agile approach that I've taken away is incorporating "fun" into your project discipline. Some examples include bringing in a box of doughnuts if you break the build, doing pushups if you're late for a meeting, or hanging a rubber chicken around your neck.
At imason, we work hard to dramatically impact our customers and ourselves, and if you can have fun while you're working hard, that's the most important way to achieve success. To me, success isn't measured by what kind of car you drive or how big your house is; it's about spending your day with people you enjoy being around, and doing work that gives you satisfaction. It's about waking up in the morning and not dreading going into work.