Talk: Breaking the chains of multi-team dependencies with Consumer-Driven Contracts
Speakers directory
Speaker:
Yue Wang
Talk description
Title:
Breaking the chains of multi-team dependencies with Consumer-Driven Contracts
Short synopsis:
One of the most complex problems in a multi-team (two or more teams) project is managing communication dependencies between services. This means that teams can constantly trip over and block each other. Consumer-Driven Contracts (CDC) allow you to break these chains of dependencies and give your teams real independence. By defining requirements as “contracts” between teams and having a framework that enables them to automatically test dependencies, each team can develop and test independently with confidence that they will be fully aligned without the need for overwhelming integration testing.
Max size: 500 chars
Long synopsis (optional):
Complexity of managing dependencies in scaled agile arises because of: * Teams are potentially blocked by downstream dependencies. This can also lead to a cascade of blocking. * With each dependency the overall complexity increases. This reduces the effectiveness of automated testing due to the multiple potential causes of failure within each test. * The interlocking of dependencies also means that testing will happen later in the development process which greatly increases the testing feedback loop. * Management and synchronisation of multiple dependencies are also a large overhead. How Consumer-Driven Contracts can help reducing the complexity of dependency management: * The consumers define their requirements as contracts. These contracts are produced as an additional artefact of the automated testing which is expressed as scenarios against a mock service. * These contracts act as a bridge to the communication gap between consumers and providers. As such they enable the providers to automate their testing against those requirements as part of their development process. * Because both the consumers and providers work against the same contracts, it breaks the direct dependency between them. * It enables dependency testing much earlier than integration testing. This shortens the feedback loop as well as reducing the reliance on integration testing. * Mature Consumer-Driven Contracts framework reduces a need for complex management and synchronisation. In this session, we will cover the following: * A brief overview of Consumer-Driven Contracts * Introduction to PACT – one of the most popular frameworks for CDC * How consumers define contracts * How providers work with contracts * How contracts are managed in PACT * Demo – PACT in action
Max size: 5000 chars
Tags:
Speaker directory:
Listed in directory
Not listed
Speakers directory