The how and why of embracing change
Panu Kalliokoski
24.8.2015
CSC
modernmean here?
modern.
principlesmean here?
if you don't follow this, you're screwed.
This section is to set up the goal of forthcoming principles.
In this section:
because it exists, d'oh
Time for break or discussion?
make it configurable first, API versioning,
one model, many views
The name of the game is to avoid decisions, at least the big and painful ones. Linus Torvalds
Now we look at practical principles that help fulfill the aforementioned goals.
In this section: use a bug database, use source control, fix bugs before writing new code, automate tests, automate builds, automate change staging, refactor, explicitly declare and isolate dependencies, make daily builds, have someone responsible for testing, make code reviews, document your use cases, do hallway usability testing, design to distribute and scale with the process model, ensure uninterrupted work, separate stateless and stateful components.
remotely-caused bugs
daily buildshould be as inclusive as possible: e.g. also run all tests, make distributable images, run it in a testing environment, etc.
Time for break or discussion?
Time for break or discussion?
In this section: