by Tim Van de Walle
On any given day when you enter “Building 2″ at Findaway World, you’re likely to find a couple of people playing FIFA on the Xbox that is hooked up to a projector in our common area. There may be a few others watching the game and providing play by play, color commentary, and tactical advice. It looks a bit like a college dormitory on the surface, but dig a little deeper and there’s more going on.
We’ve held several tournaments in the past year using the tournament mode in the game. The tournament is great as it keeps track of all of the scoring, standings, injuries, and red cards. However, it has one annoying feature that we couldn’t overcome. We had to play our games in a strict order dictated by the Xbox, and the tournament often got held up waiting for two teams to play (yes, we have to work sometimes).
So, now we have a dilemma: we want to have all of the features of FIFA Xbox tournaments, but we want to play the games on our own time schedule. Well, what is a former software developer turned product manager surrounded by a team of web developers supposed to do? Build a league management web app of course. “There must be something already done that you can use. Why are you wasting your time? Why not just use Sharepoint?”, you are saying. There isn’t (shockingly), I’m not (and besides it’s my time, not our time), and it’s not cool enough (I’m a Mac user and I would say something more, but this is a family blog).
Nobody asked me to do this, but given that I’m supposed to be a product manager for some of our company’s web applications, I figured this would be a good chance for me to learn about the development process and technology on a deeper level. We host all of our product source on Github, which makes code browsing and sharing crazily simple, so I had easy access to a framework that I could build off of and gain a deeper understanding of the technical choices we had made.
After a few nights at home and a little bit of weekend time, I had a sufficient league manager that we could use with all of the features we required: keeping track of the schedule/results, managing scoring information, and tracking injuries and red cards. I let the group know, pushed the code to Github and got it set up on an internal server. It is far from perfect. There are known bugs, there is no own-goal accounting (we adopted a business rule instead), I had to quickly add a feature to support player trades, and the code is mostly a giant hack.
Perfection however, was never the point (although the engineer in me cringes a little bit). In this small project I was able to live a miniature version of delivering a web application to the marketplace. I tried to display some of the virtues and vices that I would like to see Findaway World adopt in product development:
- Identify a market need and assess the competitive landscape
- Borrow liberally from others where appropriate
- Get to market quickly with something that is less than perfect, but solves the main problem
- Respond quickly to market feedback and iterate
I am also hoping that I’ve created a playground for others on the team to jump in and experiment with. I used a few new items in the implementation, and there’s certainly a lot of room for improvement.
We have big plans for Version 2.0, so I know that I’ll have plenty of room for learning in the future. As to why we are playing video games at work at all, that’s another post.