Software that works.
In production.

A software consultancy in Stockholm helping teams ship better software using Test-Driven Development, Behaviour-Driven Development, Clean Code, and Continuous Delivery.

Continuously deploying to production for more than 15 years, underpinned by a thorough safety net of tests.


Latest from the blog

Thoughts on testing, craftsmanship, and getting software into production.

2026-02-16

TDD with an AI assistant, my perspective as a beginning practitioner

I have been practising Test-Driven Development for more than 25 years. The red-green-refactor cycle is second nature.

I have of course heard a lot about AI tools and LLMs over the last couple of years. The times I have tried them, I have not been impressed. Their proposals didn't compile. They seemed to solve the wrong problem. This was probably because they lacked the context of the project I'm working on. Honestly, a lot of what I have seen has been rubbish.

Not too long ago I saw a thread on LinkedIn where some people who I know really know what they are doing discussed their experience with AI assistants and specifically Claude Code. I decided to give it a try.

AI TDD
2020-04-30

Compare time with AssertJ

AssertJ is a great assertion framework for Java. It is in my opinion much better than any of the available alternatives. Two areas where AssertJ shines are verifying collections and verifying exceptions. It is also extendable, so you can implement custom assertions for your domain objects.

The way to assert something is done using the method assertThat(). A typical example looks like this:

assertThat(actual).isEqualTo(expected);

isEqualTo() is overloaded and can be used for a lot of comparisons.

Java TDD
2020-03-11

Context switching in git

It happens that you are working on something and realize that you have to change context. Something urgent popped up and you need to get it into production as soon as possible. However, you have uncommitted changes that doesn't work properly. What do you do now? You can't commit your current changes. They are not done and should not end up in production. And you are smart so you avoid branching. Your current changes are on master and should be on master.

Git
View all posts

We speak about

Available for conference talks, meetups, and team workshops.

</>

Test-Driven Development

A pragmatic guide to writing tests first and letting them drive your design.

Behaviour-Driven Development

It's not about the tools. Building shared understanding through examples.

Continuous Integration

Ship with confidence. Automate your build, test, and deployment pipeline.

All speaking topics

Recent speaking engagements

2024-10-22
Presentation

The four rules of simple design

JDD, 2024 — Krakow, Poland
2024-05-15
Presentation

Celebrating twenty years of The four rules of simple design

GeeCON Krakow, 2024 — Krakow, Poland
2023-10-19
Presentation

Let’s dive into the topic of testability

GeeCON Prague, 2023 — Prague, Czech
2023-06-14
Presentation

A pragmatic quick guide to TDD

The Developers, 2023 — Cluj, Romania
2023-04-19
Presentation

A pragmatic quick guide to TDD

GeeCON Krakow, 2023 — Krakow, Poland
2022-10-24
Presentation

A testable architecture

GeeCON Prague, 2022 — Prague, Czech
All events