We are at a time where there is a booming of best practices and magical software engineering processes which make us ponder what is the purpose behind all these ideas.
DevOps - Myth or Real will unveil the thought process behind the DevOps revolution looking from the three ways and continuous software delivery.
A talk for CCIS, UTAR on 19 July 2017.
11. You are given a task - cook a meal for an important, intimate person.
Cooking ain’t your forte. Will you just follow the cookbook or googled recipe?
12. DOING THE RIGHT THING,
NOT DOING THE THING RIGHT
We do not follow blindly to the recipe, just because we want to do the thing right.
Instead, we will continually obtain fast feedback through tasting the food repeatedly during the
entire preparation process, and with only one thing in mind - to impress a person.
13. Delivering value to customer is the one and only desirable business outcome.
14. ,
Of all the things you would have probably done, it is certainly you will cook something favourable to the
person’s taste, and continuous improvement during the entire preparation process would be vital.
It’s all about coordination, and learning.
16. Often, we find software methodologies, processes and best practices are like an unopened pandora
box.
Uncommon, transcending all the management and organisational theories
17. DYNAMIC CAPABILITIES THEORY
COORDINATION THEORY
DOUBLE-LOOP LEARNING THEORY
Cao, L. and Ramesh, B., 2007.
Agile software development: Ad hoc practices or sound principles?
“Even though the effectiveness of some specific agile practices is not yet fully established, the agile approach is consistent with the
sound principles grounded in management and organization theories...”
19. Cooking Theories DevOps *
Processes, Best Practices Dynamic Capabilities Flow
Coordination Coordination Feedback
Learning Double-loop learning Learning and
Experimentation
Kim, G., Debois, P., Willis, J. and Humble, J., 2016.
The DevOps Handbook
20. f
○ Make our work visible
○ Limit work in progress (WIP)
○ Reduce batch sizes
○ Reduce the number of handoffs
○ Continually identify and elevate constraints
○ Eliminate hardship and waste
1
21. Making our work visible
Limit work in progress (WIP)
Reduce batch sizes
Reduce the number of handoffs
22. f
○ See problems as they occur
○ Swarm and solve problems to build new
knowledge
○ Keep pushing quality closer to the source
○ Enable optimizing for downstream work centers
2
23. See problems as they occur
“Swarm” and solve problems
to build new knowledge
25. &
○ Enable organisational learning and a safety
culture
○ Institutionalise the improvement of daily work
○ Transform local discoveries into global
improvements
3
32. ,
Let us reevaluate what we have discussed.
Does the practice of DevOps equate to a successful software engineering team?
33. Processes and best practices are not our ultimate goal or business outcome.
Delivery value to our customers (internal and external) is the one and only desirable business outcome.
34. win the war, not the battles
Fitzgerald, B. and Stol, K.J., 2017.
Continuous software engineering: A roadmap and agenda.
Journal of Systems and Software, 123, pp.176-189.
“...true continuous software engineering is more than adopting continuous delivery and continuous deployment. These are merely
techniques, but the ultimate goal is to take a holistic view of a software production entity, whether this be a single software organization
or an ecosystem where different organizations together deliver a final product.”