The opinions expressed herein are my own personal opinions and do not represent
my employer's view in anyway.
A month on from starting my new job I have noticed a few changes in my attitudes and practices. Working for an exclusively Microsoft shop in the past hadn’t given me a completely closed minded attitude but it did remove opportunities to work with other things. What I have found since joining ARANZ is the that other options tend to work quite well.
In particular, we use SVN for source control, Fogbugz for issue tracking and work items and CruiseControl.Net for build automation. This combination works well enough for a small team and since the setup was already done a long time ago, I’ve only had to tweak a few things in CCnet and learn how to use SVN. In my previous mind-set as a Microsoft zealot I would have said that complete integration was the logical solution and TFS was the best product for dev teams. I still believe TFS is a great product but for the sort of work we do here and many other larger teams, it’s really not necessary. In fact, I heard at a local user group meeting last night that TradeMe use the same combination of SVN and Fogbugz.
I guess what I’m trying to say is that I’m much more relaxed about using ‘lesser’ products and making do with a lower level of integration. TFS is quite a heavy product. It provides some great benefits but at the cost of freedom and flexibility. Sure you can customize till the cows come home but the old adage of less is more applies I think. Monolithic, heavy weight beasts like TFS take time to learn and understand. Lightweight systems are much easier to understand and tweak – you just have to do a little more of the lifting work yourself.
I’ve also come to notice a few things where Microsoft have dropped the ball. Actually, that’s being kind. With Windows CE/Mobile/Embedded/whatevertheycallitthesedays they have screwed up completely. This is probably old news to most people but I was blissfully unaware how shitty the situation is with mobile development. There is no tooling beyond Visual Studio 2008 unless you want to switch to Phone 7 and it’s useless for many business apps. There is also no easy upgrade path – it’s a complete rewrite for much of an application.
I have my money on Phone 7 being a dead duck within 2 years due to the growth of Andriod as a platform and Microsoft’s lack of haste and clarity. Android works on many types of devices, it’s development tools are fine and free and it’s already the most popular for mobile devices. Google also seems to have more of an emotional investment in this area and I don’t get that feeling from Microsoft. Thanks must go to Apples for coming up with a UX that works on phones. Everyone else that has copied this has done well. Microsoft’s attempt to do something different will leave developers out on a limb with Steve Ballmer holding a saw at the trunk.