Integrating Usability and Software Engineering

Usability engineering methodology is currently optimized for the needs of commercial software development. Adaptation for Free Software still needs creative work but has great potential.

The last two days I attended a workshop organized by the GI on the integration of usability engineering and software engineering. It was pretty interesting and I got a bundle of new ideas from it.

The focus of the workshop was mainly on the needs of commercial projects and how to support them with usability engineering. I was – of course – trying to add the open source-Flavor to the discussions. But I assume that most of the participants rather thought of me as some strange fellow with crude ideas, addressing problems closed source projects do not have.

On the other hand: I once more understood that open source – or better: community driven projects – have great potential of achieving an outstanding user-experience. We just have to find better ways how to integrate our community into the development of the open source projects. Open source has always profited from the community. So far mainly because of technically gifted people contributing to the projects. If we find ways to activate the potential of the much greater number of “ordinary” users for optimizing the user-experience, we can not only produce software that has less bugs, but also software that is more usable.

Usability engineering methods are – at the moment – basically optimized for the needs of commercial software development. On the other hand, certain key-aspects of open source development are ideal for usability engineering. “Release early and often” is just another form of prototyping – a key-element of the user-centered-design (UCD) process. Our communities already provide – sometime disturbingly honest – feedback to us: another key-element of the UCD process. We just do not know yet how to bundle and activate it for the further development.