SlideShare uma empresa Scribd logo
1 de 19
Is your code Toggled?!? 
Confidential | Copyright © Agile Testing Alliance Global Gathering 
Devi Sridharan 
Siddhartha Deshpande
What is Agile? 
Confidential | Copyright © Agile Testing Alliance Global Gathering
According to Agile Manifesto... 
The Agile Manifesto is based on 12 principles 
1.Customer satisfaction by rapid delivery of useful software 
2.Welcome changing requirements, even late in development 
3.Working software is delivered frequently (weeks rather than months) 
4.Close, daily cooperation between business people and developers 
5.Projects are built around motivated individuals, who should be trusted 
6.Face-to-face conversation is the best form of communication (co-location) 
7.Working software is the principal measure of progress 
8.Sustainable development, able to maintain a constant pace 
9.Continuous attention to technical excellence and good design 
10.Simplicity—the art of maximizing the amount of work not done—is essential 
11.Self-organizing teams 
12.Regular adaptation to changing circumstances 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Branches 
-Release branch 
Master & single work-in-branch 
-Feature branch 
o Master & Multiple branches 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Release Branch 
-Delayed integration 
-Hotfixes has to wait till 
next release. 
-Can’t add any code if its 
not part of current release 
Confidential | Copyright © Agile Testing Alliance Global Gathering 
Trunk 
Release Branches
Feature Branches 
-Merging becomes very difficult 
-Increases the testing effort 
-Lot of time spent on Regression & 
Integration Testing 
-Reduces the re-usability of shared automate 
test-suite 
Confidential | Copyright © Agile Testing Alliance Global Gathering 
Feature 1 
Trunk 
Feature 2
Feature Toggle!?! 
-What is toggle? 
-Feature Toggle is a conditional statement that 
hides certain functionality. 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Guard the code 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Types of Feature Toggles 
-Release Toggles: (Development Environment) 
- Hide incomplete features and are removed as soon as 
feature is ready 
-Business Toggles: (Business Sponsors) 
- Enable feature for group of people and can be changed 
on fly 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Feature Toggles is opt for…. 
-Hiding or disabling new features in UI 
-Hiding/Disabling new components 
-To support multiple versions of feature/component 
-Adding new feature to an application 
-Enhancing an existing feature 
Confidential | Copyright © Agile Testing Alliance Global Gathering
How to implement ? 
- Config files 
- Toggle manager controlled by Admin 
- Session cookie 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Lets Toggle!! 
Few ways to control the application using toggles 
-via server-side 
-via client-side 
-URL parameterization 
-Javascript 
Confidential | Copyright © Agile Testing Alliance Global Gathering
via server 
pros 
-Feature is available,till next build is deployed 
-No further setup is needed 
cons 
-Need to wait for deployment to complete 
-Switching between toggles is difficult 
Confidential | Copyright © Agile Testing Alliance Global Gathering
via client 
- Need to know feature flag to enable it 
- Feature is available,only on local machine 
- Testing becomes easier,as we have more control of 
application 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Business toggles 
-Used in production environment 
-To enable A/B testing 
-Release features to group of users for early feedback 
Confidential | Copyright © Agile Testing Alliance Global Gathering
While implementing toggles... 
-Try to keep less number of toggles 
-Mutually Exclusive toggles 
-Remove the toggles as soon as corresponding feature is 
implemented completely 
Confidential | Copyright © Agile Testing Alliance Global Gathering
What will you achieve…?! 
-Continuous integration 
-More visibility into all work streams 
-No merge conflicts and hence easy to refactor the 
code 
-Reduced time spent on testing 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Having said…. 
Feature toggle is second best solution. 
The best solution is to find a way to 
gradually integrate, without feature toggles 
or feature switches 
Confidential | Copyright © Agile Testing Alliance Global Gathering
Confidential | Copyright © Agile Testing Alliance Global Gathering

Mais conteúdo relacionado

Mais procurados

TestCorner #22 - Path to survive among micro-services for QA
TestCorner #22 - Path to survive among micro-services for QATestCorner #22 - Path to survive among micro-services for QA
TestCorner #22 - Path to survive among micro-services for QA
HTC
 

Mais procurados (20)

DevOps
DevOpsDevOps
DevOps
 
Oracle Development Cloud Service
Oracle Development Cloud ServiceOracle Development Cloud Service
Oracle Development Cloud Service
 
Leveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeployLeveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and Deploy
 
What Can The Spira API Do For You?
 What Can The Spira API Do For You? What Can The Spira API Do For You?
What Can The Spira API Do For You?
 
TestCorner #22 - Path to survive among micro-services for QA
TestCorner #22 - Path to survive among micro-services for QATestCorner #22 - Path to survive among micro-services for QA
TestCorner #22 - Path to survive among micro-services for QA
 
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
Definition Driven API Development: How OAS & Swagger Help Teams Streamline Th...
 
Building Quality into Your DevSecOps Pipelines
Building Quality into Your DevSecOps PipelinesBuilding Quality into Your DevSecOps Pipelines
Building Quality into Your DevSecOps Pipelines
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
 
RemoteLaunch Overview Presentation (2019)
RemoteLaunch Overview Presentation (2019)RemoteLaunch Overview Presentation (2019)
RemoteLaunch Overview Presentation (2019)
 
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway PatternAPI Gateway How-To: The Many Ways to Apply the Gateway Pattern
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
 
Shift_Left
Shift_LeftShift_Left
Shift_Left
 
Sa fe 4.0 implementing Enterprise Agile using the Scaled Agile Framework
Sa fe 4.0   implementing Enterprise Agile using the Scaled Agile FrameworkSa fe 4.0   implementing Enterprise Agile using the Scaled Agile Framework
Sa fe 4.0 implementing Enterprise Agile using the Scaled Agile Framework
 
MuleSoft Surat Virtual Meetup#17 - Automated Code Review
MuleSoft Surat Virtual Meetup#17 - Automated Code ReviewMuleSoft Surat Virtual Meetup#17 - Automated Code Review
MuleSoft Surat Virtual Meetup#17 - Automated Code Review
 
Enablers in SAFe
Enablers in SAFeEnablers in SAFe
Enablers in SAFe
 
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue Tracking
 
SpiraTest Overview Presentation (2019)
SpiraTest Overview Presentation (2019)SpiraTest Overview Presentation (2019)
SpiraTest Overview Presentation (2019)
 
Process
ProcessProcess
Process
 
Spira Team Overview Presentation
Spira Team Overview PresentationSpira Team Overview Presentation
Spira Team Overview Presentation
 
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7  : MuleSoft Virtual Muleys MeetupsMetadata definition between flows on Studio 7  : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
 

Destaque

Feature Toggles
Feature TogglesFeature Toggles
Feature Toggles
Devi Sridharan
 

Destaque (13)

Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case Study
 
Bamboo Hands on training 2016
Bamboo Hands on training 2016Bamboo Hands on training 2016
Bamboo Hands on training 2016
 
Bamboo Continuous Integration Server - Brief
Bamboo Continuous Integration Server - BriefBamboo Continuous Integration Server - Brief
Bamboo Continuous Integration Server - Brief
 
Continuous integration using Bamboo
Continuous integration using BambooContinuous integration using Bamboo
Continuous integration using Bamboo
 
03 - Continuous Integration
03 - Continuous Integration03 - Continuous Integration
03 - Continuous Integration
 
London Atlassian User Group - February 2014
London Atlassian User Group - February 2014London Atlassian User Group - February 2014
London Atlassian User Group - February 2014
 
Bamboo
BambooBamboo
Bamboo
 
Feature Toggles
Feature TogglesFeature Toggles
Feature Toggles
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introduction
 
Bamboo construction (final ppt)
Bamboo construction (final ppt)Bamboo construction (final ppt)
Bamboo construction (final ppt)
 
Python in the Hadoop Ecosystem (Rock Health presentation)
Python in the Hadoop Ecosystem (Rock Health presentation)Python in the Hadoop Ecosystem (Rock Health presentation)
Python in the Hadoop Ecosystem (Rock Health presentation)
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
Hadoop with Python
Hadoop with PythonHadoop with Python
Hadoop with Python
 

Semelhante a Is your code Toggled?!? By Devi Sridharan & Siddhartha Deshpande

Introduction to lean and agile
Introduction to lean and agileIntroduction to lean and agile
Introduction to lean and agile
Terry Bunio
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
OlympicSoftware
 
