Richard suggested that we try this. I look forward to his questions. -- WardCunningham
Some initial rules can be found in WikiInterviews
. Let's get right on with the first experiment.
First of all Ward, thank you so much for Wiki, and for your influence on software development through the patterns movement and ExtremeProgramming
. I'd like to kick off with some initial questions on all three areas, some more serious than others. If your answers demand it, who knows, there may be some follow-ups. We'll work out where to put them as we go, I'm sure.
Thank you for your kind words. Peeking ahead, I see that I have a lot to say to every question. Forgive me if it takes a while to get it out.
It's in the WikiNature
to be patient. Thanks for starting, take your time, it's your Wiki! Feel free to change answers that you can see a way to improve. I'll try hard not to help. I'll only think about follow-up questions (with others) when you've done the first pass through.
I'd be interested to hear more about your reaction when you first unwrapped Smalltalk-80 from Xerox at TektronixInc
, and the months that ensued. What impact did Smalltalk have on your approach to development, looking back? How did it contribute to your relationship with KentBeck
and to the PairProgramming
ideals now popularized by XP? Had you already had positive experience of pairing before Smalltalk came along?
I was struck that Smalltalk used the same (weird to me then) idioms as a large Lisp program that I had been studying. I was also especially impressed that I could open listings in either Smalltalk or Lisp (actually FlavorsLisp?; and yes I was reading listings) to a random page and make sense of them. It was a fresh style that I wanted to master.
About this time, research at TektronixInc was turning bureaucratic. Interest in interactive methods of software development had led us to build our own workstations. AllenWirfsBrock's initial Smalltalk work had been funded, but it wasn't appreciated. I turned evangelist. Kent joined the cause.
We worked on our colleagues by writing programs they found interesting. The technique was simple. Ideas would come up over coffee. We would implement something before coffee the following day. It was great fun. They were writing project plans while we were writing code. Smalltalk started to catch on.
We liked our oddball method but didn't consider how it might be generally useful. We were too busy hyping Smalltalk and getting into patterns. We knew we were on to something though. One day, we asked ourselves what goal we had beyond serving Tektronix. The answer came quickly: change the way software is written.
I notice that MichaelJackson
the "software person's favorite architect" in his recent book. What first prompted your interest in the work of Alexander? How widely was he talked about among software people when you first discovered him? I remember BruceAnderson
being into some of his stuff in the London OODLES group in the eighties. Whom do you see as the key figures in the early patterns movement? Has the patterns emphasis evolved in a different way than you expected back in the 80s?
My long-time friend and colleague BillCroft sent myself, BillJoy and GordonLetwin copies of Alexander's
A Pattern Language soon after it came out. Croft immediately saw its relevance to software. It took me a few more years to see the connection. It was only when I discovered that some folks took to object-oriented programming immediately and others found it mystifying, and I was exploring that distinction, that I turned to Alexander. My then partner in research, KentBeck, brought in a copy of
Notes on the Synthesis of Form which he thought applied. That got me to drag out
A Pattern Language and read it as a model for what we might produce. See HistoryOfPatterns.
Once Kent and I started beating the drum for patterns, we learned that we were not the first. Someone else - was it Yourdon? - had been handing out Alexander with courses he taught. If we can be credited with anything, it is that we kept up the drumming for long enough for the idea to take hold, with the founding of the HillsideGroup the most obvious early landmark.
I gather Wyatt was an important opportunity for you to gain experience of team working in the development of a commercial product. Which parts of the XP puzzle came together there for you? On a wider note, can such complex experience as most of us find development to be under real commercial pressures really be captured in any "method", however well-intentioned?
I spent almost four years developing commercial software for Wyatt. I told my old friends from research that this was field research, which turned out to be not too far from the truth. Mostly, I learned that one cannot savor an interesting problem for months or even days. But 30 minutes of savoring here and there kept me from collapsing under an endless supply of requirements. I learned to never stop paying attention to how the programming effort was going. I truly expected programming to be easy, and when it wasn't I wanted to know why. Usually, it was because we expected more from our codebase every day. Decisions that were expedient one month would become a code smell the next. I insisted that it was our obligation to root out these smells and therefore benefit from our growing experience. See http://c2.com/ppr/episodes.html, WhatIsAnAdvancer.
I've always felt "method" was too strong a word for what I produced. Rather, I think I exposed social facts of development that had been wished away by methodologists. I'm pleased to see agile methodologies promoted, as they are easy to learn and act as a counterpoint to the dehumanizing of our profession. See http://AgileManifesto.org.
Which of the following best describes your reaction when you first heard the phrase "ExtremeProgramming
" used for those unusual combination of programming practices
at the Chrysler C3 project:
- What on earth is that?
- Kent's stolen yet another of my good ideas
- What an incredible name. We are definitely going to change the world of software development.
In the first year of Wiki, I gather that you edited other people's contributions pretty fiercely. How do you think that influenced the culture of Wiki in the early years? Did many people complain and if so, did you restore their text to the original form or simply say "grin and bear it, this is Wiki"? How come so many people still like you and think you're a great guy? At what point did you stop being so proactive with Wiki and what do you think were the consequences of that?
Do you still believe that you were right about DocumentMode
and the deleterious effects of ThreadMode
? Where do you think ThreadMode
has a place? Interviews perhaps?
We talked last year over coffee in Portland about the "RonJeffries
effect" on Wiki (among many other things). Do you think that it may have been possible for Wiki to be the extraordinarily effective "incubator" and "cheap publishing mechanism" for many of the XP ideas without someone like Ron being so prolific? Was it inevitable once XP started to happen that famous patterns people like JamesCoplien
would decide to leave Wiki? Do you take Lenin's "you can't make an omelet without breaking a few eggs" approach here or do you think that the two conversations could have co-existed?
When did you first start to program Wiki? Have you written any unit tests for it yet? Have the XP police been round to see you? Or do they report to you?
Give one (or more) examples of things you have learnt from Wiki that you might otherwise never have known. Is that cool or what?
Lastly, you may have heard of the activities this year of the W
ikiAbductionists (there, you see, they've removed their page again). There are reports that by changing signed contributions they have managed to change people's DNA. How serious do you think the threat is?
Ward, are you going to fill this out a bit more? -- MartinNoutch
You bet. But good questions require good answers. I'm currently caught up in three weeks of traveling, so this will happen slowly. -- WardCunningham
(Feb 9, 2001)
You know, it would be so good to see answers to some of these questions, especially for someone new to the scene like myself who would love an insight into those early impressions. Any chance you could write something into here Ward? -- PaulMitchellGears
(April 10, 2003)
I find it amusing that the above 2003 ping replaced (according to diff):
- ping. (Aug 29, 2002)
- ping. (Sep 23, 2002)
- ping...pingpingping (April 10, 2003)
(August 16, 2004)
Longest 3 weeks of my life :p
Richard asked questions that require thoughtful answers. I'll see if I can't finally muster some more thought. -- WardCunningham
Fair enough, but be careful that you don't fall into the 'it must be complete and perfect before I post' trap. As they say in all those silly cognitive tests, the first answer you think of is probably the right one. -- cwillu
Perhaps Ward just likes to be mysterious. :)
(June 26, 2009)
I just discovered this page, I guess we can conclude that wiki-interviews trail off in the middle
(October 20, 2012)