Skip to main content
View by: Most Recent | Topic | Community | Webloggers   
Monthly Archives:    

Blogs by topic: Extreme Programming

• Accessibility • Ajax • Blogging • Business • Community 
• Databases • Deployment • Distributed • Eclipse • Education 
• EJB • Extreme Programming • Games • GlassFish • Grid 
• GUI • IDE • Instant Messaging • J2EE • J2ME 
• J2SE • Jakarta • JavaFX • JavaOne • Jini 
• JSP • JSR • JXTA • LDAP • Linux 
• Mobility • NetBeans • Open Source • OpenSolaris • OSGi 
• P2P • Patterns • Performance • Porting • Programming 
• Research • RMI • RSS Feeds • Search • Security 
• Servlets • Struts • Swing • Testing • Tools 
• Virtual Machine • Web Applications • Web Design • Web Development Tools • Web Services and XML 

Extreme Programming

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 Tutorials Feb. 28 - Research papers Educators' Symposium
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. 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: Daily: variety Medium-term: cleanup projects Gold cards (explicitly scheduled 'free time') Slack Rick Mugridge,...
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. Tensions: Stable APIs vs. agile change General features vs. "Do the simplest thing that could possibly work" Frameworks vs...
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 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: MyRowFixture first last status() Alexander the Great ok Alexander the Mediocre unknown Winnie the Pooh lagging Each row represents a domain object of some sort. The columns have inputs and outputs, as for ColumnFixtures. Data and Abstract Methods First, I'...
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: MyCalculatorFixture x y plus() 0 2 2 1 1 2 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
C# Fit 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 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. Fields 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. Actor holds...
on Jun 13, 2005
Fixture: Fields and Two Helper Classes There's a Map summary that accumulates things like the "run date." I don't know why the top-level Fixture has this, but it does. The fixture fit.Summary walks through this table and gives summary statistics. There's a field counts that has counts of tests passed, failed, and exceptions/errors. The Counts class is just a data bag for these things. When a...
on Jun 3, 2005
Parse First I want to chase down a couple oddities in what I saw last time. It boils down to these two tests: // This test shows offset isn't applied the way I expected   public void testOffset() throws Exception {        int offsetToData = 2;        Parse p = new Parse(       ...
on Jun 2, 2005