Wednesday, December 15, 2010

End of a Long Year

I don't know about you, but its been a long year. I have been fortunate to be employed, and like most, trying to do the work of several people. I haven't posted much since I got my job on September 15, 2008, but I've been forever grateful for it.

As the year closes, I thought I'd reflect on what I've learned about Quality Software over the past year, what 'software' means these days, and what I learned while looking for a job in the better years - and whether it even applies to those looking for a job now.

So, what have I learned about Quality Software? Well, I believe more than ever that software is considered quality if the core functionality works well. To achieve that, you've got to have patience in the process. As more and more work is done in software by distributed teams - around the world - in different time zones... as individuals with deep knowledge are 'laid off' or quit or take on so much extra work that they don't have time for answers... patience has become a key to ending up with Quality Software. Patience when we can't buy the extra equipment for that test lab I'd really like to have. Patience when I need to learn about India holidays, Chinese holidays, and just as important when those developers or testers in other countries must wait for us to wake up, wait to go home until quite late at night to get the information they need to do their job. A lot of patience and confidence that everyone wants to do a good job. Without patience, I have found that the design is wrong, the development throws it over the wall (I thought we were past that), testing is spotty, no one documents, and customers are frustrated and unsatisfied. I've learned how important patience is.

So how do we, today, answer the question 'what is software'? Three answers come to mind:
1. I believe my experience at the gas station last year was important. Who is the customer? is not just a question about different people. 'Software' is what controls so many devices and machinery in our world. The phone, the car, the appliances. We need a better understanding of how the software needs to understand what hardware does... did you get that? Anyway..
2. Conversely it is also more than ever, about data. As Wikileaks has shown, we are storing lots and lots of things as data, to the point that in some ways the data could be considered the software.
3. Even customer service on the phone is software. And sometimes the inability of the software to allow intelligent conversations to happen for phone support is extremely frustrating to all of us. If I could fix one thing about software, I'd LOVE to fix that. More later.

Finally, there are several entries in this blog from when I was, somewhat passively in better economic times, looking for a job. Are they relevant now? I think so, if only to remind you of what kind of work you'd like to do and bring that with you to the interview. I was lucky enough to start a job on the very day it all fell apart. I got that job because I understood what I needed to be successful, and so did those who were interviewing me at the time. For those of you searching, I wish you the same luck.

No comments: