Slide deck from EuroSTAR 2017 in Copenhagen where I talked about how the Three Amigos made my team more effective, delivering value quicker with little failure demand.
If you have too much re-work coming back into your team, or your customer isn't happy with what is delivered, the Three Amigos could help you get it right first time.
Agile Requirements - Journey of a User StoryCara Turner
This talk is an experience report on how we've used agile and lean requirements practices like story mapping, user stories, mockups, scenarios and sprint review feedback, on a real project.
It is not theory-based, but rather tells the warts-and-all real story, with a number of photos and screenshots, and detailed discussions of benefits and drawbacks, to give an idea of what it really felt like.
YouTube video of the talk: http://www.youtube.com/watch?v=iUIWLNiGYEk
Talk description:
How do agile requirements work? Where does documentation fit in?
For many of us, the transition from the security of upfront analysis and detailed specification documents to ‘doing agile’ and embracing the process of discovery is a terrifying prospect. Agile theories don’t readily address the concern ‘how will we know where we’re going if we don’t start with a Business Requirement Specification?’
In this talk I will take the audience on the journey of a real customer requirement from inception to delivery, seeing how the user stories evolved over time.
Starting at the beginning I’ll take you through how the user need was elaborated into features, stories and scenarios to become released software, and how feedback from customer interaction continued to shape it.
As we go along, we’ll see how the documentation built itself, and how it compares with the traditional Business Requirement Specification document.
With a little bit of theory and a lot of real world experience, we’ll also cover questions like “How can we be sure we’ll cover everything?” and “How do we overcome our uncertainty?”
What are User Stories? How should we write them? How to write them well?
Effective User Stories allow your team to be effective (deliver want the User needs) and efficient (Deliver it quickly and importantly don't deliver unneeded features).
Scrum Master facilitation techniques ensure that business communities get quick and responsive results. Also, a Scrum Master facilitates against impediments and for product owners’ requirements and support development team efforts.
Agile Requirements - Journey of a User StoryCara Turner
This talk is an experience report on how we've used agile and lean requirements practices like story mapping, user stories, mockups, scenarios and sprint review feedback, on a real project.
It is not theory-based, but rather tells the warts-and-all real story, with a number of photos and screenshots, and detailed discussions of benefits and drawbacks, to give an idea of what it really felt like.
YouTube video of the talk: http://www.youtube.com/watch?v=iUIWLNiGYEk
Talk description:
How do agile requirements work? Where does documentation fit in?
For many of us, the transition from the security of upfront analysis and detailed specification documents to ‘doing agile’ and embracing the process of discovery is a terrifying prospect. Agile theories don’t readily address the concern ‘how will we know where we’re going if we don’t start with a Business Requirement Specification?’
In this talk I will take the audience on the journey of a real customer requirement from inception to delivery, seeing how the user stories evolved over time.
Starting at the beginning I’ll take you through how the user need was elaborated into features, stories and scenarios to become released software, and how feedback from customer interaction continued to shape it.
As we go along, we’ll see how the documentation built itself, and how it compares with the traditional Business Requirement Specification document.
With a little bit of theory and a lot of real world experience, we’ll also cover questions like “How can we be sure we’ll cover everything?” and “How do we overcome our uncertainty?”
What are User Stories? How should we write them? How to write them well?
Effective User Stories allow your team to be effective (deliver want the User needs) and efficient (Deliver it quickly and importantly don't deliver unneeded features).
Scrum Master facilitation techniques ensure that business communities get quick and responsive results. Also, a Scrum Master facilitates against impediments and for product owners’ requirements and support development team efforts.
In this session, we would discuss what "Agile Testing" is, what are the well known methods and models of Agile Testing and what to expect on the future of Agile Testing.
Writing Good User Stories (Hint: It's not about writing)one80
User stories are typically the foundation of the Product Backlog. However, the original purpose has been lost. This is from a presentation that was given to help remind everyone of what User Stories are, and what they aren't. The purpose of User Stories is to drive conversations, not to hand "requirements" from one group to the next.
Agile Patterns: Agile Estimation
We’re agile, so we don’t have to estimate and have no deadlines, right? Wrong! This session will consist of review of the problem with estimation in projects today and then an overview of the concept of agile estimation and the notion of re-estimation. We’ll learn about user stories, story points, team velocity, how to apply them all to estimation and iterative re-estimation. We will take a look at the cone of uncertainty and how to use it to your advantage. We’ll then take a look at the tools we will use for Agile Estimation, including planning poker, Visual Studio Team System, and much more. This is a very interactive session, so bring a lot of questions!
Testing is an activity not a phase
Prevent bugs rather than finding bugs
Don’t be a checker, be a tester
Don’t try to break the system, instead help build the best possible system
The whole team is responsible for quality, not just the tester
The Power of an Agile Mindset - Linda RisingAgileSparks
I've wondered for some time whether much of Agile's success was the result of the placebo effect, that is, good things happened because we believed they would. The placebo effect is a startling reminder of the power our minds have over our perceived reality. Now cognitive scientists tell us that this is only a small part of what our minds can do. Research has identified what I like to call "an agile mindset," an attitude that equates failure and problems with opportunities for learning, a belief that we can all improve over time, that our abilities are not fixed but evolve with effort. What's surprising about this research is the impact of an agile mindset on creativity and innovation, estimation, and collaboration in and out of the workplace. I'll relate what's known about this mindset and share some practical suggestions that can help all of us become even more agile.
This presentation describe
What is the need for user stories in Agile project?
What is a story?
Why story?
What is criteria for a good story?
What are not stories?
Prerequisite? Knowledge of Scrum and it’s terms
Planejamento de testes em um mundo ágilAriane Izac
Palestra da Jacqueline Costa no Meetup Devtests na HST - 18/09/2018.
Nesta palestra o intuito é compartilhar ideias em relação a forma como o time de qualidade planeja e executa seus testes. Deixando de lado a ideia que o QA é inimigo do desenvolvedor e que não temos que ter contato com código (e que o dev não precisa testar rs), diferente disso, temos que pensar como nós podemos melhorar o trabalho do nosso time e prover maior qualidade para o nosso cliente :)
Espera ai, eu nunca tive contato com automação, o que isso vai me agregar? Uma visão diferente de abordagem de testes!
Mas eu já trabalho com automação, o que isso vai mudar na minha vida? Sempre digo que é importante termos contato com o que já conhecemos e o que não conhecemos, a troca de experiências é uma das melhores formas de melhorar como fazemos algo!
Prioritization Techniques for Agile TeamsTarang Baxi
Have you ever been in a prioritization discussion where the only priorities are High, Higher, and Highest? Or tried using MoSCoW to prioritize user stories only to find
that 80% of the cards are 'Must Have'?
In this tutorial, we introduce a gamut of different prioritization methods, ranging from simple techniques like stacked ranking or MoSCoW that classify items along a single dimension to multi-dimensional techniques like priority quadrants, Story Maps, and Innovation Games®. We cover pruning feature trees, spending fake currency, and using visual metaphors, while truly identifying what the most important stuff really is. This was most recently presented at the Agile India 2013 conference in Bangalore.
IIT Academy: Agile. Learn how to articulate customer expectations and build precisely what was intended, with the minimum of traceability issues. Acceptance Criteria (in conjunction with good agile practices) is a way to create well documented, high-quality codebase tested using the same set of standards by developers, testers, analysts, designers as well as the Product Owner. Learn good Acceptance Criteria - the keys to customer success in agile delivery!
When the values of commitment, courage, focus, openness, and respect are embodied and lived out by the Scrum Team, the Scrum pillars of transparency, inspection, and adaptation come to life and build trust for all. Scrum Team members learn and explore those values as they work with Scrum events, roles, and artifacts.
Slides from a 5/10/2017 talk at the Nasdaq Entrepreneurial Center (@theCenter) about a lean research mindset, the mechanics of learning from users, and the structure of a research prototype test session.
Climbing out of a Crisis Loop at the BBCRafiq Gemmail
A talk I gave with my friend and mentor Katherine Kirk, on our journey to Scrumban and a leaner workflow at the BBC. See https://www.infoq.com/presentations/bbc-agile-case-study for the full presentation.
In this session, we would discuss what "Agile Testing" is, what are the well known methods and models of Agile Testing and what to expect on the future of Agile Testing.
Writing Good User Stories (Hint: It's not about writing)one80
User stories are typically the foundation of the Product Backlog. However, the original purpose has been lost. This is from a presentation that was given to help remind everyone of what User Stories are, and what they aren't. The purpose of User Stories is to drive conversations, not to hand "requirements" from one group to the next.
Agile Patterns: Agile Estimation
We’re agile, so we don’t have to estimate and have no deadlines, right? Wrong! This session will consist of review of the problem with estimation in projects today and then an overview of the concept of agile estimation and the notion of re-estimation. We’ll learn about user stories, story points, team velocity, how to apply them all to estimation and iterative re-estimation. We will take a look at the cone of uncertainty and how to use it to your advantage. We’ll then take a look at the tools we will use for Agile Estimation, including planning poker, Visual Studio Team System, and much more. This is a very interactive session, so bring a lot of questions!
Testing is an activity not a phase
Prevent bugs rather than finding bugs
Don’t be a checker, be a tester
Don’t try to break the system, instead help build the best possible system
The whole team is responsible for quality, not just the tester
The Power of an Agile Mindset - Linda RisingAgileSparks
I've wondered for some time whether much of Agile's success was the result of the placebo effect, that is, good things happened because we believed they would. The placebo effect is a startling reminder of the power our minds have over our perceived reality. Now cognitive scientists tell us that this is only a small part of what our minds can do. Research has identified what I like to call "an agile mindset," an attitude that equates failure and problems with opportunities for learning, a belief that we can all improve over time, that our abilities are not fixed but evolve with effort. What's surprising about this research is the impact of an agile mindset on creativity and innovation, estimation, and collaboration in and out of the workplace. I'll relate what's known about this mindset and share some practical suggestions that can help all of us become even more agile.
This presentation describe
What is the need for user stories in Agile project?
What is a story?
Why story?
What is criteria for a good story?
What are not stories?
Prerequisite? Knowledge of Scrum and it’s terms
Planejamento de testes em um mundo ágilAriane Izac
Palestra da Jacqueline Costa no Meetup Devtests na HST - 18/09/2018.
Nesta palestra o intuito é compartilhar ideias em relação a forma como o time de qualidade planeja e executa seus testes. Deixando de lado a ideia que o QA é inimigo do desenvolvedor e que não temos que ter contato com código (e que o dev não precisa testar rs), diferente disso, temos que pensar como nós podemos melhorar o trabalho do nosso time e prover maior qualidade para o nosso cliente :)
Espera ai, eu nunca tive contato com automação, o que isso vai me agregar? Uma visão diferente de abordagem de testes!
Mas eu já trabalho com automação, o que isso vai mudar na minha vida? Sempre digo que é importante termos contato com o que já conhecemos e o que não conhecemos, a troca de experiências é uma das melhores formas de melhorar como fazemos algo!
Prioritization Techniques for Agile TeamsTarang Baxi
Have you ever been in a prioritization discussion where the only priorities are High, Higher, and Highest? Or tried using MoSCoW to prioritize user stories only to find
that 80% of the cards are 'Must Have'?
In this tutorial, we introduce a gamut of different prioritization methods, ranging from simple techniques like stacked ranking or MoSCoW that classify items along a single dimension to multi-dimensional techniques like priority quadrants, Story Maps, and Innovation Games®. We cover pruning feature trees, spending fake currency, and using visual metaphors, while truly identifying what the most important stuff really is. This was most recently presented at the Agile India 2013 conference in Bangalore.
IIT Academy: Agile. Learn how to articulate customer expectations and build precisely what was intended, with the minimum of traceability issues. Acceptance Criteria (in conjunction with good agile practices) is a way to create well documented, high-quality codebase tested using the same set of standards by developers, testers, analysts, designers as well as the Product Owner. Learn good Acceptance Criteria - the keys to customer success in agile delivery!
When the values of commitment, courage, focus, openness, and respect are embodied and lived out by the Scrum Team, the Scrum pillars of transparency, inspection, and adaptation come to life and build trust for all. Scrum Team members learn and explore those values as they work with Scrum events, roles, and artifacts.
Slides from a 5/10/2017 talk at the Nasdaq Entrepreneurial Center (@theCenter) about a lean research mindset, the mechanics of learning from users, and the structure of a research prototype test session.
Climbing out of a Crisis Loop at the BBCRafiq Gemmail
A talk I gave with my friend and mentor Katherine Kirk, on our journey to Scrumban and a leaner workflow at the BBC. See https://www.infoq.com/presentations/bbc-agile-case-study for the full presentation.
Advanced Topics in Agile Tsting: Focus on Automationlisacrispin
Slide deck for workshop facilitated by Lisa Crispin and Janet Gregory at Quality in Agile Vancouver 2015. Outcomes from the workshop including all the mind maps will appear eventually on lisacrispin.com.
Slides from a session at the American Alliance of Museums 2014 annual meeting, "Tech Tutorial: User Testing on a Shoestring (Beginners)."
Session presenters:
Christina DePaolo
Dana Mitroff Silvers
Charlotte Sexton
http://www.aam-us.org/events/annual-meeting/program/sessions-and-events?ID=2353
Lightweight and ‘guerrilla’ usability testing for digital humanities projectsMia
For the 2014 Digital Humanities Summer School at the University of Oxford DHOxSS. Usability doesn’t have to be a drag, and user testing doesn’t have to take months and a cast of thousands. Following the principle that ‘any user testing is better than no user testing’, lightweight usability is based on the idea that all you need to run useful tests with real people is a bit of planning and a couple of hours. In this session you will learn how to plan and run a lightweight usability test on paper prototypes or early versions of digital projects and get tips for recruiting and rewarding participants for 'guerrilla usability testing'. At the end of the workshop we will put it into practice by running a live usability test on a site suggested by the audience.
Working in distributed team setups has a bad reputation - for good reasons. I remember many frustrating and useless telcos, so how can this kind of collaboration possibly work out in an agile team setup?
Spoiler alert: if you allow people to do home office you already have a distributed team setup.
Automated Testing with Logic Apps and SpecflowBizTalk360
At Integration Monday, we have had feedback from the audience that people are struggling with understanding how to do automated testing with Logic Apps. Back in the day Mike Stephenson wrote a lot of guidance about automated testing & unit testing for BizTalk. So he took up the challenge of trying to help out on this one.
In this session, we will discus some of the challenges around testing Logic Apps and then we will work through some examples of how testing can be performed and finally we will look at an approach which should put us in a solid place to be able to test Logic Apps both as an individual developer and via an automated build.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
4. Financial report with missing transactions
CC image Chrysalis to Butterfly courtesy of Sid Mosdell on flickr
Two attempts to fix:
• Developer only
• No customer input
• No tester input
5. Financial report project - result
Failed – twice!
• 1st attempt – no effect
• 2nd attempt – abandoned
• Customer unhappy
• Expensive
• One of my favourite projects!
6. No conversations = two failures!
Lesson learned!
• Owner showed me the problem
• DBA and I analysed data
• Another feature team fixed the bug
• Bug fixed within 2 hours
7. My
top
five
problems
CC image OOPS! Courtesy of leasqueaky on flickr
CC image Garbage Dump on the Interstate courtesy of Phil’s 1stPix on flickr
8. 1. That’s not what I wanted!
With acknowledgements to Businessballs.com and S Hogh
9. 2. Trying to solve a problem you don’t understand
Not understanding the business problem affects:
• The solution
• The acceptance criteria
• The exploratory testing
• The work delivered
10. 3. Can you explore something you don’t understand?
CC image I Can’t See You… courtesy of Peter on flickr
Yes! But understanding helps
Yes, but its better if you do!
11. 4. Going it alone - work appears in ‘ready to test’
12. 5. If only we thought about that before…
CC image ‘duh’ courtesy of Charlie Cowins on flickr
15. What is a Three Amigos session?
Collaboration across 3 roles
• Business
• Developers
• Testers
Also called Specification workshop
16. Why do a Three Amigos?
Helps the team answer:
• What problem are we trying to solve? (outcomes)
• How will we solve it?
• How will we test it?
• How will we release it?
• How do we know its done?
20. Is the story ready to be 3 Amigo’d?
Backlog grooming session
• Once per sprint, 30 mins, 2-4 stories.
• Product owner, developer and tester
• Led by product owner
• Does the story describe the business impact?
• Surface unknowns earlier, spikes
21. Our Three Amigos process
• Every story has a 3 Amigos
• Product owner, dev and test
• Invite others, eg architects, security
• 30 minutes
22. Our Three Amigos process - continued
• Work though story template
• Explore everyone’s
suggestions and questions
• Update Jira story as we go
• Split stories as needed
23. Our Three Amigos – location
Remote session – UK & Poland
• At desks
• Via Lync or hangouts
• White board huddle
• Post it notes!
24. Focus on scenarios – rules and examples
Rule
“Useful message generated
when web service end point
returns an error”
25. Focus on scenarios – rules and examples
Rule
“Useful message generated
when web service end point
returns an error”
Examples - different messages
• 404 config error
• 500 error
• Time outs
• Network error
26. Capture anything that affects the story
Release strategy:
• Toggles
• Backwards compatibility
• Rollback considerations
Other:
• Unanswered questions
• Decisions
• Out of scope work
• New stories – split them out
27. How are we going to test this?
• Testing scope
• Rules and examples
• Automated checks
• Exploratory testing charters
• Testing mind map
• Mock required?
• Any technical difficulty?
28. After the Three Amigos session – keep collaborating!
• Demos to PO during dev
• Dev/Test pairing
• Dev & test share test mind map
• Follow up all questions
• Emerging acceptance criteria
29. If the story changes significantly …re 3 Amigo it!
32. Identify unknowns earlier
Is a spike needed?
Do we need to speak to others?
• Ops
• DBAs
• Architects
• Professional Services
• Feature teams
CC image Question 1 courtesy of Virtual EyeSee on flickr
36. Improved WIP and cycle time
Stories pulled by TEAM rather than pushed by an individual
CC image Highland Regiments Tug-of-War courtesy of Jamie McCaffrey on flickr
37. Less escaped bugs in test staging environment
CC image ‘2 Pet Crickets having fun, dancing and doing handstands’ courtesy of I a walsh on flickr
38. Dev and test share knowledge and skills
Developers became better testers
Testers improved technical skills
Mutual respect for each other
CC image group hug courtesy of Mel Aclaro on flickr
42. Given/When/Then syntax during 3 Amigos
Give / When / Then
Given the call accesses the web service
When the web service returns a 404 error
Then a service not found config error
message is written to the logs
43. Given/When/Then syntax de-railed 3 Amigos
Rule & examples
“Useful message logged when end point
returns an error”
404 = configuration msg 1
Time outs = configuration msg 2
500 = error msg 1
Network error = error msg 2
Give / When / Then
Given the call accesses the web service
When the web service returns a 404 error
Then a service not found config error
message is written to the logs
44. It’s too small for a 3 Amigos
CC image “Here’s looking at you’ courtesy of vagawi on flickr
45. Top 10 tips
1. Three Amigos is a collaboration mind set
2. People doing the work attend the sessions
3. Everyone participates – it’s not a presentation
4. Be prepared - come with ideas and questions
5. Ensure everyone is happy before moving on
6. Use example mapping and good story splits
7. Build a shared testing artefact
8. Acceptance criteria in plain language – automate after
9. Time box session to 30 – 60 minutes max
10. Book daily sessions in the calendar to build habits
46. What’s the complication, it’s only conversation…
Credits: The Feeling – Love it when you call.
How can you start?
1. Run an experiment – have a 3 Amigos session!
2. Start talking to your colleagues more
3. Ask questions as early as possible
4. If it looks like a solution, ask what the business impact is.
5. Offer to pair with your dev or tester.
6. Join relevant meetings.
47. Some resources
Books
1. Fifty Quick Ideas to Improve Your User Stories - Chapter: Involve all roles in the discussion
2. BDD in Action by John Ferguson Smart
3. Specification by Example by Gojko Adzic
4. The BDD Books – Discovery Explore behaviour using examples by Gaspar Nagy & Seb Rose
Articles and tools
https://cucumber.io/blog/2014/03/03/the-worlds-most-misunderstood-collaboration-tool
https://cucumber.io/blog/2015/12/08/example-mapping-introduction
http://www.velocitypartners.net/blog/2014/02/11/the-3-amigos-in-agile-teams/
http://itsadeliverything.com/three-amigos-meeting-agree-the-tests-before-development-starts
https://gojko.net/2008/11/12/specification-workshops-an-agile-way-to-get-better-requirements/
http://www.teamuplabs.com/
In my career I’ve worked with some really talented people – developers, testers, product owners and business analysts. But we experienced some problems over and over again.
Some teams were waterfall but most were working in an Agile way with sprint planning, design sessions of some kind and daily stand ups.
The main problem I saw was work we thought was finished coming back with bugs or not being quite what the customer was expecting.
Then about 3 years ago I attended a BDD workshop run by Matt Wynne in London. The first day was very interesting and really stood out for me.
It was about the 3 Amigos and how effective collaboration can improve our story development.
In my experience, the Three Amigos approach did make us a more effective team. By that I mean we delivered value quicker and with little or no failure demand.
Before I tell you about the Three Amigos, I’m going to go over the most common problems I’ve seen in the teams I’ve worked with.
The Three Amigos way of working helped my team get over these problems.
I was a contract developer in a large financial organisation in London.
We produced a transaction report for our customers but it was missing some stock exchange transactions – customers unhappy.
Two separate attempts to fix by different developers.
Picture – attribution reqd - https://static.pexels.com/photos/53621/calculator-calculation-insurance-finance-53621.jpeg
First attempt – investigated, coded and tested by the developer. Made no difference.
2nd attempt – investigated and solution devised by developer.
They realised it wouldn’t work but didn’t know what to do next. Quite rightly stopped the project.
Pixabay picture, no attribution rqd - https://pixabay.com/en/mistake-error-question-mark-fail-1966448/
Favourite project –valuable lesson - effective collaboration is key to delivering value
Its about people with different expertise talking to each other early and often.
Eg talked to customer, DBA, other feature team – bug fixed in 2 hrs
That financial report example we’ve just talked about shows the 5 common problems I’ve seen happen in lots of teams.
I’ve found that the Three Amigos helped us avoid all of those problems.
Customer/PO describes what they want.
Team develops it.
Team demo’s it to PO at the end.
Customer expectations are not quite met – either due to misunderstandings or because it is what the customer asked for but its not what the customer actually needed.
Not fully understanding the WHY leads to not fully exploring the possible solutions and often building the wrong thing.
You may have developed it the right way with great code and techniques, but if it doesn’t solve the business problem, you haven’t delivered value.
If testers don’t know the context or WHY we are doing the story, they test against the spec instead of seeing whether our solution gives value to our customers.
Understanding the user’s real world and the jobs they are trying to do means you can test with that focus in mind.
This situation often happens when testers are:
- Not in kick offs
Not asking questions
Too shy to say they don’t understand the solution or the architecture
I’ve seen this where
- Coding starts before the rest of the team had any input, eg ‘weekend work’ or the developer was ready so picked up a story and just got going on it
Testers didn’t know anything about the story they were testing – its context, solution, architecture etc
I’ve seen this cause customer impacting incidents resulting in urgent work need to create and release a fix, often interrupting people in other teams.
This is about failure demand. Where we have to re-visit development because not all aspects were considered before starting coding.
The PO, developer and tester may have talked about the work, but not very effectively.
We end up with bugs to fix or ‘enhancements’ to develop.
So that’s a quick overview of some common problems I’ve seen in software delivery.
Problems I’ve seen solved by my team doing Three Amigo’s
Now lets look at the Three Amigos:
- who they are, what they do, the benefits we gained that made us more effective team, and the challenges we had to overcome in the process.
Plus some tips on getting started with Three Amigos if you aren’t already doing them.
A three amigos session is about collaboration across three roles, three voices
- the business represented by the PO / BA / Customer,
developers who understand the code and the architecture, the technical side
the testers with their curiosity and their exploratory mindsets.
You may have heard them called story kick offs or specification workshops, especially if you’ve read Gojko’s book - Specification By Example
Why would you do a Three Amigos?
So that the team has a common understanding of WHAT we are building and WHY we are building it.
What’s the business impact we are trying to make?
What real world customer problem are we solving?
What outcome is wanted?
How will we solve the problem?
How will we test it, release it, and support it?
How do we know we’ve been successful?
All of these are things that the team can answer during a Three Amigos. Having a good understanding of all this means the team has a much better chance of delivering value.
During a three amigos, we work out the acceptance criteria.
We do that by brainstorming the various scenarios, working out the rules for the story, and the examples that show those rules in action.
Because the PO is involved, you can quickly get clarification on any business context or questions.
The exploratory testing mindset here is invaluable. Testers will often think of all sorts of situations that we need to cover – those ‘what happens if….’ situations
Three amigos isn’t just one meeting. It’s a collaboration mindset.
Its about those three voice continuing to talk to each other throughout the development process.
As you can see, its not rocket science.
Its about people with different expertise talking to each other early and often to understand WHY we are doing the work, HOW we are doing the work and HOW we know we’ve added some value.
So here’s how the Three Amigos fitted into our team processes.
2 week sprints with planning, daily stand ups and retros
A short backlog grooming session which I’ll explain in a minute.
We do a Three Amigos for every story we work on.
Backlog grooming session was about making sure the next few stories we about to work on were in a fit state for a Three Amigos
We’d make sure the story described the business impact - the problem to solve - the context, the WHY. (not a big long analysis, just the usual placeholder for a conversation)
Sometimes we’d quickly realise we didn’t know enough to progress the story any further – a spike was needed or we had questions that had to be answered first.
Advantages – we came to the Three Amigos better prepared and we surfaced unknowns earlier.
30 mins = 2-4 stories
This is our Kanban board. First column is the Three Amigos column.
Every story has a Three Amigos before work starts on it.
The PO, devs and testers came to the Three Amigos.
Depending on the story, we’d invite others to come too – architects, security or performance specialists.
30 mins
Everyone has a voice - don’t let dominant personalities take over.
Everyone is an active participant.
Knowing each other well helps – forming, norming, storming, performing
Understand each other’s body language, facial expressions
Many ways to Three Amigos - see slide
Omnichannel team split between UK and Poland.
All Three Amigos were remote via video conferencing and online collaboration tools.
Two of the devs developed an Example Mapping tool to help them with their rules and examples.
Flesh out the acceptance criteria with rules and examples. Example mapping techniques.
Rule must be clear – eg a useful message for ops/support when end point returns an error
Testers asked questions re different error types => different messages?
Flesh out the acceptance criteria with rules and examples. Example mapping techniques.
Rule must be clear – eg a useful message for ops/support when end point returns an error
Testers asked questions re different error types => different messages?
Toggles for two reasons
Trunk based development => protect the customer from work in progress
Paid for features – only available to customers on certain license levels
A powerful question – I’ve seen this change the design of the solution.
Remember the Three Amigos isn’t just one meeting – it’s a collaboration mindset.
Pic: https://static.pexels.com/photos/38940/pexels-photo-38940.jpeg
Things may change as
Questions get answered
Requirements change - business reasons change
So that was an overview of how we incorporated the Three Amigos into our team’s processes.
Now I want to go over some of the main benefits we experienced that helped my team work more effectively.
I know I’ve said this a few times already but it really was one of the most important effects of the doing Three Amigos.
Because we understood the WHY, we built the right thing first time more often.
That made the team happy, productive and improved our work flow
For example
- Provision servers,
- Architectural and database considerations,
- User input and feedback on our ideas, eg PS, Customer Support, Ops., customers (where possible)
We had less unknowns cropping up during story development.
Eg- error messages – During Three Amigos, decided to check the wording of our intended error messages with Support and Ops. They didn’t find them useful. We changed them.
Would have been a delay and rework if we hadn’t asked them early on.
Pic: pixabay - https://pixabay.com/en/dinosaur-mirror-wing-mirror-behind-1564323/
Naturally evolved out of the discussions we had in our Three Amigos
Discussed what was in and out of scope
Especially the brainstorming the scenarios, rules and examples. Sometimes a scenario would become a new story.
Pic: https://hd.unsplash.com/photo-1455884981818-54cb785db6fc
Having the PO, Dev and Tester working out good rules and examples for our acceptance criteria’s together resulted in us having more useful automated tests.
The rules and examples became our automated tests.
This Reduced our level of failure demand (bugs and rework) due to misunderstandings about what the problem we were trying to solve was, and how the system was supposed to work.
Experiment with example mapping techniques.
Because every story had a three amigos resulting in a good understanding of the work to be done, we focused on finishing that story, before moving on to the next.
Our WIP limits became more realistic and cycle time decreased.
This ties in with Kanban and its emphasis on flow of work, and systems thinking
Stop starting and start finishing
MV – 30-50 bugs on a story.
At NVM, team was a bit shocked when we got a bug – ‘how did that happen’ in retro or a mini 5 Whys.
Often due to 3 amigo skipped, or not having the right people involved.
https://www.flickr.com/photos/ivanwalsh/4133409822/
After working closely with developers, the testers technical skills improved. Started doing some stories – writing SQL, Javascript etc
Developers would code review and help with refactoring which further improved the tester’s skills.
Developers exploratory testing skills improved too as they saw how we testers thought. Sharing out testing mind maps with them encouraged them to exploratory test as well.
After Alex, the tester, found a bug, the Developer said – “I wanted to find that bug. I was trying to think like Alex!”
How powerful is that – the whole team thinking like exploratory testers!
On another team, after working with the exploratory tester, the developers said they now understand why exploratory testing is valuable. Its helped them do better work.
Wasn’t all plain sailing. We did have some problems.
What – another meeting! Waste of time – just want to crack on and code, do some real work.
Team has a culture of experimenting so were willing to give it a go.
Pic: https://www.flickr.com/photos/bevgoodwin/10551419673/
Initially the main problem we had was people not being available to do a Three Amigos.
Normally it was the tester not available – at NVM testers do other jobs to, eg improving our release process.
We hadn’t formed the habit of doing three amigos yet.
Solution – put two 30 min slots a day in everyone’s calendar so we were always available twice a day.
In stand up we’d work out if we needed a Three Amigos today
Once the habit of always doing a Three Amigo’s was formed, we didn’t need the calendar invites anymore.
We automate our acceptance criteria using Specflow.
We tried to write the scenarios in Gherkin during the Three Amigos.
We ended up focusing on getting the Gherkin syntax right instead of thinking about all the possible scenarios.
This lead to increased failure demand - more bugs and rework because we had missed scenarios an acceptance criteria.
Also meant our Three Amigos sessions took a long time and people got frustrated, bored, distracted and a bit grumpy.
Instead, focus on getting the scenarios fleshed out with rules and examples in normal language.
We’ve used bullet points, simple tables – anything that is clear and works.
We did the Gherkin G/W/T later when automating.
5-10 min chat is still a 3 amigo
Story of 10 minute chat that changed design of a bug fix – popped out of all day training, developer grabbed me
Pic: https://www.flickr.com/photos/vagawi/1391672150/in/photostream/
If you aren’t doing 3 Amigos at the moment, how can you get started?
Big bang
Baby steps