1st - IT places Dev as the business representative and Ops as the customer representative, with the value flowing in one direction (from the business to the customer). When we can think as a system we can focus clearly on the business value that flows between our Business, Dev, Ops and the end users. We can see each piece as it fits into the whole, and can identify its constraints. We can also properly define our work and when we can see and think in terms of the Flow of our system, we see the following benefits: increased value flow due to the visibility into what it takes to produce our end product our downstream step always gets what they need, how they need it, when they need it faster time to market we bring Ops in earlier in the development process, letting them plan appropriately for the changes that Dev will be making (because we know that all changes can affect how our product is delivered) which leads to less unplanned work or rushed changes because work is visible, Ops can see the work coming and better prepare We can identify and address constraints or bottleneck points in our system

2nd Way - It adds a backward facing channel of communications between OPs and Dev. It enforces the idea that to better the product, we always need to communicate. Dev continually improves as an organization when it better sees the outcomes of it’s work. This can be small (inviting the other Tribes to our stand ups) or it can be larger (Including Dev in the on-call rotation, tools development, architecture planning and/or incident management process) But to truly increase our Flow and improve the business value being delivered to the customer our Tribes need to know ‘what happens’, ‘when it happens’. When we increase our Feedback and create a stable Feedback loop we see the following benefits: Tribal knowledge grows, and we foster a community of sharing With sharing comes trust and with trust comes greater levels of collaboration. This collaboration will lead to more stability and better Flow We better understand all of our customers (Ops as a customer, Dev as a Business, but especially our end users, to whom we deliver value.) We fix our defects faster, and are more aware of what is needed to make sure that type of problem doesn’t happen again We adapt our processes as we learn more about the inner workings or our other Tribes We increase our delivery speeds and decrease unplanned work

3rd Way: When we have achieved the first Two Ways we can feel comfortable knowing that we can push the boundaries. We can experiment, and fail fast, or achieve greatness. We have a constant feedback loop for each small experiment that allows us to validate our theories quickly. we fail often and sometimes intentionally to learn how to respond properly and where our limits are we inject faults into the production system and early as possible in the delivery pipeline we practice for outages and find innovative ways to deal with them we push ourselves into the unknown more frequently and become comfortable in the uncomfortable we innovate and iterate in a ‘controlled’ manner, knowing when should keep pushing and when we should stop our code commits are more reliable, and production ready we test our business hypotheses (at the beginning of the product pipeline), and measure the business results we constantly put pressure into the system, striving to decrease cycle times and improve flow

Modern application lifecycle management practices enable teams to support a continuous delivery cadence that balances agility and quality, while removing the traditional silos separating developers from operations and business stakeholders. This improves communication and collaboration within development teams, and drives connections between application and business outcomes. We see three key metrics that are critical to an organization’s ability to enable value delivery with agility and quality. First, the flow of business value must be measured and improved. Understanding what provides business value, and delivering those features on a sustained, regular cadence is key. The second is having the ability to identify and remove bottlenecks to shorten cycle times for delivering those business values. It’s not enough to simply deliver regularly, but also efficiently. And finally, identify and reduce sources of rework, such as bugs, incorrectly specified features, etc.