A casual speech on DevOps principles - Flow, Feedback, and Continuous Learning and Improvement.
Good morning everyone. I'm sure we all familiar with the term DevOps. Just a quick refresher - it is a collection of practices - way of life - that aims to speed up delivering value to our customers. Today we are not going to talk about these practices concretely, but instead go up one level and talk about the 3 principles that underlie all DevOps practices: Flow, Feedback, and Continual Learning and Experimentation. The DevOps book calls them "The Three Ways". We can decide on our own whether we are already following these practices, or is there still room for improvement.
The first way - Flow - means work must be delivered quickly from Development to Operations. Traditionally, SDLC involves long planning, development, testing activities, in that order. The first principle tells us that instead of letting the customer wait till the end of a cycle, say, two years, to see multiple new features or bug fixes in a batch, we should let them see their product evolve incrementally feature by feature and bug fix by bug fix - say, every two weeks. This means we must have a Minimum Viable Product or Minimum Marketable Release - whatever terminology we choose, and then incrementally build from there.
The second way - Feedback - means any form of deviation from expectations should be communicated to the team quickly. There are two sides to this. First is from the customer. Whenever they see something they don't like or have some new ideas, they should communicate with the team. The earlier they do this, the earlier the DevOps teams can re-plan their commitments. It's just like when you have a ship, the faster you correct your course, the faster you will reach your destination safely - especially if your destination tends to change along the way. The second is for the developers. The development team must be able to have near-instant feedback - the shorter the Code-Compile-Test cycle, the more productive they will be!
The third way - Continual Learning and Experimentation - means instead of being satisfied with the status quo, teams must proactively seek to improve. Having this culture is to say that we are ok with Experimenting, and, perhaps more importantly, Failing. I have seen many teams that say they promote learning and experimenting, but when something goes wrong, fingers start pointing everywhere! We must realize that failing is an important part of the learning process, and give allowance accordingly.
To summarize, the key takeaway here is the three underlying principles of DevOps practices - Flow, Feedback, and Continual Learning and Experimentation. Flow, Feedback, and Continual Learning and Experimentation. Let's remember to base all our planning and development decisions on these 3 principles. Thank you.
Labels
algorithm
allegro
anime
api
arcade
asdf
blender
books
boost
bootstrap
c
c++
CLR
cmake
cmd
common lisp
concepts
css
detective
emacs
free
games
graphical programming
graphics
gui
haskell
html
hyper-v
interpersonal skills
jade
jam
java
javascript
jni
jpostal
leadership
libpostal
library
linux
lsp
lsp-mode
management
maths
mingw
msvc
msys2
music
network
oop
open source
party games
phaser
postgresql
programming
promote
puzzle
quickfix
recommended
recorder
reference
review
sdl2
self-help
setup
sheet music
slime
team building
tidbits
tools
travel
tutorial
typescript
unity
vb
vm
web pages
winapi
windows
windows 7
windows 8.1
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment