What can we learn from CI
Rough notes by John Stevenson @JR0cket
what is learning
learning = the detection plus correction of error
What is an error - the gap between what I want and what I wanted minus what I got
If we never achieve our intent then that is learning When we try and do something and detect an error then we are learning
If we are going to use the feedback from CI then it will help us detect and correct the gap
People do a good job of detection and not so good at correcting it!
- signal of the issue was great, but the correction of the error was poor - one person off on their own doing it with out engagement of the rest ofthe team / org
Policy
Every developer who breaks the build has to fix it
Detection happens but the diagnostics from the test failure is not enough.
Q) Is that because its a complicated system or quality of tests
A) both
Broad acceptance tests Not sure of the root cause
Suggestions Push down acceptance tests to the lowest level in the application / os stack - only test through the web interface for a very good reason - use the page objects, controller interface, bus logic, data, etc...
What I wanted
Need to keep an eye on what you wanted to get out of the tests and CI in the first place
Double loop learning Frame beliefs values -> Behaviour -> Result -> Match -> Mismatch - > behaviour -> or values
what does the feedback say about your values / beliefs
Using the CI server to monitor and report the lenght of the builds can make you thing about how you manage your build process. Moving tests at various
Using Chuck Noris to discuss negative behaviour
Looking at merging process, lenght and duration
Are people commiting only on story boundaries
Are people checking in low quality code before they go home...
What have we dont that prevents people from doing good work
Feedback that improves behaviour and helps generate valuable work can easily revert when the pressure is applied.
Can you agree to work differently...
How can you change peoples behavoiur. From a persons frame of reference, behavour that others think is heroic may seem the norm.
Management can lend legitamacy to certain behaviour that the team sees as heroic
Using humor can be a way to opening out the discussion on positive and valuable behaviours as shared by the team. Leadership is difficult althought positive way to try and improve and open views on a common positive behaviour and good results.
Smells are a way the community helps to frame out believes and improve our behaviors.