Build better
software together
@svenpet
Sven Peters!
Atlassian Evangelist
Building software is a ... challenge

WIN

FAIL
Building software is a ... challenge

WIN

FAIL
Building software is a social challenge

Every team must share...
Code
x3

Source code, review, continuous
integration, DVCS management

x6

Tasks

Issue and project tracking

// Get the product id
stored in the
optionValue of the
widget
$productId =
$order['customIdNumber'
];
// Load the product
$product =
Mage::g

Ideas

Team collaboration

Group chat
Manager

Product
Owner

!
Designer

Developer

Tester

IT
Operation
separate teams:
hardware and software

Error
No SIM card or phone is!
turned off!
(0xff05)
Confirm
Software Development Flow
Connecting Tasks

Ideas

Tasks

Code

Builds
Software Development Flow
Connecting Teams

Ideas

Product Owner
Product Manager

Tasks

Code

Developer

Builds

Operations
Software Development Flow
Connecting People

Ideas

Product Owner
Product Manager

Tasks

Code

Developer

Builds

Operations
Software Development Flow
Connecting Locations

Code
Ideas

Tasks

Ideas

Code

Tasks
Builds
Developer

Code
Transparent

Flow
Development Flow
Planning
The idea
62

involve everybody
Original Post

One Day Later

One Week Later
Planning Flow

REQUI REMENTS

STOR IES

SPRIN TS
Best practices with
Blueprints

Quickly create
& link content

Traceability
Best practices with
Blueprints

Quickly create
& link content

Traceability
Planning Flow

REQUI REMENTS

STOR IES

SPRIN TS
Development Flow

+ 



BRANC H, CODE & TEST

PULL R EQUESTS
Development Flow
Branching
Branching
Branching
From JIRA Issue
to Branch
to Code
in 30 seconds
Caption
Free Git client for Windows or Mac
Branching

Code Isolation

Best Practices

Quick & Simple
Branching
Merging
Pull Requests
Pull Requests

discuss changes

AGR
Code Reviews
are more important than

TDD
Better Quality

Feel Better

Code Reviews
Learn
Pull Requests

review stories & builds


Free Git client for Windows or Mac
Pull Requests



Reviews


Builds


Issues


Permissions
Pull Requests



Reviews


Builds


Issues


Permissions
32
Pull Requests



Reviews


Builds


Issues


Permissions
Pull Requests



Reviews


Builds


Issues


Permissions
Pull Requests



Reviews


Builds


Issues


Permissions
Pull Requests



Reviews


Builds


Issues


Permissions
Pull Requests



Reviews


Builds


Issues


Permissions
Pull Requests

Code Review

Quality Check

Control
Pull Requests

Merge
Development Flow
DONE !
How could that happen?
What happened

Merge
What happened
Branch Detection
Don’t let that happen

detect branch
(& run automatically)
Branch Detection
Don’t let that happen

detect branch
(& run automatically)
Who broke the built?
What
Who broke the built?
Look at the logs

Found failing test

Look at the code

Can not find the problem

Look at the changes

Nothing changed

Look at the change set

Problem
found!

Why did it change?

Go to the author
Look at the build server
Look at the change set

Found failing Issue

Problem
found!
See the cause
Find the problem
You can not find the problem?
rerun!
What does it tell you?
failing test = useless
Put flaky tests under quarantine
Branch
detection

Builds & Issues

Quarantine
Branch
detection

Builds & Issues

Quarantine
Branch
detection

Builds & Issues

Quarantine
Transparent

Flow
connecting teams
connecting people

Transparent

connecting locations

Flow

connecting taks
WHY?
Tearing down silos is a... challenge
Build better
software together
@svenpet
Thanks

@svenpet
svenpet.com/talks

Build Better Software Together