Nat Pryce is a co-author of Growing Object-Oriented Software Guided by Tests. An early adopter of XP, he has written or contributed to several open source libraries and tools that support TDD and was one of the founding organizers of the London XP Day conference. He works programmer, architect, trainer, and consultant in a variety of industries, including e-commerce, media, telecoms, finance, retail and marketing communications. He has delivered business-critical systems that range from embedded devices to large compute farms supporting global business.
Programmers often use figurative metaphors to help others understand their novel designs. Research by cognitive linguists, such as George Lakoff, shows that metaphors are more fundamental to the way we think: the only way we can conceive of and communicate about abstract concepts is to relate them, by metaphor, to our physical selves. And you don't get much more abstract than software! We usually do not notice the metaphors we are using when describing software. However, careless use of metaphor can hinder how we design software, communicate about software design and organise ourselves to collaborate on software development. If we cannot avoid metaphor we must use it to our advantage and avoid its pitfalls. I'll share some of my own experiences of metaphor on software projects, both successful and unsuccessful.
Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.