by Paula Bach on September 10, 2007 04:59pm
Developing software has been an engineering discipline with formal methods. The evolution of software methods has ranged from the now outdated waterfall method to formal specification languages with precise semantics. Despite having methodologies, software engineering continues to be difficult. Yet despite having what seems a lack of software engineering methodology, open source software development can produce stable, useful software. In 2002, Fred Brooks gave a talk at CMU discussing the design of software. You may remember Fred Brooks from such publications as The Mythical Man Month and No Silver Bullet. In the talk at CMU, Brooks focuses on the social issues surrounding software engineering. Likewise, Microsoft Research (MSR) recently initiated a new group called Human Interactions in Programming (HIP). This group studies the social aspects of software engineering. Their joke is that they “ build tools as if software were made by people … working together. This quote, taken from the technical report, outlines some social issues software developers experience in their day-to-day work. Another way to look at my dissertation project is as an extension to looking at social issues in software development. While the HIP group at MSR studies human interactions among software developers, I extend that and study the human interactions among software teams (or project members): developers, project managers, and usability experts in both proprietary and open source software development environments. As I mentioned in my last blog, I am studying the role of usability expertise in both software environments through surveys, interviews and observations. I have previously reported on the open source software survey and observations. In this blog, I am reporting on the interviews I conducted internally at Microsoft. I spoke to eleven employees who are working on various projects at MSFT in various roles including program managers, developers and user experience researchers and designers. I spoke to junior and senior staff and well as leads. Program managers are responsible for the feature that their team designs and builds. Developers write code. User experience designers create mockups and give feedback in design meetings and user experience researchers collect field data and conduct usability studies. Travel Interlude I wrote the above section before I left Redmond and now I am back on campus at Penn State. I had to hurry back and drove straight through from Redmond to Minneapolis. We left Redmond in the afternoon and stopped in Spokane for dinner and left at dusk. Spokane looks like it is growing and as such has some money injected into its economy. We drove through the night passing through Idaho and through Montana the next day. We passed through North Dakota late in the afternoon and stopped in Fargo for dinner. After dinner was the biggest rain storm I have ever seen – and I am from Vancouver, Canada where it rains a lot. I was driving southeast to Minneapolis on I-94 and slowed down to 10MPH because the rain was pelting down and blowing so hard across the road that it was like a whiteout. I could barely see five feet ahead. We made it to Minneapolis (avoiding the I-35W bridge area) at about 1AM and checked into our hotel. The next morning we awaked late, had breakfast, did some grocery shopping at a favorite natural food coop called the Wedge. I used to live in Minneapolis when I worked at Unisys and Promedicus--a startup that made decision support systems for physicians that died with many other dotcom startups. It was nice to be back to The Cities. After our deserved travel break we went to Madison, WI to visit an old college buddy of my husband’s. They used to play in a band together. His buddy Frank still plays. We stayed there way longer than planned, but it was fun to catch up. We ended up reaching our next destination really late. We ended up in South Bend, Indiana (home of Notre Dame) when the sun started to rise and the birds began chirping. We were so tired the next day that we forgot things in the hotel, including a credit card! We did not notice it missing until we got to Toledo. Luckily it was the last leg of our trip and we made it back to State College, PA around 11PM and slept in the next morning ready to move back into our townhouse on campus. End of Travel Interlude. Now that I am back on campus, I have had some time to reflect on the interviews. They uncovered a variety of interesting things. Overall the eleven people I interviewed were very enthusiastic about the research and most wanted to see results. Again, I have not analyzed anything formally yet, but all of the people I interviewed mentioned that communicating design changes was very challenging especially when it comes to usability issues. It seems like the biggest challenges relate to power relationships (not their words) among the team members and the ability of the person with usability expertise and training to gain trust with decision makers. A prevailing problem is that some people tend to think they are usability experts even when they are not trained and if they are more pushy or otherwise in a position to make the final decision, usability might be compromised. Of course many other factors weigh into the usability of a product, but overall it seems that the usability experts are being heard one way or another. In comparison to usability in open source, a large proprietary software company has more resources for bringing usability expertise into products, but the social dynamics appear to be as complex as in open source. The only difference may be the characteristics of the dynamics. In my observations online of open source usability discussions, most of the interactions seemed to be devoid of such social dynamics, except for one group about one issue. So in comparison, open source might not have the same kinds of power relationships because the roles are not as differentiated. As I continue to investigate the characteristics of usability expertise I will see what open source interviews turn up. Stay tuned.