Presentation: "Software Patterns and Quality: Can Patterns Help Quality?"

Time: Wednesday 14:15 - 15:15

Location: Olympic

Abstract:

A software pattern is an abstract repeatable solution to a commonly occurring problem that arises under a certain context and forces that derive the solution. Patterns help people involved in the software community to share experience-based, proven solutions. They also help develop software; manage processes, projects, and organizations; and with people communicating more efficiently and effectively.

Quite often when we talk about patterns, you hear mention of its QWAN ("Quality Without A Name"). QWAN is "the quality" that imparts incommunicable beauty and immeasurable value to a structure. Christopher Alexander, who has highly influenced the patterns community, proposes the existence of an objective quality of aesthetic beauty that is universally recognizable. He claims there are certain timeless attributes and properties which are considered beautiful and aesthetically pleasing to all people in all cultures (not just "in the eye of the beholder"). It is these fundamental properties which combine to generate the QWAN, and which make a structure feel "whole" and "alive".

Software Patterns in general are all about quality. For example, the GoF patterns are about building quality reusable object-oriented systems. Sometimes quality can be seen as external attributes of the system – how does it look, how does it feel, and how cool is it (i.e. the iPod). There are also many other internal qualities of an architecture that can be much harder to measure such as non functional requirements. For example, how secure is the system, how reusable is it, how hard is it to change, etc. This talk will look at Patterns and Quality and describe ways in which Patterns have helped weave quality into our Software Architectures.

Joseph Yoder, Architect and Pattern Author

 Joseph  Yoder

Joseph Yoder is a founder and principle of The Refactory, Inc., a company focused on software architecture, design, implementation, consulting and mentoring on all facets of software development. Joseph is an international speaker and pattern author and long standing member of The Hillside Group, a group dedicated to improving the quality of software development. He is co-author of the Big Ball of Mud pattern, which illuminates many fallacies in the approach to software architecture. Joseph has chaired the Pattern Languages of Programming Conference (PLoP), as well as presented tutorials and talks at conferences such as JAOO, OOPSLA and ECOOP.

Joe currently resides in Urbana, Illinois where he oversees a team of developers who have constructed many systems based on enterprise architecture using the .NET environment. Other projects involve working in both the Java and .NET environments deploying Domain-Specific Languages for clients. Joe thinks software is still too hard to change. He wants do something about this and believes that with good patterns and by putting the ability to change software into the hands of the people with the domain knowledge seems to be some promising avenues to solve this problem.