Improving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetImproving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNet
Venkat Janardhanam, MS, MBA
 
Spira plan overview presentation
Spira plan overview presentationSpira plan overview presentation
Spira plan overview presentation
Trabalistra Bagaz
 
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Kevin Hancock
 
Fundamentals of Product Definition Process - MRD PRD FRD
Fundamentals of Product Definition Process - MRD PRD FRDFundamentals of Product Definition Process - MRD PRD FRD
Fundamentals of Product Definition Process - MRD PRD FRD
Leon Kotovich
 

Semelhante a Is your code Toggled?!? By Devi Sridharan & Siddhartha Deshpande (20)

Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
 
How to accelerate UAT & Regression Testing
How to accelerate UAT & Regression TestingHow to accelerate UAT & Regression Testing
How to accelerate UAT & Regression Testing
 
Developer want change Ops want control - devops
Developer want change Ops want control - devopsDeveloper want change Ops want control - devops
Developer want change Ops want control - devops
 
MuleSoft Singapore Meetup May 2020
MuleSoft Singapore Meetup May 2020MuleSoft Singapore Meetup May 2020
MuleSoft Singapore Meetup May 2020
 
Mule soft meetup_th_no1
Mule soft meetup_th_no1Mule soft meetup_th_no1
Mule soft meetup_th_no1
 
Introduction to lean and agile
Introduction to lean and agileIntroduction to lean and agile
Introduction to lean and agile
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
Testing strategies and best practices using MUnit
Testing strategies and best practices using MUnitTesting strategies and best practices using MUnit
Testing strategies and best practices using MUnit
 
Scaled Professional Srum and Nexus on the Scrum User Group Berlin
Scaled Professional Srum and Nexus on the Scrum User Group BerlinScaled Professional Srum and Nexus on the Scrum User Group Berlin
Scaled Professional Srum and Nexus on the Scrum User Group Berlin
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
 
Mule soft meetup_tw_no1_june17
Mule soft meetup_tw_no1_june17Mule soft meetup_tw_no1_june17
Mule soft meetup_tw_no1_june17
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Achieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseAchieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the Enterprise
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
 
Improving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetImproving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNet
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
 
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporaçõesLuiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
Luiz Fernando Testa Contador - Aplicando DevOps em grandes corporações
 
Spira plan overview presentation
Spira plan overview presentationSpira plan overview presentation
Spira plan overview presentation
 
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
 
Fundamentals of Product Definition Process - MRD PRD FRD
Fundamentals of Product Definition Process - MRD PRD FRDFundamentals of Product Definition Process - MRD PRD FRD
Fundamentals of Product Definition Process - MRD PRD FRD
 

Mais de Agile Testing Alliance

Mais de Agile Testing Alliance (20)

#Interactive Session by Anindita Rath and Mahathee Dandibhotla, "From Good to...
#Interactive Session by Anindita Rath and Mahathee Dandibhotla, "From Good to...#Interactive Session by Anindita Rath and Mahathee Dandibhotla, "From Good to...
#Interactive Session by Anindita Rath and Mahathee Dandibhotla, "From Good to...
 
#Interactive Session by Ajay Balamurugadas, "Where Are The Real Testers In T...
#Interactive Session by  Ajay Balamurugadas, "Where Are The Real Testers In T...#Interactive Session by  Ajay Balamurugadas, "Where Are The Real Testers In T...
#Interactive Session by Ajay Balamurugadas, "Where Are The Real Testers In T...
 
#Interactive Session by Jishnu Nambiar and Mayur Ovhal, "Monitoring Web Per...
#Interactive Session by  Jishnu Nambiar and  Mayur Ovhal, "Monitoring Web Per...#Interactive Session by  Jishnu Nambiar and  Mayur Ovhal, "Monitoring Web Per...
#Interactive Session by Jishnu Nambiar and Mayur Ovhal, "Monitoring Web Per...
 
#Interactive Session by Pradipta Biswas and Sucheta Saurabh Chitale, "Navigat...
#Interactive Session by Pradipta Biswas and Sucheta Saurabh Chitale, "Navigat...#Interactive Session by Pradipta Biswas and Sucheta Saurabh Chitale, "Navigat...
#Interactive Session by Pradipta Biswas and Sucheta Saurabh Chitale, "Navigat...
 
