Automated
– time it takes to automated (opportunity cost) - example – first few sprints
I believe the how to build is now scriptable – locked in knowledge at a point in time – what if team or software changes
Example of people changing how the build process worked
Don’t automate something until its boring
You understand it
Make mistakes
Delivery is the thing, not automation
Manual allows – human side of testing – Exploratory testing, how can I break this
Automation – great for subtle tests – not obvious ones
Test driven – write all tests of feature (effective)
TDD – efficient,
Assume everything is a spike – until it proves itself - (Spike and stabilize)
Premature components
Deign as a garden – let it grow a bit wild – you start to see the patterns – domain model will emerge – different to what you may think up front
Components introduce complexity – what do you get?
Message based – anything that may take time but complex (call-backs, ordering etc)
Resource – quick to do
DRY – things end up not being the same. Dependency issues. Coupling -
Domain model – Customer means different things in different contexts
DNA – copy paste – evolve.