Interesting article in the SD Times - "agile software development processes are in use at 14 percent of North American and European enterprises" and "Another 19 percent of enterprises are either interested in adopting agile or already planning to do so, the survey found."
It's always a little hard to know how to interpret such statistics. I'm pretty sure agile methods aren't being used in 14 to...
on Mar 27, 2006
Tom Peters' blog points to a Fortune article on the origin of cubicles. Suffice it to say that like so many things, the reality didn't quite reach what the vision offered.
A couple interesting quotes:
Robert Propst invented nothing so destructive. Yet before he died in 2000, he lamented his unwitting contribution to what he called "monolithic insanity."
As Steelcase, Knoll, and Haworth...
on Mar 22, 2006
How can we write tests that serve as specifications?
I've tried to create guidelines capturing what I do to improve Fit tests.
on Jan 31, 2006
Deadlines for some submissions to the Agile 2006 conference are coming soon. The conference itself will be in Minneapolis, MN, July 23-28.
January 31 - (next Tuesday!)
Discovery Sessions - e.g., workshops
Experience Reports - just a 2-page preliminary submission now; committee will work with you
Hands-On Sessions - e.g., Fit Fest
Feb. 28 -
on Jan 28, 2006
Elliotte Rusty Harold
has touched off a small war in his response to Martin Fowler's recent entry on so-called Humane Interfaces.
One facet of the debate is an example comparing the equivalent "List" classes from Ruby (Array) and Java (java.util.List). Java's list class has 25 methods while Ruby's has 78 methods. Martin uses that fact to conclude that Ruby's list class is somehow more "humane...
on Dec 7, 2005
When you first learn how to play pool, you hit the ball with the stick and hope something falls in. After a while, you learn that really playing requires you to call your shot, and then make it.
Agile methods build in this same "call-your-shot" dynamic. Each iteration, we make a prediction about what features will be present, and put them in. Every day, if we do Scrum-style standups, we'll say...
on Nov 17, 2005
If you're in the Portland Oregon area (or can be:), you might be interested in this workshop with our colleagues Diana Larsen, Esther Derby, and Ken Schwaber:
"The Secrets of Agile Teamwork: Beyond Technical Skills"
Dec. 6-8, 2005, Portland OR USA
on Oct 10, 2005
"The Roots of Lean. Training Within Industry: The Origin of Japanese Management and Kaizen", by Jim Huntziger. www.lean.org/Community/Registered/ ArticleDocuments/Roots%20of%20Lean%20-%20TWI.pdf
Tom Poppendieck pointed this out on one of the lists. It's an article on how a WWII effort called "Training Within Industry" was the basis for the "kaizen" continuous improvement approach in the Toyota...
on Sep 3, 2005
From Chris Crawford on Game Design:
"But there's one word, a German word, that we haven't yet stolen that should be high on our list of targets: schwerpunkt. It means 'focal point' or 'concentration of effort point' or 'central point of attack.' It's a beautiful word because it expresses an idea that we just don't have in English: the notion that, in any effort, you may have many necessary tasks...
on Sep 2, 2005
Random notes from Open Space
Overheard: "Whenever I've been late, I've been yelled at by management. One time, we actually pulled it together and finished early. The president called me - not to praise me, but to say, 'You sandbagged me.'"
Is XP Sustainable?
Some things people do:
Medium-term: cleanup projects
Gold cards (explicitly scheduled 'free time')
on Aug 27, 2005
Jeff Sutherland on Advanced Scrum
"Better, faster, cooler." If this is interesting, see Jeff's paper. I made very quick notes but it's an interesting extension of the Scrum work and I plan to give it more study.
Scrum is out of development and into the whole company. This approach is for experienced ScrumMasters/developers only. See Lawrence Leach: "Eight Secrets to Supercharge Project...
on Aug 26, 2005
More from the Agile 05 conference...
Delivering APIs in an Agile Context, John Major
John Major described a project that was doing custom programming of lab workflows as part of the Human Genome Project. This was an environment with lots of churn: biology, instruments, J2EE.
Stable APIs vs. agile change
General features vs. "Do the simplest thing that could possibly work"
on Aug 24, 2005
The Agile '05 conference was July 24-29, 2005, in Denver, Colorado, USA. There were about ten or twelve tracks at all times, so this report is necessarily only a limited bit. Usually I teach, but this time I was an organizer so I got to be more like an attendee in some ways.
Brian Marick and Bob Martin Keynote: Where were we, where are we, where are we going?
Brian Marick: We have different...
on Aug 23, 2005
I left Agile 2005 with that same excited feeling I got from Xp Universes and 16 bucks down...
Openspace is brilliant! Yet another example of people over process, you can sit down with 12 folks (including Kent Beck), with the conference sold out.
I enjoyed the keynote too, and having heard them speak before, expected it to be top notch. My favorite talk had to be Tim Lister's "More Things...
on Aug 3, 2005
Fit for Developing Software, by Rick Mugridge and Ward Cunningham.
[My bias disclosure - I know both Rick & Ward, I was a reviewer, and
I've written for their publisher myself. This review is substantially as posted on the agile-testing group.]
Fit (see http://fit.c2.com) is a testing framework that Ward Cunningham developed. A test author writes tests as tables in a document that can be...
on Jul 8, 2005
A RowFixture is used to test that a set of items is as expected. The fixture flags surplus or missing items.
They look like this:
Each row represents a domain object of some sort. The columns have inputs and outputs, as for ColumnFixtures.
Data and Abstract Methods
on Jun 25, 2005
ColumnFixture is an easy fixture to understand from the user's point of view: each row is a test case, with some columns being inputs, and others being outputs:
doRows() - Capture the Header Row
Method doRows() calls bind() to peel off the header row, then processes the rest of the table. Bind() creates an array of TypeAdapters, one per column...
on Jun 24, 2005
JUnit 4 is out for JDK 1.5. Gunjan Doshi summarizes the changes here.
It uses the JDK 1.5 "attribute" feature, so you label tests with "@Test" rather than following the convention of naming them "testSomething()".
on Jun 15, 2005
I've gotten some mail letting me know that the C# Fit has forked a bit - there's a newer version that's the regular Fit distribution, and an older/modified version that's part of Fitnesse. I was having trouble extending the Fitnesse version. There's an effort to do some unification work this summer; that should help.
TypeAdapter exists to give a common interface to types, so...
on Jun 14, 2005
Wow - this one is a lot cleaner than I expected. I had tried overriding the C# version and had all kinds of grief. This version is straightforward and extensible.
The class has three fields:
cells - a Parse
actor - a Fixture
empty - an array of Class
Cells holds the list of cells for this row. It's used by the action methods (such as enter()) to pull out data from the row.
on Jun 13, 2005