On Monday, I started my new job as CTO of NetDoktor.de GmbH. Its the #1 health portal over here in Germany (ala WebMD or Revolution Health in the States). One of my main tasks will be to bring a more agile approach to their software development. As they currently outsource the website development, I once again find myself in the middle of an unequivocally ‘distributed agile environment’.
Currently, there’s not a single developer sitting here in the office to chat with. No going out to grab a quick bite to eat while getting an earful about how poorly specified that new feature request is. Need to get an honest overview of the architecture? I can’t even offer to buy the first round at the local watering hole so as to get the real skinny. Will Skype save my job or become the bane of my existence? Will my frequent flier miles skyrocket? Probably. In fact, I’ve already booked my first flight!
How am I going to manage this? Well, first things first: SVN notifications on commit. How often is the team actually committing their code? What kind of changes are they making? Complete refactorings, small fixes? Next step, slow down and start testing! Long term – Continuous Integration. The real challenge: the entire web application (over 100K lines of code) doesn’t have a single unit test. When I asked the managing director of the offshore company why, he said that his team saw no benefit in writing unit tests for PHP code (read, he saw no benefit in writing unit tests).
I’m completely surrounded by business people and it’s actually quite nice for a change. Hopefully, I’ll be able to share with you some interesting developments in the coming months as I get my arms more completely around both the business and development processes. Stay tuned!