Bernardo Guerreiro - Get with the Pact - "Gotchas" of implementing Contract Testing the right way
So you need to test micro-services, and you’ve been hearing Consumer Driven Contract Testing (CDCT) with Pact is the cool
new thing on the block? It seems like it perfectly fits what you need. You might even go ahead and give it ago, run a
proof of concept yourself or have a few developers/testers try it. And if this is gonna work, the ideal is that all your
teams use it - otherwise you will have blind spots in your testing approach. But how do you go from a proof of concept
to several teams adopting it? How do you make sure everyone is doing the right things and has the proper understanding
of Pact? How do you avoid mistakes by people who didn’t take the proper time to understand this tool? How do you get
through Pact’s learning curve and make sure you are not misunderstanding it yourself?
In this workshop, we are going to try to work as a company with teams looking to adopt CDCT, with a focus on avoiding some pitfalls that might cost you time and money.
What can you look to gain from this workshop?
• A deeper understanding of Contract Testing through the use of Pact;
• Knowledge on important concepts like versioning, tagging and naming conventions;
• Insight on Pact’s learning curve, and some mistakes people tend to make;
• An idea on how the Pact workflow works from a simulated hands-on situation.
You can get more out of this workshop if you already have some beginner/intermediate knowledge of Pact. However, we will
briefly go through some basics, and at the very least you can pick up some important notes and tips along the way. So,
all are welcome!
Requirements:
If you wish, you can follow the workshop on your laptop. This works best if you have the following:
- a GitHub account
- git (or other source control tool)
- Node + nvm
- Docker (optional)
You will still be able to follow without a laptop.
Slides: Get with the Pact - “Gotchas” of implementing Contract Testing the right way
So you need to test micro-services, and you’ve been hearing Consumer Driven Contract Testing (CDCT) with Pact is the cool
new thing on the block? I...
show more
So you need to test micro-services, and you’ve been hearing Consumer Driven Contract Testing (CDCT) with Pact is the cool
new thing on the block? It seems like it perfectly fits what you need. You might even go ahead and give it ago, run a
proof of concept yourself or have a few developers/testers try it. And if this is gonna work, the ideal is that all your
teams use it - otherwise you will have blind spots in your testing approach. But how do you go from a proof of concept
to several teams adopting it? How do you make sure everyone is doing the right things and has the proper understanding
of Pact? How do you avoid mistakes by people who didn’t take the proper time to understand this tool? How do you get
through Pact’s learning curve and make sure you are not misunderstanding it yourself?
In this workshop, we are going to try to work as a company with teams looking to adopt CDCT, with a focus on avoiding some pitfalls that might cost you time and money.
What can you look to gain from this workshop?
• A deeper understanding of Contract Testing through the use of Pact;
• Knowledge on important concepts like versioning, tagging and naming conventions;
• Insight on Pact’s learning curve, and some mistakes people tend to make;
• An idea on how the Pact workflow works from a simulated hands-on situation.
You can get more out of this workshop if you already have some beginner/intermediate knowledge of Pact. However, we will
briefly go through some basics, and at the very least you can pick up some important notes and tips along the way. So,
all are welcome!
Requirements:
If you wish, you can follow the workshop on your laptop. This works best if you have the following:
- a GitHub account
- git (or other source control tool)
- Node + nvm
- Docker (optional)
You will still be able to follow without a laptop.
Slides: Get with the Pact - “Gotchas” of implementing Contract Testing the right way
show less
Fiona Charles - Boost Your Leadership Capability with Heuristics
Do you do these things with your team members?
• Challenge them to solve their own problems
• Motivate them with frequent feedback
• Empower them to make their own mistakes
Leaders often base their daily interactions with team members on similar premises. But do they always work?
Good leaders know that no leadership practice is universally applicable. We don’t apply “standard” practices blindly.
Instead, we prefer to evaluate any practice for fit with a given team member in a particular circumstance. Perhaps we
also develop and selectively apply our own practices. This is using practices heuristically—as imperfect models or rules
of thumb that we can call on when they seem appropriate and useful.
By consciously adopting heuristic methods, we can help grow our practice of leadership from black art to something more
closely resembling science. We can expand our capabilities.
In this interactive workshop, participants will work in teams to share or develop heuristics for leadership, and then apply their own experiences to evaluate them critically.
We’ll have fun exploring the practices of test leadership and developing a set of positive heuristics that can help us
all become more effective leaders in our daily work.
This workshop is for testers, test managers, test leads — anyone who is or wants to become a test leader.
Slides: There are no slides for this workshop.
Do you do these things with your team members?
• Challenge them to solve their own problems
• Motivate them with frequent feedback
• Empow...
show more
Do you do these things with your team members?
• Challenge them to solve their own problems
• Motivate them with frequent feedback
• Empower them to make their own mistakes
Leaders often base their daily interactions with team members on similar premises. But do they always work?
Good leaders know that no leadership practice is universally applicable. We don’t apply “standard” practices blindly.
Instead, we prefer to evaluate any practice for fit with a given team member in a particular circumstance. Perhaps we
also develop and selectively apply our own practices. This is using practices heuristically—as imperfect models or rules
of thumb that we can call on when they seem appropriate and useful.
By consciously adopting heuristic methods, we can help grow our practice of leadership from black art to something more
closely resembling science. We can expand our capabilities.
In this interactive workshop, participants will work in teams to share or develop heuristics for leadership, and then apply their own experiences to evaluate them critically.
We’ll have fun exploring the practices of test leadership and developing a set of positive heuristics that can help us
all become more effective leaders in our daily work.
This workshop is for testers, test managers, test leads — anyone who is or wants to become a test leader.
Slides: There are no slides for this workshop.
show less
Gáspár Nagy - Breaking down problems with example mapping
A typical software delivery process is full of accidental domain discovery – even if the project follows agile practices. No matter how good specification are that you receive or how good your Product Owner is in explaining the User Story requirements; whenever you as a developer or a tester start working on the solution for real, new questions will arise. You need to go back to the Product Owner or try to answer them yourself based on assumptions. Accidental discovery.
Regardless of which agile software methodology you use, there is a time when you show the created solution to the business representatives to get feedback (like in Sprint Review meeting in Scrum). And the feedback is very rarely “Ship it!”, but more often asking for changes or clarifying misunderstandings. Accidental discovery again!
Accidental discovery causes longer story implementation cycles (Have you heard about “done done”?) and unnecessary rework. Waste.
Behavior Driven Development (BDD) is an approach that encourages deliberate discovery: trying to answer those questions that would otherwise pop up during the implementation and getting feedback about the solution even before putting down a single line of code. How is this possible? BDD uses a combination of example-based specification and requirement workshop facilitation to achieve deliberate discovery.
In this workshop, you will not only hear about deliberate discovery, specification by example, BDD and example mapping, but you will also have a chance to practice it.
Slides: Breaking down problems with example mapping
A typical software delivery process is full of accidental domain discovery – even if the project follows agile practices. No matter how good specif...
show more
A typical software delivery process is full of accidental domain discovery – even if the project follows agile practices. No matter how good specification are that you receive or how good your Product Owner is in explaining the User Story requirements; whenever you as a developer or a tester start working on the solution for real, new questions will arise. You need to go back to the Product Owner or try to answer them yourself based on assumptions. Accidental discovery.
Regardless of which agile software methodology you use, there is a time when you show the created solution to the business representatives to get feedback (like in Sprint Review meeting in Scrum). And the feedback is very rarely “Ship it!”, but more often asking for changes or clarifying misunderstandings. Accidental discovery again!
Accidental discovery causes longer story implementation cycles (Have you heard about “done done”?) and unnecessary rework. Waste.
Behavior Driven Development (BDD) is an approach that encourages deliberate discovery: trying to answer those questions that would otherwise pop up during the implementation and getting feedback about the solution even before putting down a single line of code. How is this possible? BDD uses a combination of example-based specification and requirement workshop facilitation to achieve deliberate discovery.
In this workshop, you will not only hear about deliberate discovery, specification by example, BDD and example mapping, but you will also have a chance to practice it.
Slides: Breaking down problems with example mapping
show less
Janet Gregory & Lisa Crispin - Exploring Features and Stories - Help Your Team Build Shared Understanding
Do you ever have this experience: Your team discusses a story in the planning meeting, codes and tests using good practices, delivers it to the product owner or customer - who then rejects it because it wasn’t what they wanted. We see this all too frequently, even on experienced agile teams. It leads to long cycle times, high rejection rates, wasted time and general frustration.
We don’t want to get stuck in “analysis paralysis”, but we do need to make sure that everyone on the cross-functional product team shares the same understanding of each story they need to deliver before they begin testing and coding. Teams also need to remember there are many different quality attributes that may be critical to a product’s success.
In this hands-on workshop, you’ll learn techniques such as the 7 dimensions of quality to help you apply your testing mindset to elicit examples and business rules from stakeholders. You’ll practice turning those into test scenarios that guide development of the right things, so that your team can deliver value to the business frequently and predictably.
Learning takeaways:
• Ways to explore requirements and do deliberate discovery, in a timely manner, to uncover missing, conflicting, erroneous and unnecessary requirements.
• Techniques from agile business analysis and agile testing models that help teams scope each feature and deliver acceptable value to the business, considering all relevant quality attributes.
• How to use your testing mindset and conversation frameworks to help your whole team build shared understanding for each feature and story, shortening cycle time and reducing rejections.
Slides: Exploring Features and Stories - Help Your Team Build Shared Understanding
Do you ever have this experience: Your team discusses a story in the planning meeting, codes and tests using good practices, delivers it to the pro...
show more
Do you ever have this experience: Your team discusses a story in the planning meeting, codes and tests using good practices, delivers it to the product owner or customer - who then rejects it because it wasn’t what they wanted. We see this all too frequently, even on experienced agile teams. It leads to long cycle times, high rejection rates, wasted time and general frustration.
We don’t want to get stuck in “analysis paralysis”, but we do need to make sure that everyone on the cross-functional product team shares the same understanding of each story they need to deliver before they begin testing and coding. Teams also need to remember there are many different quality attributes that may be critical to a product’s success.
In this hands-on workshop, you’ll learn techniques such as the 7 dimensions of quality to help you apply your testing mindset to elicit examples and business rules from stakeholders. You’ll practice turning those into test scenarios that guide development of the right things, so that your team can deliver value to the business frequently and predictably.
Learning takeaways:
• Ways to explore requirements and do deliberate discovery, in a timely manner, to uncover missing, conflicting, erroneous and unnecessary requirements.
• Techniques from agile business analysis and agile testing models that help teams scope each feature and deliver acceptable value to the business, considering all relevant quality attributes.
• How to use your testing mindset and conversation frameworks to help your whole team build shared understanding for each feature and story, shortening cycle time and reducing rejections.
Slides: Exploring Features and Stories - Help Your Team Build Shared Understanding
show less
Rob Meaney - Exploring Testability
Failure can be catastrophic and speed to market is a critical business advantage, putting development teams under more
pressure than ever to get software from concept to customer in as short a time frame as possible.Speed is a key factor,
and to have speed you need an understanding of the impact of any change.
You need to know how high performing teams achieve the seemingly impossible task of delivering valuable software while
increasing speed and frequency - without compromising quality.
Teams need to adopt a relentless focus on Testability, eliminating anything that makes testing difficult, slow, wasteful or less trustworthy.
A whole team focus on Testability shortens feedback loops and accelerates learning while enabling more robust
automation, as well as deep, meaningful testing.
In this workshop, you’ll work with core concepts and models used to explain and advocate for Testability. Participants
will work through a series of exercises that I have used through my career from Tester to Test Coach. The exercises will
help to identify and address testing debt as well as establish a whole team focus on Testability.
This workshop is aimed at anyone involved in software delivery but would be most beneficial for developers and testers.
Takeaways
After the workshop you will:
• Understand and explain Testability, the factors that influence Testability and the impact testing debt has on a teams
productivity.
• Identify and address architectural Testability problems using a combination of models and practical exercises.
• Identify and address holistic, whole team Testability problems using a combination of models and practical exercises.
Slides: Exploring Testability (.key)
Worksheet: Exploring Testability - worksheet
Failure can be catastrophic and speed to market is a critical business advantage, putting development teams under more
pressure than ever to get so...
show more
Failure can be catastrophic and speed to market is a critical business advantage, putting development teams under more
pressure than ever to get software from concept to customer in as short a time frame as possible.Speed is a key factor,
and to have speed you need an understanding of the impact of any change.
You need to know how high performing teams achieve the seemingly impossible task of delivering valuable software while
increasing speed and frequency - without compromising quality.
Teams need to adopt a relentless focus on Testability, eliminating anything that makes testing difficult, slow, wasteful or less trustworthy.
A whole team focus on Testability shortens feedback loops and accelerates learning while enabling more robust
automation, as well as deep, meaningful testing.
In this workshop, you’ll work with core concepts and models used to explain and advocate for Testability. Participants
will work through a series of exercises that I have used through my career from Tester to Test Coach. The exercises will
help to identify and address testing debt as well as establish a whole team focus on Testability.
This workshop is aimed at anyone involved in software delivery but would be most beneficial for developers and testers.
Takeaways
After the workshop you will:
• Understand and explain Testability, the factors that influence Testability and the impact testing debt has on a teams
productivity.
• Identify and address architectural Testability problems using a combination of models and practical exercises.
• Identify and address holistic, whole team Testability problems using a combination of models and practical exercises.
Slides: Exploring Testability (.key)
Worksheet: Exploring Testability - worksheet
show less