InfoQ

Interview

Kent Beck on Implementation Patterns

Interview with Kent Beck by Niclas Nilsson, Floyd Marinescu on Jan 25, 2008

Community
Architecture,
Agile
Topics
Adopting Agile ,
Programming
Tags
OOPSLA 2007 ,
OOPSLA ,
XP ,
Patterns
Summary
Kent Beck is interviewed at OOPSLA 2007 about his new book, "Implementation patterns", the relationship between these patterns and XP, problems when adopting agile and the current status of design patterns.

Bio
Kent Beck's contributions to software development include patterns for software, the rediscovery of test-first programming, the xUnit family of developer testing tools, and Extreme Programming.
I am sitting here with Kent Beck at OOPSLA and we are going to talk a little bit about his new book "Implementation Patterns". So Kent can you tell us about the book?
So why are they described as patterns?
So how was it to dig into yourself and find those rules, find those values and describe them?
Would you like to have a compiler that requires a certain code format, like Python (which is whitespace sensitive), but harder? People hate reading "yet another code style" document when they come to a new place. Everybody would hate the compiler for a few weeks, but then accept it and write production code. Would that be a good idea?
Are the patterns described as a pattern language as well, or if not how come?
So what are the central patterns of this book?
What's the style of the patterns in this book? How did you describe them? Can you elaborate on that?
XP is a rather practice oriented methodology. Can you describe the relationship between implementation patterns and XP and how they work together?
So you're more or less saying that you have to be agile to do agile, but you can't do agile if you are not agile?
So in in most situations when people learn agile, they just learn how to do it, but they don't really change their belief system?
But don't you have to start by what others are doing, not really understanding it? Alistair Cockburn talks about Shu-Ha-Ri levels. You start at the Shu level and work up. Aren't the practices and the pattern stuff a way to get the belief system?
So can you tell us a little bit about how patterns entered the software community in the first place?
What do you think about the current state of describing patterns? Are people are doing it in a good way or is it going a wrong direction currently?
show all  show all

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

Wow. Kent Beck's Answers Are Great! by Michael Finney Posted Jan 26, 2008 1:09 PM
Amazing by Arash Bizhanzadeh Posted Jan 30, 2008 2:35 PM
The Importance of Context by Franco Martinig Posted Feb 4, 2008 7:20 AM
Re: The Importance of Context by Remember Objective Posted Feb 12, 2008 11:52 AM
Re: The Importance of Context by Ilja Preuß Posted Mar 26, 2008 10:04 AM
Kent Back is a SCRUM Monster :) by Sasha Milenkovic Posted Feb 4, 2008 10:24 AM
shuhari by will gage Posted Apr 17, 2009 12:32 PM
Re: shuhari by Olivier Gourment Posted Apr 17, 2009 1:16 PM
  1. Back to top

    Wow. Kent Beck's Answers Are Great!

    Jan 26, 2008 1:09 PM by Michael Finney

    Kent Beck's work changed my life for the better. Sure, others have too. He is a key person who has. Here he does it again.

    Kent Beck comes through in this interview with deep insights about patterns, agile, Extreme Programming, and responsibility. I think this should be listened to more than once.

    Kent Beck is so inspirational in this interview that I allocated hours of precious time to reflect on what I heard. I even wrote a blog about one small yet important part of it at finneycanhelp.blogspot.com/2008/01/xp-principle...

    Note: There are typos in the transcription of the interview. So... listen carefully. :)

    Michael Finney

  2. Back to top

    Amazing

    Jan 30, 2008 2:35 PM by Arash Bizhanzadeh

    This is really amazing. It is not just about the book but more like a philosophical insight to the programming

  3. Back to top

    The Importance of Context

    Feb 4, 2008 7:20 AM by Franco Martinig

    The main point in Kent Beck’s words is that you cannot use software development methods and tools without knowing the context in which you should use them. Every time you find something interesting and new, you should ask yourself why and when you could use it, and why and when you should not use it.

  4. Back to top

    Kent Back is a SCRUM Monster :)

    Feb 4, 2008 10:24 AM by Sasha Milenkovic

    Kent is one of philosophical leaders of our community, and now it is exciting time for our industry. The final goal is to bring computer interaction to final user without using programmers as a middle tier.

    The story is related to religious and political questions, such as being selfish, or being equal. The revolution at the moment is about dropping the concept of metodologies, and accept patterns as replacement. Kent's prior books was really inspiring, and I think this book will be interesting too. I am just afraid of so much patterns if I could ever digest them all. All best to Kent. He and his friends brought us revelation.

  5. Back to top

    Re: The Importance of Context

    Feb 12, 2008 11:52 AM by Remember Objective

    hm, but why for so many years were the main exponents of xP repeating that xP was simply the best way to develop software, regardless of context?

    The new context-driven attitude originates from Kaner/Bach/Pettichord, deep philosophical testers, not developers. Testers trying to throw off parasitic, useless formalism. Thank god for them, but they are still too formal for applications work.

  6. Back to top

    Re: The Importance of Context

    Mar 26, 2008 10:04 AM by Ilja Preuß

    why for so many years were the main exponents of xP repeating that xP was simply the best way to develop software, regardless of context?


    I don't remember that they ever did that.

    Also, to me, XP is at its core not about a method or tools, but about values and principles - which are much less context dependend.

  7. Back to top

    shuhari

    Apr 17, 2009 12:32 PM by will gage

    Kent Beck's answer to the shu ha ri question toward the end was on point -- namely the point that people don't truly learn by aping the rules until they have internalized them and then subsequently learning when to break from the rules. In fact, I have often found it rewarding to learn new techniques or problem domains without exhaustively learning all of the assembled wisdom about that area first. It can be really useful to just start, make your mistakes, form your own opinions first. Then go back and read up on what the experts have already pieced together about X (game programming, gui programming, whatever). At that point, your reading and learning is much more of a rapid sequence of "Aha!" moments because you see clearly why a given pattern works, rather than having to accept it blindly.

  8. Back to top

    Re: shuhari

    Apr 17, 2009 1:16 PM by Olivier Gourment

    I loved the talk. This short piece about Shu-ha-ri was good and certainly fun to watch :) What the Shu-ha-ri reference has brought to the table, was the fact that it takes time to learn and master an art, that you don't teach to a novice the same way as you teach an expert, that you never (and never should) stop learning and perfecting your skills. But Kent is right in saying that the repetition-practice is *just* one technique, among others. If you don't understand why you are using a technique, and nobody is explaining the reason to you, then you won't "get" it.
    There are so many other things Kent says here that make sense, and are well said. This talk is definitely worth hearing.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.