XP = Continuous Everything

Test-Driven Development = Continuously check/test
Continuous Integration = Continuously integrate code
Pair/Mob Programming = Continuously review and integrate ideas
Refactoring = Continously make (small) changes

»
Author's profile picture Dragan Stepanović

Mocks hurt

only when we don’t express the intent, but keep the code implicit and low level. So, it’s not really about mocks, but about the design.

»
Author's profile picture Dragan Stepanović

High transaction cost incentivizes for big batches

High transaction cost incentivizes for big batches. And lack of availability, causing long waiting times, drives the transaction cost up. I.e. the more something is rare to find, the more valuable it’s perceived as.

»
Author's profile picture Dragan Stepanović

Optimal PR size is

one line of code change that is reviewed immediately.

»
Author's profile picture Dragan Stepanović

Trunk Based Development and Pair/Mob Programming are not the goal per se

but an inevitable consequence of a desire to drastically tighten the feedback loop to review and integrate the code and ideas.

»
Author's profile picture Dragan Stepanović

Make your Pull Requests so small

that you annoy reviewers so often that they just give up and join you in a pairing session instead.

»
Author's profile picture Dragan Stepanović

WIP ⇆ waiting times

Long waiting times in the system incentivize increase in WIP.
And, the higher the WIP, the longer the waiting times will be.

»
Author's profile picture Dragan Stepanović

When you reduce the queue time

processing time will get shorter as well because the feedback gets incorporated faster.

»
Author's profile picture Dragan Stepanović

Every change is a loss for someone

Shift in “outcomes over outputs” takes away power from people that used to have monopoly on defining solutions and next steps.

»
Author's profile picture Dragan Stepanović

Every long feedback loop

is (most probably) caused by:

»
Author's profile picture Dragan Stepanović