Product Maintenance
It's been almost two months since I started working at Eau de Web, and I've been mostly busy with updating a couple of old Zope-based web apps. That's not much fun, because I have to be careful not to break existing functionality (there are no unit tests) and I'm itching to clean up or rewrite large chunks of them. Zope itself is not the most modern of frameworks, with some nasty quirks and design flaws - I'd much rather work with one of the sexy new lightweight modular Python web frameworks (Django, Pylons, TurboGears). There's also Naaya, which is our primary product – it's a great CMS, but it was built without much regard to code tidyness, unit tests or documentation.
These products we're working on are valuable pieces of code; they work and people use them, and they pay good money to have them maintained, so it makes sense to work on them. Rewriting the programs from scratch is a bad idea (Joel Spolsky has a great article on this), the best thing we can do is incrementally fix and improve them. For Naaya we've started to write unit tests, a packaging system and some documentation; hopefully, in a couple of months it will be in much better shape.