# Kent Beck

Kent Beck (born 1961) is an American software engineer and the creator of the Extreme Programming and Test Driven Development software development methodologies, also named agile software development. Beck was one of the 17 original signatories of the Agile Manifesto in 2001.

## Quotes

* I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby.
** Kent Beck As cited in: Giles Bowkett (2007) "Smalltalk, Outside The Ivory Tower?". at Giles Bowkett.blogspot.com July 15, 2007
* I'm not a great programmer; I'm just a good programmer with great habits.
** Kent Beck in: Martin Fowler, Kent Beck, John Brant (2012) Refactoring: Improving the Design of Existing Code.

### Refactoring: Improving the Design of Existing Code, 1999

Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts (1999) Refactoring: Improving the Design of Existing Code. Addison-Wesley.
* When you find you have to add a feature to a program, and the program's code is not structured in a convenient way to add the feature, first refactor the program to make it easy to add the feature, then add the feature.
** p. 7
* Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
** p. 15
* Refactoring (noun) : a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing the observable behavior of the software. To refactor (verb) : to restructure software by applying a series of refactorings without changing the observable behavior of the software.
** p. 33-43 as cited in: Militiadis Lytras, Patricia Ordóñez de Pablos, Ernesto Damiani (2011) Semantic Web Personalization and Context Awareness. p. 111
* Often you'll see the same three or four data items together in lots of places: fields in a couple of classes, parameters in many method signatures. Bunches of data that hang around together really ought to be made into their own object.
** p. 81
* When you feel the need to write a comment, first try to refactor the code so that any comment becomes superfluous.
** p. 88
* The key is to test the areas that you are most worried about going wrong. That way you get the most benefit for your testing effort. It is better to write and run incomplete tests than not to run complete tests
** p. 98.

### Extreme Programming Explained (2000)

Kent Beck (2000) Extreme programming explained: embrace change ISBN 9780201616415
* The new concept of Extreme Programming (XP) is gaining more and more acceptance, partially because it is controversial, but primarily because it is particularly well-suited to help the small software development team succeed... XP is controversial, many software development sacred cows don't make the cut in XP; it forces practitioners to take a fresh look at how software is developed.
** Abstract
* The business changes. The technology changes. The team changes. The team members change. The problem isn't change, per se, because change is going to happen; the problem, rather, is the inability to cope with change when it comes.
** p. 28
* Optimism is an occupational hazard of programming: feedback is the treatment.
** p. 31

## About Kent Beck

* In the months before I made wiki, we had been having an argument. I think Kent Beck and I were on one side. People who had a lot of faith in the prevailing dogma of software engineering were on the other side. We said, "Collective code ownership is good." They said, "That's ridiculous. You'll never get responsibility. You'll never get quality if you don't have responsibility. And the only way you'll get responsibility is ownership. You have to pin the bugs back on somebody if you want them to ever rise above producing bugs." And I said, "Well that's wrong."
** Ward Cunningham (2003) "Collective Ownership of Code and Text : A Conversation with Ward Cunningham" Part II (1 December 2003)