SlideShare a Scribd company logo
1 of 38
Download to read offline
DRUPAL4GOV.US
2 Weeks is Too Long!
Speeding Up Your Time to Market
Moving Faster, Delivering Better
John Doyle
Digital Polygon
CEO, Technical Architect
E-Mail: john@digitalpolygon.com
Interests
● Building a better internet
● Hiking
● Snowboarding
● Sailing the seven seas
● Pumpkin Patches?
https://www.linkedin.com/in/doyle-jd/
DRUPAL4GOV.US
Agenda
1. Let’s Talk About Sprints and Releases!
2. Feature Flags
3. Practical Strategies for Implementing
4. Success Stories + Use Cases
This is a balancing act
Terminology
Feature: A testable set of functionality in a software application.
Sprint: Time-boxed agile iteration for developing a set of features.
Release: Stable version with specific features ready for public distribution.
Deployment: Process of installing and making software available for use.
A bit of history
Example 2 Week
Sprints +
Release Cycles
Why do teams run longer
release cycles?
DRUPAL4GOV.US
To gain efficiency
with resources
We organize sets of features into
sprints/releases to try to optimize
efficiencies:
1. QA Testing
2. User Acceptance Testing
3. Regression Testing
4. Load Testing
5. Release Managers
DRUPAL4GOV.US
Due to technical
limitations
We also do it to optimize for the
technology/tools on hand:
1. Limited environments (Dev,
QA, Live)
2. Deployment methodologies
3. Dependencies between
features
DRUPAL4GOV.US
To reduce risk More time and control over when
features go live:
1. Triple checking our work!
2. Releases are scheduled and
planned across teams
3. Multiple approvals to CYA
4. Rollbacks are scary
5. Security implications
6. “Fuzzy” understanding of
impacts
Some common trends we
see
DRUPAL4GOV.US
We tend to be inflexible once we define a process
Backlog
Refinement
Itr.
Planning
Daily
Stand-Up
Itr.
Kick-Off
Itr.
Review
Meeting
Itr.
Retrospectiv
e
Pre-Itr 1
Backlog Refinement
Itr 1 Delivery: Development and QA Testing Itr 1 UAT
Itr 2 Delivery
Pre-Itr 2
Backlog Refinement
Itr. 2 Planning &
Prioritization
Itr 2 Kick-Off
DRUPAL4GOV.US
We tend to be
inflexible once we
define a process
1. UAT doesn’t happen until after the 2
week sprint is complete.
2. Issues and feedback for one
feature blocks all features.
3. We typically put up walls around
our sprints. Feedback from Sprint 1,
especially changes to scope, get
pushed to Sprint 3 because Sprint 2
has already started.
DRUPAL4GOV.US
“Hotfixes” are seen as negative
and only appropriate for critical
issues
Teams are resistant to change - so we
make rigid rules to make us feel secure:
1. Changes to scope need to be placed
into future sprints.
2. It’s not a bug if it wasn’t explicitly in
the Acceptance Criteria.
Are we stuck in our
ways?
DRUPAL4GOV.US
What’s stopping us?
Fear of the unknown? Comfort of the familiar? Unfamiliar Technology?
DRUPAL4GOV.US
Technology
evolves fast.
(and it has!)
1. Containerization makes
infrastructure less expensive
and more scalable
2. More low/no code options for
DevOps and Testing
3. Frameworks reduce
complexity of features
Feature Environments Standard with Most
Managed Hosting
1. Pantheon Multidev’s
2. Amazee Lagoon
3. Acquia CD
4. Platform.sh Environments
Testing Automation Gets Easier Every Day
Frameworks:
1. Cypress
2. Playwright
No-Code/Low-Code Tools:
1. Ghost Inspector
2. TestGrid
3. LambdaTest
DRUPAL4GOV.US
The foundations
are already here
1. Developers embrace these
tools daily.
2. QA/UAT already tests each
feature of a release
independently.
DRUPAL4GOV.US
Feature Releases are Easy
1. On-demand feature
environments enable easy
management of releases
2. QA/UAT can break free of
sprint cycles
DRUPAL4GOV.US
Releases already
happen outside
our normal sprint
cycle
1. Think about your release
packages as feature
packages instead of sprint
packages.
2. Organize communications
around feature completion
instead of sprint completion
DRUPAL4GOV.US
Keys to
Successfully Move
Faster
1. Leverage automation
2. Communicate & set
expectations appropriately
3. Clearly understand impacts of
features
Enough Theory…
Let’s Talk Drupal!
What are
Feature Flags
A feature flag is a software
development technique that turns a
set of functionality on and off during
runtime, without deploying new code.
DRUPAL4GOV.US
Why Use Feature
Flags?
1. Feature flags can be
leveraged to easily decouple
releases from “go-live”.
2. Feature flags can enable
no-code rollbacks.
3. Feature flags can reduce time
to value metrics.
4. Feature flags can reduce risk.
DRUPAL4GOV.US
Feature Flags
In Drupal
We usually use:
1. Admin config form
2. Conditional logic around
code/features
3. Helper functions for config
imports or visibility
Image: Gin theme settings
DRUPAL4GOV.US
Feature Flags
Contextualized Feature flags can be
contextualized and extend beyond
normal release management. We
will talk about this a little bit more
later, but for now we will stick with
release cycles
DRUPAL4GOV.US
Modules &
Themes are
Examples of
Feature Flags
Drupal’s modular nature is built
around feature flags.
Installing or uninstalling a module
or theme in Drupal is an example
of turning on or off a set of
features.
DRUPAL4GOV.US
EXAMPLE - Swapping
out an API
Use Case:
Organization is upgrading their
online ordering APIs for all
applications.
1. Implement a new service for
interacting with the new API.
2. Create a new feature flag.
3. Place conditionals to toggle
API calls.
(Depending on use case, an
intermediate service to abstract
out sub-layers is useful!)
DRUPAL4GOV.US
EXAMPLE -
Applying New
Branding
1. New theme to control a
majority of display features.
2. Feature flags to support
additional brand functionality.
a. Form swaps
b. Component features
Use Case:
Company rebranding across
existing applications. New brand
release needs to be coordinated
across various parts of the
website.
DRUPAL4GOV.US
EXAMPLE -
Separation of
Concerns
Decoupled applications help:
1. Separate forms from website in
form of embeddable widgets
2. Use React/Next/Angular
framework to create forms
3. Forms can be independently
released without risking any
downtime on website
Use Case:
Company uses lot of forms for
lead collection. Marketing team
needs to test forms without
downtime.
Success Story
Releasing a new API version
1. 6 month internal project impacting 100’s of
downstream sites
2. 16 hour release window to
coordinate/validate across internal and
external systems
3. 1 Happy website team who checked in,
flipped a switch, confirmed with release
team and went back to bed!
1. New API Services and features were
deployed to production 3 weeks ahead
of time.
2. No disruptions to existing sprints
cycles or releases.
3. No developer interaction involved in
release!
Automation Technology Communication
+ +
Current
Drupal
Landscape
1. Feature Flags:
https://www.drupal.org/project/f
eatureflags
Enterprise
Options
1. Launch Darkly
2. Split
3. CloudBees
Thank You!

