Quantcast
Channel: XPlorations Archives - XP123
Browsing all 118 articles
Browse latest View live

Independent Stories in the INVEST Model

The INVEST model is a reminder of the important characteristics of user stories, and it starts with I for Independent. Independent stories each describe different aspects of a system's capabilities....

View Article


The System Metaphor Explored

The System Metaphor is one of the less popular parts of Extreme Programming (XP). Newer descriptions often even omit it. But metaphor is useful – when you have  a good one, it really helps you...

View Article


Negotiable Stories in the INVEST Model

In the INVEST model for user stories, N is for Negotiable (and Negotiated). Negotiable hints at several important things about stories: The importance of collaboration Evolutionary design Response to...

View Article

Valuable Stories in the INVEST Model

Of all the attributes of the INVEST model, "Valuable" is the easiest one to, well, value. Who is against value? We'll look at these key aspects: What is value? The importance of external impact Value...

View Article

Intensifying Stories: Running with the Winners

For a given story headline, many interpretations are possible. These vary in their quality and sophistication. I call this the intensity or depth of a story. Story intensity is a knob you can control,...

View Article


Image may be NSFW.
Clik here to view.

Resources on Set-Based Design

“Two roads diverged in a yellow wood, yet I could travel both.” —Not Robert Frost   A reading list on set-based design (part of lean product development).   Applied Fluid Technologies. Information on...

View Article

Estimable Stories in the INVEST Model

Estimable stories can be estimated: some judgment made about their size, cost, or time to deliver. (We might wish for the term estimatable, but it’s not in my dictionary, and I’m not fond enough of...

View Article

Resources on Refactoring

Refactoring is a key skill in developing software. These resources can help you improve. If you just want practice with refactoring, choose some Exercises. If you’re just starting out, consider the...

View Article


Resources on Test-Driven Development (TDD)

Test-Driven Development (TDD) is an approach to designing and implementing software: write tests, write code, refactor, and repeat; all in small steps. If you just want practice, choose some Exercises....

View Article


Resources on CI and CD

Continuous Integration (CI) and Continuous Delivery (CD) (or Continuous Deployment) – enabling a flow of value. Other resource summaries: BDD, TDD, Refactoring. [Disclosure: Note that I may have been...

View Article

Image may be NSFW.
Clik here to view.

Display: Testing Graphics, Part 2

In Part 1, we discussed models for graphics. As we move into testing, let’s start with the visible part: the display. Test Display Capabilities You sometimes care about the physically capabilities of...

View Article

Image may be NSFW.
Clik here to view.

Screen-Based Tests: Testing Graphics, Part 3

Screen-Based Tests: Two Extremes Screen-based tests focus on what’s visible rather than internal representations. We’ll consider two extremes for testing screen-based output: fully manual and fully...

View Article

Image may be NSFW.
Clik here to view.

Internal Objects: Testing Graphics, Part 4

In our final article in the series on testing graphics, we’ll look at testing internal objects (rather than testing at the display level). We’ll look at several decisions around testing. The first...

View Article


Image may be NSFW.
Clik here to view.

TDD Impact Calculator

TDD – Test-Driven Development – is one of the tools people use to improve their programming. Many teams find that this discipline helps them reduce their defects. Could it make a difference to your...

View Article

Image may be NSFW.
Clik here to view.

Jumping the S Curve: Life Extension for Products

We implement feature by feature, seeking value; adding up the value forms an S curve with characteristic regions. Can we overcome the tendency of products to fade away? Feature by Feature Let’s look at...

View Article


Image may be NSFW.
Clik here to view.

Intensifying Stories Through Prediction

Rather than focusing on “splitting” a story, figure out a minimal form of a story, and intensify it – make it more powerful or desirable. We’ll explore one dimension, prediction: how can we make a...

View Article

Refactoring: Pull Common Code from Conditional

We’ll look at two refactorings suitable for conditional statements: Pull Up Common Head of Conditional and Pull Down Common Tail of Conditional. I originally learned these as performance optimizations...

View Article


Image may be NSFW.
Clik here to view.

Delivery Strategies

How do you handle delivery of new features or new systems? The easiest way is to just add the new features or replace the existing system, with no transition, but this is not the only approach. We’ll...

View Article

User Story Vocabulary: Problem, Solution, or Widget?

The vocabulary of your user stories frames the domain of discourse: what are your stories about? It’s helpful to think of “the headline” and “the rest”. “The headline” is what you’d write on an index...

View Article

Limits of Refactoring: What IS Behavior?

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.”...

View Article
Browsing all 118 articles
Browse latest View live