For me the most fun initiative at Directi has been the organizing of weekly Counter-Strike sessions. What started off with a handful of friends playing games on their own machines has quickly turned into a 35+ player event with people from almost every department playing on machines in a large section of the office. From trainees to senior management, everyone can frag the night away.
To scale these events we took a number of steps: having “Game Leads” to act as emcees; setting up simple but effective rules (eg. No drinking and gaming); setting up all workstations with the proper peripherals; and logging seat assignment. These policies came about through several iterations using the number of post-session complaints by the owners of those workstations as a measure of success. Now there are zero complaints and more gamers than ever before. Iterative design works!
At Directi we take a similar approach to software development. Each project team holds weekly sessions to discuss progress on our projects. Such short iterative cycles go a long way in minimizing time wasted on useless features. This retrospection is recursive and can be applied by smaller teams on shorter cycles such as daily stand-up meetings, or the opposite, briefings on monthly basis with people from other departments to share a high level project scope.
Using these techniques our software products are bound to be just as successful as our Counter-Strike frag fests!