More Related Content

Similar to 2 Weeks is Too Long.pdf

Using Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkUsing Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at Splunk
Docker, Inc.
 
IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101
Sanjeev Sharma
 

Similar to 2 Weeks is Too Long.pdf (20)

Using Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at SplunkUsing Docker EE to Scale Operational Intelligence at Splunk
Using Docker EE to Scale Operational Intelligence at Splunk
 
Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios (netcoreconf)Advanced deployment scenarios (netcoreconf)
Advanced deployment scenarios (netcoreconf)
 
Dark launch
Dark launchDark launch
Dark launch
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
 
Cypress Testing Demystified: A Practical Guide
Cypress Testing Demystified: A Practical GuideCypress Testing Demystified: A Practical Guide
Cypress Testing Demystified: A Practical Guide
 
Tech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditech
 
Feature flag launchdarkly
Feature flag launchdarklyFeature flag launchdarkly
Feature flag launchdarkly
 
IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
 
Advanced deployment scenarios
Advanced deployment scenariosAdvanced deployment scenarios
Advanced deployment scenarios
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
devops certification
devops certificationdevops certification
devops certification
 
devops certification
devops certificationdevops certification
devops certification
 
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
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016
 
DevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesDevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practices
 

Recently uploaded

4 TRIK CARA MENGGUGURKAN JANIN ATAU ABORSI KANDUNGAN
4 TRIK CARA MENGGUGURKAN JANIN ATAU ABORSI KANDUNGAN4 TRIK CARA MENGGUGURKAN JANIN ATAU ABORSI KANDUNGAN
4 TRIK CARA MENGGUGURKAN JANIN ATAU ABORSI KANDUNGAN
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (20)

HITECH CITY CALL GIRL IN 9234842891 💞 INDEPENDENT ESCORT SERVICE HITECH CITY
HITECH CITY CALL GIRL IN 9234842891 💞 INDEPENDENT ESCORT SERVICE HITECH CITYHITECH CITY CALL GIRL IN 9234842891 💞 INDEPENDENT ESCORT SERVICE HITECH CITY
HITECH CITY CALL GIRL IN 9234842891 💞 INDEPENDENT ESCORT SERVICE HITECH CITY
 
SALES-PITCH-an-introduction-to-sales.pptx
SALES-PITCH-an-introduction-to-sales.pptxSALES-PITCH-an-introduction-to-sales.pptx
SALES-PITCH-an-introduction-to-sales.pptx
 
4 TRIK CARA MENGGUGURKAN JANIN ATAU ABORSI KANDUNGAN
4 TRIK CARA MENGGUGURKAN JANIN ATAU ABORSI KANDUNGAN4 TRIK CARA MENGGUGURKAN JANIN ATAU ABORSI KANDUNGAN
4 TRIK CARA MENGGUGURKAN JANIN ATAU ABORSI KANDUNGAN
 
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdf
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdfMicro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdf
Micro-Choices, Max Impact Personalizing Your Journey, One Moment at a Time.pdf
 
W.H.Bender Quote 61 -Influential restaurant and food service industry network...
W.H.Bender Quote 61 -Influential restaurant and food service industry network...W.H.Bender Quote 61 -Influential restaurant and food service industry network...
W.H.Bender Quote 61 -Influential restaurant and food service industry network...
 
[Expert Panel] New Google Shopping Ads Strategies Uncovered
[Expert Panel] New Google Shopping Ads Strategies Uncovered[Expert Panel] New Google Shopping Ads Strategies Uncovered
[Expert Panel] New Google Shopping Ads Strategies Uncovered
 
Alpha Media March 2024 Buyers Guide.pptx
Alpha Media March 2024 Buyers Guide.pptxAlpha Media March 2024 Buyers Guide.pptx
Alpha Media March 2024 Buyers Guide.pptx
 
Resumé Karina Perez | Digital Strategist
Resumé Karina Perez | Digital StrategistResumé Karina Perez | Digital Strategist
Resumé Karina Perez | Digital Strategist
 
The Art of sales from fictional characters.
The Art of sales from fictional characters.The Art of sales from fictional characters.
The Art of sales from fictional characters.
 
SP Search Term Data Optimization Template.pdf
SP Search Term Data Optimization Template.pdfSP Search Term Data Optimization Template.pdf
SP Search Term Data Optimization Template.pdf
 
VIP Call Girls Dongri WhatsApp +91-9833363713, Full Night Service
VIP Call Girls Dongri WhatsApp +91-9833363713, Full Night ServiceVIP Call Girls Dongri WhatsApp +91-9833363713, Full Night Service
VIP Call Girls Dongri WhatsApp +91-9833363713, Full Night Service
 
Cartona.pptx. Marketing how to present your project very well , discussed a...
Cartona.pptx.   Marketing how to present your project very well , discussed a...Cartona.pptx.   Marketing how to present your project very well , discussed a...
Cartona.pptx. Marketing how to present your project very well , discussed a...
 
