Skip to content

XP123

Exploring Extreme Programming

Menu

Primary menu

  • Home
  • Refactoring Workshop
  • Start Here
    • Comics
    • TDD: Test-Driven Development
    • Refactoring
    • User Stories
    • Dungeons & Patterns
  • Update
  • About
  • Contact

Tag Archives: XPlorations

Evolutionary Design: Techniques and Example

Posted on July 3, 2020 by Bill Wake

Evolutionary design is a strategy to enable incremental delivery of capabilities. Consider two delivery strategies. In one, we plan everything we need, develop, then deliver when everything is ready. In the other, an incremental strategy, we first deliver a minimal Continue reading Evolutionary Design: Techniques and Example→

Posted in xp123.com | Tagged customer, design, programmer, XPlorations

Refactoring and Generalization in TDD

Posted on May 21, 2020 by Bill Wake

This article (originally published in Better Software) explores generalization in TDD. The basic notion is that refactoring sets out to not change the behavior of code for any of its inputs, but TDD sets out to change behavior (in the Continue reading Refactoring and Generalization in TDD→

Posted in xp123.com | Tagged programmer, refactoring, tdd, XPlorations

Home-Grown Refactorings – Be Careful!

Posted on April 28, 2020 by Bill Wake

When you clean up code, you often need refactorings that aren’t in any tool, and aren’t in Martin Fowler’s Refactoring catalog. You’re on your own. When this happens, think like a language lawyer and a logician. Language Lawyer and Logician Continue reading Home-Grown Refactorings – Be Careful!→

Posted in xp123.com | Tagged programmer, refactoring, XPlorations

Connecting Stories

Posted on November 7, 2019 by Bill Wake

How do stories fit in with other stories, or small stories with bigger ones? How can we move from skinny stories to richer ones? This is part of Scalability of stories.  One way to think about story relationships is to Continue reading Connecting Stories→

Posted in xp123.com | Tagged customer, stories, XPlorations

TDD, TCR, and Frequent Commits

Posted on July 17, 2019 by Bill Wake
TDD with Commits and Reverts

We’ll look at Test-Driven Development (TDD) and Test-Commit-Revert (TCR) in terms of how they work with frequent commits to source control.  Test-Driven Development (TDD) Test-Driven Development is often described with this cycle: Red-Green-Refactor (or Red-Green-Gold, as I learned from Alex Continue reading TDD, TCR, and Frequent Commits→

Posted in xp123.com | Tagged programmer, tdd, XPlorations

Scalable Story Examples

Posted on May 23, 2019 by Bill Wake
intensity scale

How do you think about stories? We’ve talked about different levels of stories. Scalable stories let us gradually increase the intensity and utility of system behaviors. As before, I’ll use LinkedIn.com for examples. (This is a reverse-engineering exercise; I have Continue reading Scalable Story Examples→

Posted in xp123.com | Tagged customer, design, stories, XPlorations

Multi-Level Stories

Posted on February 28, 2019 by Bill Wake

Stories Have Multiple Granularities User stories may seem like they are about specifications but they’re really a lightweight way to explore possibilities. Many teams get too focused on the “card” aspect, using tools to turn user stories into an atomized Continue reading Multi-Level Stories→

Posted in xp123.com | Tagged customer, stories, XPlorations

The “Call Your Shots” TDD Workflow

Posted on December 4, 2018 by Bill Wake
TDD: Call Your Shot

Kent Beck’s TCR workflow experiment has generated some good discussion. Rachel Carmena has documented several TDD workflows. I’d like to add an approach that I’ve used for a while: “Call Your Shots”. Call Your Shots If you’re playing pool seriously, you don’t just Continue reading The “Call Your Shots” TDD Workflow→

Posted in xp123.com | Tagged programmer, refactoring, tdd, XPlorations

Ubiquitous Language – A Triple-Play for Words

Posted on August 29, 2018 by Bill Wake
Giraffe talking

Teams often don’t pay enough attention to language. A team can improve its language by using what Eric Evans calls Ubiquitous Language: “A language structured around the domain model and used by all team members to connect all the activities Continue reading Ubiquitous Language – A Triple-Play for Words→

Posted in xp123.com | Tagged analysis, customer, programmer, tester, XPlorations

Limits of Refactoring: What IS Behavior?

Posted on July 13, 2018 by Bill Wake

Martin Fowler writes, “Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet it improves its internal structure.” [Refactoring, 1999, p. xvi] But what does Continue reading Limits of Refactoring: What IS Behavior?→

Posted in xp123.com | Tagged programmer, refactoring, XPlorations

Post navigation

← Older posts
Newer posts →

Primary Sidebar Widget Area

Stay Up-to-Date

If you'd like to hear when articles come out, sign up today!

|●  Become a Patron!

Recent Posts

  • AAA and the Object Lifecycle
  • “Test Interface, Not Implementation”
  • How to Reduce Coupling, Three Ways
  • Reordering Items, Four Ways
  • And-Or Trees
  • Run Tests Without an App — Step by Step with Xcode
  • Swift Testing – A New Unit Testing Framework
  • TDD with a Function Pipeline
  • Trees – Confidence in Design
  • Pipelines – Confidence in Design

Tags

agile analysis atdd author business charts classic coach computers conference cool customer design economics fiction games HCI history improv integration interesting intro Java job aids language lean learning metaphor music myth patterns planning programmer refactoring resources reviews scrum software spreadsheet stories tdd team tester training XPlorations

Archives

counter for wordpress
Copyright © 2026 XP123. All Rights Reserved.
Theme: Catch Box by Catch Themes
Scroll Up