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

Author Archives: Bill Wake

Queues from Stacks: Functional Data Types

Posted on November 17, 2021 by Bill Wake

Functional languages often have immutable data types – you can’t change an object once you’ve created it, though you can include it as part of other objects. Immutable objects are easier to reason about, and prevent errors where two parts Continue reading Queues from Stacks: Functional Data Types→

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

Refactoring and Programming Language Semantics

Posted on November 10, 2021 by Bill Wake

Refactoring improves the design of code without changing its observable behavior. But what is observable behavior? We’ll look at how language semantics affect that. When you devise new refactorings, you have to take semantics into account. The Simple View is Continue reading Refactoring and Programming Language Semantics→

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

Backroom/Frontroom to Smooth Releases

Posted on November 3, 2021 by Bill Wake

Some teams doing incremental development can release whenever any new capability is ready. But what can you do when you need to control when capabilities are available? Consider the Backroom/Frontroom approach. The term “Backroom/FrontRoom” comes from the Gilb’s book Competitive Continue reading Backroom/Frontroom to Smooth Releases→

Posted in xp123.com | Tagged customer, planning

Lambda to Reduce Coupling

Posted on October 27, 2021 by Bill Wake

Coupling occurs when one part of a system depends on another part. That is, if one part changes, the other must be adjusted too. Lambda expressions can reduce coupling by needing to refer to fewer things. Dependencies on Objects Consider Continue reading Lambda to Reduce Coupling→

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

Lambda for Control Structures, a Refactoring

Posted on October 13, 2021 by Bill Wake

Several mainstream languages have added better support for lambda expressions (including lighter syntax) in the last few years. This can let you define new forms of control structures, and reduce duplication in a different way than say extracting a common Continue reading Lambda for Control Structures, a Refactoring→

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

What Is a User Story?

Posted on October 6, 2021 by Bill Wake

A user story is a scenario, a description of a (potential) real use of a system. It takes the customer or user perspective, and represents a team’s shared understanding of what the system should do.  Because stories take a customer Continue reading What Is a User Story?→

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

Review: You Need a Budget

Posted on September 29, 2021 by Bill Wake

You Need a Budget, by Jesse Mecham. 2017. “YNAB” is a system (with an app) for managing your money. It’s built around four rules: I can’t say I’ve adopted this system (nor can I say that about any single personal Continue reading Review: You Need a Budget→

Posted in xp123.com | Tagged reviews

Review: The Age of Surveillance Capitalism

Posted on September 29, 2021 by Bill Wake

The Age of Surveillance Capitalism: The Fight for a Human Future at the New Frontier of Power, by Shoshana Zuboff, 2019. This book is the most significant book I’ve read in a while. It outlines the dark side of modern Continue reading Review: The Age of Surveillance Capitalism→

Posted in xp123.com | Tagged reviews

Learning with an Expert

Posted on September 22, 2021 by Bill Wake

I spent last weekend at a small retreat led by Don Pedi, an expert in traditional fiddle tunes played on mountain dulcimer. (See References.) We spent about three days doing a little tai chi, learning traditional tunes, asking questions, jamming, Continue reading Learning with an Expert→

Posted in xp123.com | Tagged learning, music

Example Parameterized Tests: Java, Kotlin, and Swift

Posted on September 14, 2021 by Bill Wake

Last time (“Extracting” in References), we looked at why you’d use parameterized tests, to reduce duplication, improve clarity, and improve test quality. This time we’ll look at an example parameterized test in three languages: Java, Kotlin, and Swift. Java Example Continue reading Example Parameterized Tests: Java, Kotlin, and Swift→

Posted in xp123.com | Tagged design, tdd, 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