#Interactive Session by Apoorva Ram, "The Art of Storytelling for Testers" at...
#Interactive Session by Apoorva Ram, "The Art of Storytelling for Testers" at...#Interactive Session by Apoorva Ram, "The Art of Storytelling for Testers" at...
#Interactive Session by Apoorva Ram, "The Art of Storytelling for Testers" at...
 
#Interactive Session by Nikhil Jain, "Catch All Mail With Graph" at #ATAGTR2023.
#Interactive Session by Nikhil Jain, "Catch All Mail With Graph" at #ATAGTR2023.#Interactive Session by Nikhil Jain, "Catch All Mail With Graph" at #ATAGTR2023.
#Interactive Session by Nikhil Jain, "Catch All Mail With Graph" at #ATAGTR2023.
 
#Interactive Session by Ashok Kumar S, "Test Data the key to robust test cove...
#Interactive Session by Ashok Kumar S, "Test Data the key to robust test cove...#Interactive Session by Ashok Kumar S, "Test Data the key to robust test cove...
#Interactive Session by Ashok Kumar S, "Test Data the key to robust test cove...
 
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
#Interactive Session by Seema Kohli, "Test Leadership in the Era of Artificia...
 
#Interactive Session by Ashwini Lalit, RRR of Test Automation Maintenance" at...
#Interactive Session by Ashwini Lalit, RRR of Test Automation Maintenance" at...#Interactive Session by Ashwini Lalit, RRR of Test Automation Maintenance" at...
#Interactive Session by Ashwini Lalit, RRR of Test Automation Maintenance" at...
 
#Interactive Session by Srithanga Aishvarya T, "Machine Learning Model to aut...
#Interactive Session by Srithanga Aishvarya T, "Machine Learning Model to aut...#Interactive Session by Srithanga Aishvarya T, "Machine Learning Model to aut...
#Interactive Session by Srithanga Aishvarya T, "Machine Learning Model to aut...
 
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
#Interactive Session by Kirti Ranjan Satapathy and Nandini K, "Elements of Qu...
 
#Interactive Session by Sudhir Upadhyay and Ashish Kumar, "Strengthening Test...
#Interactive Session by Sudhir Upadhyay and Ashish Kumar, "Strengthening Test...#Interactive Session by Sudhir Upadhyay and Ashish Kumar, "Strengthening Test...
#Interactive Session by Sudhir Upadhyay and Ashish Kumar, "Strengthening Test...
 
#Interactive Session by Sayan Deb Kundu, "Testing Gen AI Applications" at #AT...
#Interactive Session by Sayan Deb Kundu, "Testing Gen AI Applications" at #AT...#Interactive Session by Sayan Deb Kundu, "Testing Gen AI Applications" at #AT...
#Interactive Session by Sayan Deb Kundu, "Testing Gen AI Applications" at #AT...
 
#Interactive Session by Dinesh Boravke, "Zero Defects – Myth or Reality" at #...
#Interactive Session by Dinesh Boravke, "Zero Defects – Myth or Reality" at #...#Interactive Session by Dinesh Boravke, "Zero Defects – Myth or Reality" at #...
#Interactive Session by Dinesh Boravke, "Zero Defects – Myth or Reality" at #...
 
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
 
#Keynote Session by Sanjay Kumar, "Innovation Inspired Testing!!" at #ATAGTR2...
#Keynote Session by Sanjay Kumar, "Innovation Inspired Testing!!" at #ATAGTR2...#Keynote Session by Sanjay Kumar, "Innovation Inspired Testing!!" at #ATAGTR2...
#Keynote Session by Sanjay Kumar, "Innovation Inspired Testing!!" at #ATAGTR2...
 
#Keynote Session by Schalk Cronje, "Don’t Containerize me" at #ATAGTR2023.
#Keynote Session by Schalk Cronje, "Don’t Containerize me" at #ATAGTR2023.#Keynote Session by Schalk Cronje, "Don’t Containerize me" at #ATAGTR2023.
#Keynote Session by Schalk Cronje, "Don’t Containerize me" at #ATAGTR2023.
 
#Interactive Session by Chidambaram Vetrivel and Venkatesh Belde, "Revolution...
#Interactive Session by Chidambaram Vetrivel and Venkatesh Belde, "Revolution...#Interactive Session by Chidambaram Vetrivel and Venkatesh Belde, "Revolution...
#Interactive Session by Chidambaram Vetrivel and Venkatesh Belde, "Revolution...
 
