Skip to main content

Relationships Between The DevOps Handbook and Systems Thinking

I've recently finished reading The DevOps Handbook, and Thinking in Systems, and have just started reading The Fifth Discipline. Below are a few of my thoughts after reading them.

The DevOps Handbook is a really great book and I highly recommend anyone participating in software development to give it a read. In the book, the authors describe the Three Ways (aka principles):
  1. Flow
  2. Feedback
  3.  Continual Learning and Experimentation

The first way focuses on getting software through the work stream, the second way focuses on getting feedback, and the third way focuses on organization learning. 

The DevOps Handbook's visualization of the 3 ways reminds me of systems diagrams in Thinking in Systems by Donella Meadows. 


Stuart Rimell has a nice 2 part post on systems thinking in software development, that draws on ideas in Thinking in Systems (Part 1, Part 2)

After reading The DevOps Handbook and Thinking in Systems, I got curious about systems thinking, and how that applies to software development, and more broadly how it applies to business. 

I did a bit of research, and found The Fifth Discipline by Peter Senge. So of course I ordered a copy. I'm only halfway through, but it seems to me The DevOps Handbook is the application of The Fifth Discipline to software development. 


The 5 disciplines are
  1. Personal Mastery - Personal mastery is a discipline of continually clarifying and deepening our personal vision, of focusing our energies, of developing patience, and of seeing reality objectively
  2. Mental Models - Mental models are deeply ingrained assumptions, generalizations, or even pictures of images that influence how we understand the world and how we take action.
  3. Building Shared Vision - Building shared vision - a practice of unearthing shared pictures of the future that foster genuine commitment and enrollment rather than compliance.
  4. Team Learning - Team learning starts with dialogue, the capacity of members of a team to suspend assumptions and enter into genuine thinking together.
  5. Systems Thinking - The Fifth Discipline that integrates the other four.
Principle 4, Team Learning, seems like the most difficult principle of them all. Dialogue here refers to David Bohm's idea of dialogue. Bohm identifies three basic conditions necessary for dialogue:
  1. All participants must "suspend" their assumptions, literally to hold them "as if suspended before us"
  2. All participants must regard one another as colleagues
  3. There must be a "facilitator" who "holds the context" of dialogue
In my experience, being able to put ideas out there to be examined without the conversation eroding into attacks / defensiveness is very difficult. Maybe the ability to do this is what makes a great team.

The Fifth Discipline might be one of the best business books I have ever read. It ties together lean manufacturing concepts with systems thinking. I'm adding Systems Thinking to my ever growing list of topics to study.

Peter Senge: Introduction to Systems Thinking


It seems to me that the learning organization lies at the heart of truly successful software companies, and DevOps practices as laid out the the DevOps Handbook foster the kind of learning necessary for success.

Two other books I've read are somewhat related to the link between DevOps and Systems Thinking

Holacracy: The New Management System For a Rapidly Changing World by Brian Robertson
Holacracy is a revolutionary management system that redefines management and turns everyone into a leader.
Holacracy distributes authority and decision-making throughout an organization, and defines people not by hierarchy and titles, but by roles. Holacracy creates organizations that are fast, agile, and that succeed by pursuing their purpose, not following a dated and artificial plan.
This isn't anarchy it's quite the opposite. When you start to follow Holacracy, you learn to create new structures and ways of making decisions that empower the people who know the most about the work you do: your frontline colleagues.
Reinventing Organizations: A Guide to Creating Organizations Inspired by the Next Stage of Human Consciousness by Frederic Laloux.
In this groundbreaking book, the author shows that every time humanity has shifted to a new stage of consciousness in the past, it has invented a whole new way to structure and run organizations, each time bringing extraordinary breakthroughs in collaboration. A new shift in consciousness is currently underway. Could it help us invent a radically more soulful and purposeful way to run our businesses and nonprofits, schools and hospitals? 
Both Holacracy and Reinventing Organizations are about designing organizations to tap into the potential of the people, to bring humanity and compassion to the workplace. Companies organized in this way are referred to as Teal Organizations. Is this not another application of systems thinking?

