Kevlin Henney, Patterns, Programming, Practice and Process

Kevlin Henney

Biography: Kevlin Henney

Kevlin is an independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for various magazines and web sites, including Better Software, The Register, Application Development Advisor, Java Report and the C/C++ Users Journal. Kevlin is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of the 97 Things Every Programmer Should Know site and book.

Software passion: Caring about how things work and why.

Presentation: "A Question of Craftsmanship"

Track: AGILE PRACTICES / Time: Monday 10:15 - 11:15 / Location: Rytmisk Sal, Musikhuset

Although a great deal of the enthusiasm for Agile development initially grew from software developers, much of the current focus in Agile circles has moved to on organisational aspects, product management and soft skills. Craftsmanship has long been a quality and a metaphor applied to software development, but more recently software craftsmanship has emerged as a more explicit movement and branding focused on reclaiming and re-emphasising the importance of the detail, of how to code and how to do it well. There are many different perspectives on what the craftsmanship metaphor implies and what benefits and liabilities it may have. This session lays out and explores the motivation, implications, pros and cons of a craftsmanship view of software development.
 
Keywords: Software Craftsmanship, Software Engineering, Professionalism, Agile Development, Skills, Practice
 
Target Audience: Agilistas, programmers and anyone with an interest in the practice of software development will find something of interest in this talk.

Workshop: "A Day of Deliberate Practice"

Track: TRAINING: AGILE THURSDAY / Time: Thursday 09:00 - 16:00 / Location: Trifork 2

How do you develop expertise? Peter Norvig writes: "The key is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again."

For a developer, deliberate practice means trying new things, trying old things with a view to making them fresh and trying to move from accidental practice to intentional discipline. Deliberate practice improves technical agility through increased self awareness.

During the day we will practice reflecting on what we do, working together and developing software, for which we will be using CyberDojo, an innovative, collaborative, browser based environment.  We are going to have fun - don't forget to bring a laptop!

Keywords: Expertise, Skill, Deliberate Practice, Agile Development, Craftsmanship, Hands-on, Dojo
Target audience: Any programmer (past, present or future) who would like to reflect on, improve and practice their practice of programming