#Interactive Session by Aniket Diwakar Kadukar and Padimiti Vaidik Eswar Dat...
#Interactive Session by Aniket Diwakar Kadukar and  Padimiti Vaidik Eswar Dat...#Interactive Session by Aniket Diwakar Kadukar and  Padimiti Vaidik Eswar Dat...
#Interactive Session by Aniket Diwakar Kadukar and Padimiti Vaidik Eswar Dat...
 
#Interactive Session by Vivek Patle and Jahnavi Umarji, "Empowering Functiona...
#Interactive Session by Vivek Patle and Jahnavi Umarji, "Empowering Functiona...#Interactive Session by Vivek Patle and Jahnavi Umarji, "Empowering Functiona...
#Interactive Session by Vivek Patle and Jahnavi Umarji, "Empowering Functiona...
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

Is your code Toggled?!? By Devi Sridharan & Siddhartha Deshpande

  • 1. Is your code Toggled?!? Confidential | Copyright © Agile Testing Alliance Global Gathering Devi Sridharan Siddhartha Deshpande
  • 2. What is Agile? Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 3. According to Agile Manifesto... The Agile Manifesto is based on 12 principles 1.Customer satisfaction by rapid delivery of useful software 2.Welcome changing requirements, even late in development 3.Working software is delivered frequently (weeks rather than months) 4.Close, daily cooperation between business people and developers 5.Projects are built around motivated individuals, who should be trusted 6.Face-to-face conversation is the best form of communication (co-location) 7.Working software is the principal measure of progress 8.Sustainable development, able to maintain a constant pace 9.Continuous attention to technical excellence and good design 10.Simplicity—the art of maximizing the amount of work not done—is essential 11.Self-organizing teams 12.Regular adaptation to changing circumstances Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 4. Branches -Release branch Master & single work-in-branch -Feature branch o Master & Multiple branches Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 5. Release Branch -Delayed integration -Hotfixes has to wait till next release. -Can’t add any code if its not part of current release Confidential | Copyright © Agile Testing Alliance Global Gathering Trunk Release Branches
  • 6. Feature Branches -Merging becomes very difficult -Increases the testing effort -Lot of time spent on Regression & Integration Testing -Reduces the re-usability of shared automate test-suite Confidential | Copyright © Agile Testing Alliance Global Gathering Feature 1 Trunk Feature 2
  • 7. Feature Toggle!?! -What is toggle? -Feature Toggle is a conditional statement that hides certain functionality. Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 8. Guard the code Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 9. Types of Feature Toggles -Release Toggles: (Development Environment) - Hide incomplete features and are removed as soon as feature is ready -Business Toggles: (Business Sponsors) - Enable feature for group of people and can be changed on fly Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 10. Feature Toggles is opt for…. -Hiding or disabling new features in UI -Hiding/Disabling new components -To support multiple versions of feature/component -Adding new feature to an application -Enhancing an existing feature Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 11. How to implement ? - Config files - Toggle manager controlled by Admin - Session cookie Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 12. Lets Toggle!! Few ways to control the application using toggles -via server-side -via client-side -URL parameterization -Javascript Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 13. via server pros -Feature is available,till next build is deployed -No further setup is needed cons -Need to wait for deployment to complete -Switching between toggles is difficult Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 14. via client - Need to know feature flag to enable it - Feature is available,only on local machine - Testing becomes easier,as we have more control of application Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 15. Business toggles -Used in production environment -To enable A/B testing -Release features to group of users for early feedback Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 16. While implementing toggles... -Try to keep less number of toggles -Mutually Exclusive toggles -Remove the toggles as soon as corresponding feature is implemented completely Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 17. What will you achieve…?! -Continuous integration -More visibility into all work streams -No merge conflicts and hence easy to refactor the code -Reduced time spent on testing Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 18. Having said…. Feature toggle is second best solution. The best solution is to find a way to gradually integrate, without feature toggles or feature switches Confidential | Copyright © Agile Testing Alliance Global Gathering
  • 19. Confidential | Copyright © Agile Testing Alliance Global Gathering

Notas do Editor

  1. Feature Toggles are also known as feature flags, feature switches, feature flippers, conditional features.