Comments

  1. This comment has been removed by a blog administrator.

    ReplyDelete
    Replies
    1. This comment has been removed by a blog administrator.

      Delete
  2. This comment has been removed by a blog administrator.

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete
  5. This comment has been removed by a blog administrator.

    ReplyDelete
  6. This comment has been removed by a blog administrator.

    ReplyDelete
  7. This comment has been removed by a blog administrator.

    ReplyDelete
  8. This comment has been removed by a blog administrator.

    ReplyDelete
  9. This comment has been removed by a blog administrator.

    ReplyDelete
  10. This comment has been removed by a blog administrator.

    ReplyDelete
  11. This comment has been removed by a blog administrator.

    ReplyDelete
  12. This comment has been removed by a blog administrator.

    ReplyDelete
  13. This comment has been removed by a blog administrator.

    ReplyDelete
  14. This comment has been removed by a blog administrator.

    ReplyDelete
  15. Very interesting blog which helps me to get the in depth knowledge about the technology, Thanks for sharing such a nice blog..
    Good discussion.
    Six Sigma Training in Abu Dhabi
    Six Sigma Training in Dammam
    Six Sigma Training in Riyadh

    ReplyDelete
  16. This comment has been removed by the author.

    ReplyDelete

  17. great information.
    thank you for posting.
    keep sharing.
    best Dev ops training in Bengaluru

    ReplyDelete
  18. Nice Post! Thank you for sharing very good post, it was so Nice to read and useful to improve my knowledge as updated one, keep blogging.
    ASW training in Electronic City

    ReplyDelete
  19. hanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support about this area.
    Devops training in chennai| Best Devops training in chennai | Best Devops training institute in chennai
    | Devops certification in chennai | Devops course in chennai
    ]

    ReplyDelete
  20. Good post. Sharing your thoughts with us is very great. Your writing is very clear about the topic DevOps and useful to all. I have read the few blogs of yours which are informative. Keep posting such important stuff. SAFe DevOps

    ReplyDelete
  21. It is perfect chance to make a couple of game plans for the future and the opportunity has arrived to be sprightly. I've scrutinized this post and if I may I have the option to need to suggest you some interesting things or recommendations. Perhaps you could create next articles insinuating this article. I have to examine more things about it!pmp certification in malaysia

    ReplyDelete
  22. Happy to visit your blog, I am by all accounts forward to more solid articles and I figure we as a whole wish to thank such huge numbers of good articles, blog to impart to us.
    data science course in delhi








    ReplyDelete
  23. I'm trusting you continue composing this way. I love the amazing way cautious and top to bottom you go on this theme. Keep up the extraordinary work
    HRDF training

    ReplyDelete
  24. This post is incredibly simple to examine and recognize without disregarding any nuances. Inconceivable work!
    360DigiTMG

    ReplyDelete

  25. This post is incredibly simple to examine and recognize without disregarding any nuances. Inconceivable work!
    360DigiTMG

    ReplyDelete
  26. Wow! Such an amazing and helpful post this is. I really really love it. It's so good and so awesome. I am just amazed. I hope that you continue to do your work like this in the future also.
    best digital marketing courses in hyderabad

    ReplyDelete
  27. Great work done by author of this blog. Its an Amazing blogger.
    by cognex is the AWS Training in Chennai. Cognex is the best institute in chennai to teach aws, microsoft azure, prince2 foundation, etc

    ReplyDelete
  28. Thanks for sharing informative article,
    digital marketing video course

    ReplyDelete
  29. This is really too useful and have more ideas and keep sharing many techniques. Eagerly waiting for your new blog keep doing more.
    DevOps Training in Chennai
    DevOps Online Course
    DevOps Course in Coimbatore

    ReplyDelete
  30. Best Midi Keyboard Controllers
    finding the right keyboard controller can be a hectic and tough job.
    Visit: Best Midi Keyboard Controllers

    ReplyDelete
  31. Best Wonderchef Induction Cooktop in India
    Wonderchef is a leader in cookware and kitchen appliances that enable our customers to cook healthy, tasty food with convenience. German standards of quality, Italian designs, & constant innovation are the hallmarks of Wonderchef.
    Visit: Best Wonderchef Induction Cooktop in India

    ReplyDelete
  32. An epilator is an electrical device that removes multiple strands of hair by pulling them out from the skin.
    Visit: Best Epilators in India

    ReplyDelete
  33. we help you find meaning of weed VT in Hindi, weed VT Hindi, weed VT meaning in Hindi, weed VT synonyms in Hindi.
    Visit: Weed Meaning in Hindi

    ReplyDelete

Post a Comment

Popular posts from this blog

Basic Web Performance Testing With JMeter and Gatling

Introduction In this post I'll give a quick way to get some basic web performance metrics using both JMeter and Gatling . JMeter is a well known, open source, Java based tool for performance testing. It has a lot of features, and can be a little confusing at first. Scripts (aka Test Plans), are XML documents, edited using the JMeter GUI.  There are lots of options, supports a wide variety of protocols, and produces some OK looking graphs and reports. Gatling is a lesser known tool, but I really like it. It's a Scala based tool, with scripts written in a nice DSL. While the scripts require some basic Scala, they are fairly easy to understand and modify. The output is a nice looking, interactive, HTML page. Metrics   Below are the basic metrics gathered by both JMeter and Gatling . If you are just starting performance testing, these might be a good starting point . Response Time – Difference between time when request was sent and time when response has been fully rec

Generating Java Mixed Mode Flame Graphs

Overview I've seen Brendan Gregg's talk on generating mixed-mode flame graphs  and I wanted to reproduce those flamegraphs for myself. Setting up the tools is a little bit of work, so I wanted to capture those steps. Check out the Java in Flames post on the Netflix blog for more information. I've created github repo ( github.com/jerometerry/perf )  that contains the scripts used to get this going, including a Vagrantfile, and JMeter Test Plan. Here's a flame graph I generated while applying load (via JMeter) to the basic arithmetic Tomcat sample application. All the green stacks are Java code, red stacks are kernel code, and yellow stacks are C++ code. The big green pile on the right is all the Tomcat Java code that's being run. Tools Here's the technologies I used (I'm writing this on a Mac). VirtualBox 5.1.12 Vagrant 1.9.1 bento/ubuntu-16.04 (kernel 4.4.0-38) Tomcat 7.0.68 JMeter 3.1 OpenJDK 8 1.8.111 linux-tools-4.4.0-38 linux-to

Multi Threaded NUnit Tests

Recently I needed to reproduce an Entity Framework deadlock issue. The test needed to run in NUnit, and involved firing off two separate threads. The trouble is that in NUnit, exceptions in threads terminate the parent thread without failing the test. For example, here's a test that starts two threads: the first thread simply logs to the console, while the other thread turfs an exception. What I expected was that this test should fail. However, the test actually passes. readonly ThreadStart[] delegates = { () => { Console.WriteLine("Nothing to see here"); }, () => { throw new InvalidOperationException("Blow up"); } }; [Test] public void SimpleMultiThreading() { var threads = delegates.Select(d => new Thread(d)).ToList(); foreach (var t in threads) { t.Start(); } foreach (var t in threads) { t.Join(); } } Peter Provost posted an article that describes how to make this test fail. It