Slide 1

Slide 1 text

in/tdpauw @tdpauw.bsky.social @[email protected] thinkinglabs.io Continuous Integration! Raising the Bar Trunk-based Thierry (they/them) Blue birds lightart from Maeterlinck Predikerenlei Ghent, Belgium shy speaker

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

20 practices that make Continuous Integration

Slide 4

Slide 4 text

Raising the bar

Slide 5

Slide 5 text

Commit Frequently

Slide 6

Slide 6 text

Commit at least once an hour! Preferable, multiple times per hour.

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Changes are small. It reduces risks!

Slide 9

Slide 9 text

Disables Feature Branches!

Slide 10

Slide 10 text

Gentle design pressure … ● work in many more smaller steps ● more decoupled code base ● speed up the build ● hide more unfinished functionality => virtuous circle

Slide 11

Slide 11 text

Decouple the Codebase

Slide 12

Slide 12 text

● Ports & Adapters ● Kent Beck’s 4 rules of simple design ● Intentional Code Duplication (see Expand-Contract) ● Single Responsibility ● Dependency Injection

Slide 13

Slide 13 text

Amplify quality Optimise engineering time to introduce change

Slide 14

Slide 14 text

Hide Unfinished Functionality

Slide 15

Slide 15 text

Perfectly acceptable to have unfinished functionality sitting in production

Slide 16

Slide 16 text

Without fancy toggles

Slide 17

Slide 17 text

Sometimes we need Feature Toggles -> we have to manage them!

Slide 18

Slide 18 text

Adopt Expand-Contract

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Have a Fast Build

Slide 21

Slide 21 text

When the Build is slow ● do not execute the Local Build ● execute the Local Build less often

Slide 22

Slide 22 text

What is fast? ● 10 min is the limit ● under 5 min should be the focus ● 30s avoids hallway sword fighting 🤷

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

● Commit Frequently ● Decouple the Code Base ● Hide Unfinished Functionality ● Adopt Expand-Contract ● Have a Fast Build Raising the bar For faster feedback Thus better quality!

Slide 25

Slide 25 text

in/tdpauw @tdpauw.bsky.social @[email protected] thinkinglabs.io Hello, I am Thierry de Pauw fancies dark chocolate, black coffee & peated whisky The article: https://thinkinglabs.io/raising-the-continuous-integration-bar Blue birds lightart from Maeterlinck Predikerenlei Ghent, Belgium