Finding beauty in software development

I find that a lot of times I get discouraged as a software tester. I suspect James' recent post on quality resonates with most testers. It darn near impossible to sit at a computer for more than fifteen minutes and not get hit with a bug. You don't even have to look for them. They're everywhere.

This week alone I can remember getting tripped up (literally couldn't do something I wanted/needed to do) by bugs in Gmail, IBM developerWorks, Mac Mail and iCal, and MS Money. I didn't pick four of the biggest technology companies I could think of on purpose. Software in general is just really that bad. And those are just the bugs... we'll leave poor design issues out of it.

However, as often as crappy software gets me down, I feel like I run across really beautiful and (arguably) well written software. For example, WordPress has yet to really fail me in any way and I run four blogs. JIRA does just about everything I want, and does it fairly well. It's the only issue tracking tool I've found easy to administrate. The Omni group makes relatively easy to use software, that's both aesthetically pleasing and intuitive (with the possible exception of OmniPlan - oh for a day with the UI designers of that tool). The iPod (one James also mentions) is a central part of my life, and after hours and hours and hours of use I've only ever had it crash once. (A simple reboot fixed it.)

And those are all relatively simple software packages. When I think of the hard stuff, I get even more hope. I've only found ever found one software bug in my 98 Dodge Durango and it was harmless. I know some embedded programmers who write that stuff. There should be more bugs, but there aren't (or at least I don't notice them). FireFox only crashes on me about once a month, and I suspect it's in part because of the crappy code other people write that it has to work with. I run Vista, XP, and OS X everyday - day in and day out. They all crash about once a month. They do more than I'll probably ever know.

I agree with James that many companies don't really care about quality. I've been scanning news headlines for "software testing" for the last two months and there has been a lot of news on Beta programs. Beta - another way of saying we're releasing our crappy software early so we can get to market faster. I agree that the trend is certainly poorer quality software and devices.

However, I also see beauty in software. I see well designed websites (even though there are more poorly designed ones). I see systems that deal with a staggering amount of complexity (and most of the time do it well). I see products that do their job well and are easy to use (along with those that are clearly crap). I see software that helps make my life easier and helps me focus on things that are more important to me.

I want better quality. I want Gmail to show my public appointments to everyone (not just some people). I want Mail to not crash every five hours. I want developerWorks to let me print to a PDF without throwing Java exceptions. And I want Money to not run background processes at 100% of my processor for over 15 minutes. I might also want TiVo, but lucky for me I've never tried it and don't have that addiction yet. I'm eagerly awaiting James' upcoming posts on the topic.