Distribution Ad Platform_ The Role of Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of  Distribution Ad Network.pdfDistribution Ad Platform_ The Role of  Distribution Ad Network.pdf
Distribution Ad Platform_ The Role of Distribution Ad Network.pdf
 
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptx
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptxUnveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptx
Unveiling the Legacy of the Rosetta stone A Key to Ancient Knowledge.pptx
 
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdf
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdfTAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdf
TAM_AdEx-Cross_Media_Report-Banking_Finance_Investment_(BFSI)_2023.pdf
 
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATION
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATIONHOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATION
HOW TO HANDLE SALES OBJECTIONS | SELLING AND NEGOTIATION
 
Optimizing Your Marketing with AI-Powered Prompts
Optimizing Your Marketing with AI-Powered PromptsOptimizing Your Marketing with AI-Powered Prompts
Optimizing Your Marketing with AI-Powered Prompts
 
Social Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh BendaySocial Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh Benday
 
Social Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh BendaySocial Media Marketing Portfolio - Maharsh Benday
Social Media Marketing Portfolio - Maharsh Benday
 
The Impact Of Social Media Advertising.pdf
The Impact Of Social Media Advertising.pdfThe Impact Of Social Media Advertising.pdf
The Impact Of Social Media Advertising.pdf
 

2 Weeks is Too Long.pdf

  • 1. DRUPAL4GOV.US 2 Weeks is Too Long! Speeding Up Your Time to Market Moving Faster, Delivering Better
  • 2. John Doyle Digital Polygon CEO, Technical Architect E-Mail: john@digitalpolygon.com Interests ● Building a better internet ● Hiking ● Snowboarding ● Sailing the seven seas ● Pumpkin Patches? https://www.linkedin.com/in/doyle-jd/
  • 3. DRUPAL4GOV.US Agenda 1. Let’s Talk About Sprints and Releases! 2. Feature Flags 3. Practical Strategies for Implementing 4. Success Stories + Use Cases
  • 4. This is a balancing act
  • 5. Terminology Feature: A testable set of functionality in a software application. Sprint: Time-boxed agile iteration for developing a set of features. Release: Stable version with specific features ready for public distribution. Deployment: Process of installing and making software available for use.
  • 6. A bit of history
  • 7. Example 2 Week Sprints + Release Cycles
  • 8. Why do teams run longer release cycles?
  • 9. DRUPAL4GOV.US To gain efficiency with resources We organize sets of features into sprints/releases to try to optimize efficiencies: 1. QA Testing 2. User Acceptance Testing 3. Regression Testing 4. Load Testing 5. Release Managers
  • 10. DRUPAL4GOV.US Due to technical limitations We also do it to optimize for the technology/tools on hand: 1. Limited environments (Dev, QA, Live) 2. Deployment methodologies 3. Dependencies between features
  • 11. DRUPAL4GOV.US To reduce risk More time and control over when features go live: 1. Triple checking our work! 2. Releases are scheduled and planned across teams 3. Multiple approvals to CYA 4. Rollbacks are scary 5. Security implications 6. “Fuzzy” understanding of impacts
  • 13. DRUPAL4GOV.US We tend to be inflexible once we define a process Backlog Refinement Itr. Planning Daily Stand-Up Itr. Kick-Off Itr. Review Meeting Itr. Retrospectiv e Pre-Itr 1 Backlog Refinement Itr 1 Delivery: Development and QA Testing Itr 1 UAT Itr 2 Delivery Pre-Itr 2 Backlog Refinement Itr. 2 Planning & Prioritization Itr 2 Kick-Off
  • 14. DRUPAL4GOV.US We tend to be inflexible once we define a process 1. UAT doesn’t happen until after the 2 week sprint is complete. 2. Issues and feedback for one feature blocks all features. 3. We typically put up walls around our sprints. Feedback from Sprint 1, especially changes to scope, get pushed to Sprint 3 because Sprint 2 has already started.
  • 15. DRUPAL4GOV.US “Hotfixes” are seen as negative and only appropriate for critical issues Teams are resistant to change - so we make rigid rules to make us feel secure: 1. Changes to scope need to be placed into future sprints. 2. It’s not a bug if it wasn’t explicitly in the Acceptance Criteria.
  • 16. Are we stuck in our ways?
  • 17. DRUPAL4GOV.US What’s stopping us? Fear of the unknown? Comfort of the familiar? Unfamiliar Technology?
  • 18. DRUPAL4GOV.US Technology evolves fast. (and it has!) 1. Containerization makes infrastructure less expensive and more scalable 2. More low/no code options for DevOps and Testing 3. Frameworks reduce complexity of features
  • 19. Feature Environments Standard with Most Managed Hosting 1. Pantheon Multidev’s 2. Amazee Lagoon 3. Acquia CD 4. Platform.sh Environments
  • 20. Testing Automation Gets Easier Every Day Frameworks: 1. Cypress 2. Playwright No-Code/Low-Code Tools: 1. Ghost Inspector 2. TestGrid 3. LambdaTest
  • 21. DRUPAL4GOV.US The foundations are already here 1. Developers embrace these tools daily. 2. QA/UAT already tests each feature of a release independently.
  • 22. DRUPAL4GOV.US Feature Releases are Easy 1. On-demand feature environments enable easy management of releases 2. QA/UAT can break free of sprint cycles
  • 23. DRUPAL4GOV.US Releases already happen outside our normal sprint cycle 1. Think about your release packages as feature packages instead of sprint packages. 2. Organize communications around feature completion instead of sprint completion
  • 24. DRUPAL4GOV.US Keys to Successfully Move Faster 1. Leverage automation 2. Communicate & set expectations appropriately 3. Clearly understand impacts of features
  • 26. What are Feature Flags A feature flag is a software development technique that turns a set of functionality on and off during runtime, without deploying new code.
  • 27. DRUPAL4GOV.US Why Use Feature Flags? 1. Feature flags can be leveraged to easily decouple releases from “go-live”. 2. Feature flags can enable no-code rollbacks. 3. Feature flags can reduce time to value metrics. 4. Feature flags can reduce risk.
  • 28. DRUPAL4GOV.US Feature Flags In Drupal We usually use: 1. Admin config form 2. Conditional logic around code/features 3. Helper functions for config imports or visibility Image: Gin theme settings
  • 29. DRUPAL4GOV.US Feature Flags Contextualized Feature flags can be contextualized and extend beyond normal release management. We will talk about this a little bit more later, but for now we will stick with release cycles
  • 30. DRUPAL4GOV.US Modules & Themes are Examples of Feature Flags Drupal’s modular nature is built around feature flags. Installing or uninstalling a module or theme in Drupal is an example of turning on or off a set of features.
  • 31. DRUPAL4GOV.US EXAMPLE - Swapping out an API Use Case: Organization is upgrading their online ordering APIs for all applications. 1. Implement a new service for interacting with the new API. 2. Create a new feature flag. 3. Place conditionals to toggle API calls. (Depending on use case, an intermediate service to abstract out sub-layers is useful!)
  • 32. DRUPAL4GOV.US EXAMPLE - Applying New Branding 1. New theme to control a majority of display features. 2. Feature flags to support additional brand functionality. a. Form swaps b. Component features Use Case: Company rebranding across existing applications. New brand release needs to be coordinated across various parts of the website.
  • 33. DRUPAL4GOV.US EXAMPLE - Separation of Concerns Decoupled applications help: 1. Separate forms from website in form of embeddable widgets 2. Use React/Next/Angular framework to create forms 3. Forms can be independently released without risking any downtime on website Use Case: Company uses lot of forms for lead collection. Marketing team needs to test forms without downtime.
  • 34. Success Story Releasing a new API version 1. 6 month internal project impacting 100’s of downstream sites 2. 16 hour release window to coordinate/validate across internal and external systems 3. 1 Happy website team who checked in, flipped a switch, confirmed with release team and went back to bed! 1. New API Services and features were deployed to production 3 weeks ahead of time. 2. No disruptions to existing sprints cycles or releases. 3. No developer interaction involved in release!