Fundamentals of Systems Thinking
How technical leaders can tame complexity
"Being able to have a framework to reason about complex systems, identify positive and negative emergent behaviors, and methods to model the future, are essential skills for any leader. This course blends just enough of the theory along with practical software engineering examples to get you thinking about your work and your life with greater clarity. Highly recommended."
Why Systems Thinking?
The pace of software and companies building software continues to increase. This means as a Technical Leader, you need to manage ever increasing amounts of complexity. How? With Systems Thinking!
Systems Thinking provides you with tools to improve your ability to inspect, explore and manage complex systems. These tools apply equally to the components and architectures of software systems as much as they do to the systems of people that build them.
Sign up for this course to become a better problem solver through Systems Thinking.
Who is this course for?
This course is designed for everyone wanting to improve their ability to explore, understand and manage increasing levels of complexity in software systems.
You will particularly benefit from this course if you:
- Lead or manage people - Perhaps you’re an Engineering Manager, Director or VP of Engineering
- Lead or manage technical topics - Maybe you’re a Tech Lech, Architect, Technical Programme Manager or CTO
- Build or operate software systems - An Individual Contributor, Software Engineer, Site Reliability Engineer or Operations person.
This course will give you new tools and perspectives to boost your personal and team productivity.
What’s in this course?
This course consists of videos, guided examples and a number of thinking exercises applying Systems Thinking to teams building software. This course is self-paced but is designed to be followed one module after another - building on knowledge from a previous module.
What you will learn
When you complete this course, you’ll be able to:
- Explain what a system is and its core building blocks
- Recognise and understand systems from the real world
- Build clear models explaining common software scenarios like why a team is going slower (and what you can do about it)
- Prevent unnecessary action by recognising delays in feedback
- Understand how delays make it more difficult to influence a system and where they are useful
- Improve conflicts by uncovering new perspectives
- Identify common mental models found in software and how to improve them
- Build longer-lasting solutions through double-loop learning
Patrick Kua is a seasoned technology leader with almost 20 years of experience. His personal passion is accelerating the growth and success of tech organisations and technical leaders. He has had many years of hands-on experience, leading, managing and improving complex organisations and software systems as the CTO and Chief Scientist of N26 (Berlin, Germany) and as a Technical Principal Consultant at ThoughtWorks. He is a frequent keynote and conference speaker, author of three books including The Retrospective Handbook, Talking with Tech Leads and Building Evolutionary Architectures and runs the popular newsletter for leaders in tech, “Level Up” (http://levelup.patkua.com). You can find him online on twitter as @patkua or running his very popular “Tech Lead Skills for Developers” workshop around the world.
Start2.1 Introducing Systems Thinking (6:34)
Start2.2 What is a System? (5:22)
Start2.3 Interconnections (7:51)
Start2.4 Exploring a Real World System (5:28)
Start2.5 The Ship of Theseus (2:35)
Start2.6 Thinking Questions for Building Blocks
Start2.7 Suggestions for the Thinking Questions for Building Blocks
Start3.1 Reinforcing Loops in the Real World (6:59)
Start3.2 Balancing Loops in the Real World (8:01)
Start3.3 Preparation Required for the Paper Fold Exercise
Start3.4 Try This! Paper Fold Exercise (2:06)
Start3.5 Modelling the Paper Fold Exercise (5:55)
Start3.6 Why Aren't We Building Software Faster? (9:15)
Start3.7 Fixes That Eventually Fail (7:55)
Start3.8 How to Build Software Faster (6:50)
Start3.9 A Case Study in Improving Productivity (4:24)
Start3.10 Thinking Questions for Feedback Loops
Start3.11 Suggestions for the Thinking Questions for Feedback Loops
"Every system is perfectly designed to achieve the results it gets" - Dr Donald Berwick