TITLE: Myth and Patterns AUTHOR: Eugene Wallingford DATE: September 12, 2004 10:38 AM DESC: patterns and XP are myths ----- BODY: Yesterday was an unusual day for PLoP: we didn't have any writers workshops. This year, we squeezed all of the paper sessions into the first two days of the conference, setting aside Saturday for two extended sessions by Norm Kerth and Ward Cunningham. Among their many accomplishments, Norm and Ward are two of the founding fathers of the software patterns community, and their talks commemorated the first PLoP conference ten years ago. Norm led a discussion on myths. I like two of the definitions offered. One person defined a myth as "a story that is so true you can't use the facts to explain it." Richard Gabriel's definition turned on a myth's effects: A myth is "a story capable of generating stories in every person who hears it." Many folks might think that a discussion of myth is out of place at a conference on software development, but this session was spot on at PLoP for two reasons. First, this session celebrated the conference's tenth anniversary, and so stories about its founders and founding were on everyone's mind. The conference's opening session focused on the Genesis Myth of the patterns community, sprinkling facts among the essential truths. Norm's session this morning was more about the Hero's Journey myth, told in various forms by all cultures. More important is the second reason. Science is itself a myth. It is a set of stories that purport to explain how and why the world is. We hold some of these stories true (the Greek theory of atoms) until a better story comes along (Newtonian physics, relativity, quantum mechanics, string theory...). Software folks have their myths, too. Software engineering is a comprehensive one. Extreme programming is a myth, one of a complex set of myths that we call agile software development. Patterns are themselves myths. They are stories we tell about the successful systems we see around us in the world. They have a narrative form and expected components. We use them to help others understand what we think we understand, and we write them to help ourselves understand. I don't worry that these ideas are "just" stories that we tell. They embody our current understanding of the world. We try to use more scientific methods than our forbears in constructing and refining our stories, but we must always keep in mind that they are just that -- stories -- and that we can them. One of the beauties of XP is that Kent Beck and his colleagues chose to create a story with such a challenging premise and the promise of something different. Because it is agile, it is made to be shaped to its environment, retold in as many different forms as there are tellers, as we all work together to find deeper truths about how to build better software better. Deep truths often lie inside stories that are themselves not strictly factual. A classicist who now does software at IBM reminded us of this during the session. I love PLoP. "... as we all work together to find deeper truths ..." is a great segue to Ward's afternoon session, but because I didn't post this last night I will have to wait to tell that story after I get home from the conference. -----