Explore popular quotes and sayings by an American businessman Kent Beck.
Last updated on November 21, 2024.
Kent Beck is an American software engineer and the creator of extreme programming, a software development methodology that eschews rigid formal specification for a collaborative and iterative design process. Beck was one of the 17 original signatories of the Agile Manifesto, the founding document for agile software development. Extreme and Agile methods are closely associated with Test-Driven Development (TDD), of which Beck is perhaps the leading proponent.
Sheet music, recording, radio, television, cassettes, CD burners, and file sharing have all invalidated, to some extent, the old model of making a living making music.
A rational model of software is to design it quickly - the economic pressure to improvise presents an interesting challenge.
If I'd had a charisma-ectomy in the beginning, XP would have gone nowhere.
Whether you draw diagrams that generate code or you type at a browser, you are coding.
I found out that most programmers don't like to test their software as intensely as I do.
I lived near Santa Cruz for ten years, and the whole time, it bothered me what an exclusionary definition of 'inclusion' was in force. Social censure was applied to those who expressed unpopular or uncomfortable ideas.
There is a strong movement towards increased accountability for software developers and software development organizations.
Organizations want small changes in functionality on a more regular basis. An organization like Flickr deploys a new version of its software every half hour. This is a cycle that feeds on itself.
Agitator and the Agitar Management Dashboard lower the barriers to accountability in software development and increase the value of developer testing.
I used Agitator on some code I had unit-tested, and it made me a better tester. As an Agitar Fellow, I look forward to the leverage of working with an outstanding organization as together we continue to improve the value of developer testing.
Extreme programming is an emotional experience.
My great-grandfather played organ for silent movies. Talkies in, Gramps out.
The problem is, in software design, often the consequences of your decisions don't become apparent for years.
Received wisdom is that if you spend time up front getting the design right, you avoid costs later. But the longer you spend getting the design right, the more your upfront costs are, and the longer it takes for the software to start earning.
We could talk, act, and dress funny. We were excused for socially inappropriate behavior: 'Oh, he's a programmer'. It was all because we knew this technology stuff that other people found completely mystifying.
People are looking for software development that actually does something useful... People are looking for partners who deliver when promised, and at a reasonable and transparent price. I believe that the days of being able to value price software are numbered.
When Pandora doesn't pay, and bars don't pay, and weddings don't pay, and nobody buys CDs or shirts or concert tickets or lessons, then the musician can't make a living making music.
I think it's a combination of technical and social factors that leads to all the defects in deployed software.
There's a huge latent market for software development that's just flat-out honest.
First you learn the value of abstraction, then you learn the cost of abstraction, then you're ready to engineer.
The world is changing, and I believe that, if I want to stay employed as a programmer, I'm going to have to change with it.
One of the advantages of having to live with JUnit for 8 years is now we can look back and see which decisions we made worked nicely and which we would have done differently.
Developer testing is an important step towards accountability. It gives developers a way to demonstrate the quality of the software they produce.
There are musicians who want to make a living making music. There are listeners who want to listen to music. Complicating this relationship is a whole bunch of history: some of the music I want to listen to was made a while ago in a different economy. Some of the models of making a living making music are no longer valid but persist.
The marketing of XP is very deliberate and conscious. Part of it is in co-opting the power of the media; I make sure I'm newsworthy from time to time. Part is in co-opting some of my publisher's ad budget.
Design should be easy in the sense that every step should be obviously and clearly identifiable. Simplify elements to make change simple so you can manage the technical risk.
If testing costs more than not testing, then don't test.
If you're having trouble succeeding, fail.
The system metaphor is a story that everyone--customers, programmers, and managers--can tell about how the system works.
I tell people to start implementing when they are pretty sure there aren't more important stories out there. An iteration's worth of data is worth months of speculation.
Testing is not the point. The point is about responsibility.
Make it work, make it right, make it fast.
Of the four project development variables - scope, cost, time and quality - quality isn't really a free variable. The only possible values are "excellent" and "insanely excellent", depending on whether lives are at stake.
Listening, Testing, Coding, Designing. That's all there is to software. Anyone who tells you different is selling something.
A plan is an example of what could happen, not a prediction of what will happen.
How good the design is doesn't matter near as much as whether the design is getting better or worse. If it is getting better, day by day, I can live with it forever. If it is getting worse, I will die.
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.
I mean, source code in files; how quaint, how seventies!
Sometimes the problem has to mature before the solution can mature.
Responsible Development is the style of development I aspire to now. It can be summarized by answering the question, How would I develop if it were my money? I'm amazed how many theoretical arguments evaporate when faced with this question.
Learning research tells us that the time lag from experiment to feedback is critical.
I'm not a great programmer; I'm just a good programmer with great habits.
Optimism is an occupational hazard of programming; feedback is the treatment.
I've known people who have not mastered their tools who are good programmers, but not a tool master who remained a mediocre programmer.
I don't like the feeling, but I've got to say that a little fear makes me a more focused, more responsible programmer.
The community isn't nearly as afraid as it thinks it is.
Code wants to be simple... I had to give up the idea that I had the perfect vision of the system to which the system had to conform. Instead, I had to accept that I was only the vehicle for the system expressing its own desire for simplicity. My vision could shape initial direction, and my attention to the desires of the code could affect how quickly and how well the system found its desired shape, but the system is riding me much more than I am riding the system.
Responsible Development shares many practices with XP but the roots are different. Responsible Development's values are honesty, transparency, accountability and responsibility. These lead me to pairing, test-first, incremental design, continuous integration and so on because they support the values.