The StartUp Agency - A Case Study on CFPB
Today’s agenda
 A little background
 WordPress at CFPB
 Behavior-driven WordPress development
 View-source, the WordPress way!
2
The StartUp Agency - A Case Study on CFPB
4
The StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPB
consumerfinance.gov
 Launched in February 2011 (5 months ahead of
schedule)
 The Bureau’s (only!) owned digital property
 Consumers are our core audience
 About 900K unique pageviews/month
9
The StartUp Agency - A Case Study on CFPB
Our stack
11
 Standard content types
 Good CM interface
 Distributed editorial
workflow
 Custom app development
 Highly interactive or
database-driven
 Infrequent content
updates
CMS vs. Framework?
12
More people
doing
fewer things
Fewer people
doing
more things
In other words
13
What we’ve learned
 WP is not (natively) a web application framework
 Some core capabilities are still maturing
 Easy to do things right; even easier to do things wrong
 Understand how Security thinks about OSS
14
Big hairy questions
 Consistently structuring complex taxonomies and data
relationships
 Pushing reusable code blocks into modules or plugins
 Making templating platform-agnostic
15
That’s how we’re thinking about WordPress…
…but how are we using it?
16
17
The StartUp Agency - A Case Study on CFPB
The plugin
We needed an easier way to register:
 Post types with default settings
 Taxonomies with custom entry boxes
 Meta boxes
 Capabilities
We were doing it all in the theme; we transitioned to a
plugin with a UI.
19
How to know it’ll work
Two choices:
1. Manual entry of each post type, then manual entry of
one term for each taxonomy
2. Automated behavior testing!
20
Enter behave
Simple, scenario based tests…
 Scenario: Get more information about us
 Given I visit the homepage
 When I click the "About us" link
 Then I should be directed to
/about/
 Optionally, add an and condition after a when
or then
21
…organized into simple features!
 Feature: Transparency in the Bureau
 As a member of the public
 I want to learn more about this organization
 So that I can understand their work better
 And a real browser (Chrome) to perform them!
[DEMO]
22
Okay, so you can teach a computer to log in…
23
What about a real test?
1. Log in
2. Go to the Custom Post Type page
3. Create three post types
4. Deactivate all three
5. Re-activate all three
Total execution time: 33 seconds (with about half of that going to wp-
login)
Benefits of testing
24
1. You know your plugin works
2. You can spot bugs on the fly
3. Programming toward specific behaviors
4. It's way faster than doing it all by hand
5. Eventually, you write better code.
6. You always know if the feature works or not
Still learning…
25
 It'd be nice to not have to log in _every_ time
 Writing the steps can be tricky (but it's python, so not too tricky)
The StartUp Agency - A Case Study on CFPB
We all start somewhere
27
But as we go, we learn
28
Building, building, building…
29
Embrace the WordPress community
They’re the source for solving your problems and giving
you inspiration to solve theirs…
 Automattic’s Github
 WordPress.org Forums
 Themeshaper.com
 WordPress.org Plugin Directory
 Also, blogs!
30
How is the CFPB “viewing source”?
 Hello Underscores! Forked; becoming our new base!
 WordPress goodness baked in.
 Miminimalistic; easily extendable.
 Solid framework and conventions
31
How is the CFPB “viewing source”?
 Talking it out with P2
 A trial run for managing our internal workgroups.
 Turns out blogs are great for conversations!
 A child theme allows us to brand it and extend it.
32
How is the CFPB “viewing source”?
 Going more modular
 Embracing <?php get_template_part() ?>
 We were already doing this, but where can we do it more?
 Find a best practice and ask how are we doing that?
33

More Related Content

PDF
DrupalCon 2013 Making Support Fun & Profitable
PPTX
Zero to tested
PDF
iOS Scroll Performance
PDF
Product Vs Craft
PPTX
Silverlight vs HTML5 - Lessons learned from the real world...
PDF
Introduction to devops 2016
PPTX
Continuous Delivery with TFS msbuild msdeploy
PDF
JavaLand 2022 - Software architecture in a DevOps world
DrupalCon 2013 Making Support Fun & Profitable
Zero to tested
iOS Scroll Performance
Product Vs Craft
Silverlight vs HTML5 - Lessons learned from the real world...
Introduction to devops 2016
Continuous Delivery with TFS msbuild msdeploy
JavaLand 2022 - Software architecture in a DevOps world

What's hot (20)

PDF
Automated testing DrupalCamp in Asheville
PPTX
Scale quality with kaizen - Tech.Rocks conference
KEY
Continuous Deployment
PPTX
With Great Power comes Great Responsibilities
PDF
DevOps Anti-Patterns
PDF
Diy continuous integration
PDF
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
PPTX
Develop 4 Developers
PDF
Responsive, adaptive and responsible - keynote at NebraskaJS
PPTX
Polyglot engineering
PPT
Ruby On Rails Presentation
PPTX
Mercurial
PPTX
DIY Support? 5 Key Benefits of Managed Drupal Support
PPTX
Continuous Integration and Continuous Deployment in Enterprise scenario
PPTX
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
PPTX
Bootstrapping Quality
KEY
Dev Ops @ Envato
PDF
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
PDF
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
PDF
A call to JS Developers - Let’s stop trying to impress each other and start b...
Automated testing DrupalCamp in Asheville
Scale quality with kaizen - Tech.Rocks conference
Continuous Deployment
With Great Power comes Great Responsibilities
DevOps Anti-Patterns
Diy continuous integration
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Develop 4 Developers
Responsive, adaptive and responsible - keynote at NebraskaJS
Polyglot engineering
Ruby On Rails Presentation
Mercurial
DIY Support? 5 Key Benefits of Managed Drupal Support
Continuous Integration and Continuous Deployment in Enterprise scenario
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
Bootstrapping Quality
Dev Ops @ Envato
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
A call to JS Developers - Let’s stop trying to impress each other and start b...
Ad

Similar to The StartUp Agency - A Case Study on CFPB (20)

PDF
Building Web Apps with WordPress WordPress as an Application Framework Brian ...
PPTX
Introduction to Plugin Programming, WordCamp Miami 2011
PDF
Plugin Development @ WordCamp Norway 2014
PPTX
Theme development workflow
PPTX
Introduction to WordPress
PDF
eMusic: WordPress in the Enterprise
PDF
Important Topics for wordPress Interview.pdf
PDF
WordPress Acceptance Testing, Solved!
PPTX
WordPress as a CMS
PPSX
Wordpress Development Introduction
PDF
Jason Tucker Wordpress 3rd Party Web Services
PPTX
Part1 learn thelingo
PDF
Wordpress Plugin Development Beginners Guide Vladimir Prelovac
PDF
Word camp Raleigh 2017 - Wordpress for Beginners
PDF
All about word press
PDF
Wordpress as a framework
PPTX
Introduction to WordPress Slides from WordCamp 2012 by Gary A. Bacon
PPT
WordPress Complete Tutorial
PDF
Introduction to WordPress
PDF
WordPress as an application framework
Building Web Apps with WordPress WordPress as an Application Framework Brian ...
Introduction to Plugin Programming, WordCamp Miami 2011
Plugin Development @ WordCamp Norway 2014
Theme development workflow
Introduction to WordPress
eMusic: WordPress in the Enterprise
Important Topics for wordPress Interview.pdf
WordPress Acceptance Testing, Solved!
WordPress as a CMS
Wordpress Development Introduction
Jason Tucker Wordpress 3rd Party Web Services
Part1 learn thelingo
Wordpress Plugin Development Beginners Guide Vladimir Prelovac
Word camp Raleigh 2017 - Wordpress for Beginners
All about word press
Wordpress as a framework
Introduction to WordPress Slides from WordCamp 2012 by Gary A. Bacon
WordPress Complete Tutorial
Introduction to WordPress
WordPress as an application framework
Ad

More from GovLoop (20)

PPTX
How is GovLoop Transforming Learning for Government?
PPTX
Teaching vs learning
PPT
Next Gen: Critical Conversations Slide Deck
PPTX
Internet of Things: Lightning Round, Sargent
PPTX
Internet of Things: Lightning Round, Ronzio
PPTX
Internet of Things: Lightning Round, Hite
PPTX
Internet of Things: Lightning Round, Fritzinger
PPTX
Internet of Things: Lightning Round, McKinney
PPTX
Internet of Things: Government Keynote, Randy Garrett
DOCX
Leap Not Creep Participant Guide Pre-Course Through Week 3 - 20140722
PPT
Week Three
PPT
FHWA Week Two
PDF
Building Powerful Outreach - Executive Research Brief
PPTX
Turning Big Data into Big Decisions
PPTX
Examining the Big Data Frontier
PPTX
The Need for NoSQL - MarkLogic
PPTX
Capitalizing on the Cloud
PDF
Build Better Virtual Events & Training for your Agency
PDF
Social Media Presentation for The Center for Organizational Effectiveness
PDF
Guide to Managing the Presidential Management Fellows (PMF) Application Proce...
How is GovLoop Transforming Learning for Government?
Teaching vs learning
Next Gen: Critical Conversations Slide Deck
Internet of Things: Lightning Round, Sargent
Internet of Things: Lightning Round, Ronzio
Internet of Things: Lightning Round, Hite
Internet of Things: Lightning Round, Fritzinger
Internet of Things: Lightning Round, McKinney
Internet of Things: Government Keynote, Randy Garrett
Leap Not Creep Participant Guide Pre-Course Through Week 3 - 20140722
Week Three
FHWA Week Two
Building Powerful Outreach - Executive Research Brief
Turning Big Data into Big Decisions
Examining the Big Data Frontier
The Need for NoSQL - MarkLogic
Capitalizing on the Cloud
Build Better Virtual Events & Training for your Agency
Social Media Presentation for The Center for Organizational Effectiveness
Guide to Managing the Presidential Management Fellows (PMF) Application Proce...

Recently uploaded (20)

PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
Auditboard EB SOX Playbook 2023 edition.
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Advancing precision in air quality forecasting through machine learning integ...
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Enhancing plagiarism detection using data pre-processing and machine learning...
Auditboard EB SOX Playbook 2023 edition.
Custom Battery Pack Design Considerations for Performance and Safety
NewMind AI Weekly Chronicles – August ’25 Week IV
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Module 1 Introduction to Web Programming .pptx
Data Virtualization in Action: Scaling APIs and Apps with FME
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Improvisation in detection of pomegranate leaf disease using transfer learni...
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Rapid Prototyping: A lecture on prototyping techniques for interface design
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Basics of Cloud Computing - Cloud Ecosystem
Build Your First AI Agent with UiPath.pptx
Advancing precision in air quality forecasting through machine learning integ...

The StartUp Agency - A Case Study on CFPB

  • 2. Today’s agenda  A little background  WordPress at CFPB  Behavior-driven WordPress development  View-source, the WordPress way! 2
  • 4. 4
  • 9. consumerfinance.gov  Launched in February 2011 (5 months ahead of schedule)  The Bureau’s (only!) owned digital property  Consumers are our core audience  About 900K unique pageviews/month 9
  • 12.  Standard content types  Good CM interface  Distributed editorial workflow  Custom app development  Highly interactive or database-driven  Infrequent content updates CMS vs. Framework? 12
  • 13. More people doing fewer things Fewer people doing more things In other words 13
  • 14. What we’ve learned  WP is not (natively) a web application framework  Some core capabilities are still maturing  Easy to do things right; even easier to do things wrong  Understand how Security thinks about OSS 14
  • 15. Big hairy questions  Consistently structuring complex taxonomies and data relationships  Pushing reusable code blocks into modules or plugins  Making templating platform-agnostic 15
  • 16. That’s how we’re thinking about WordPress… …but how are we using it? 16
  • 17. 17
  • 19. The plugin We needed an easier way to register:  Post types with default settings  Taxonomies with custom entry boxes  Meta boxes  Capabilities We were doing it all in the theme; we transitioned to a plugin with a UI. 19
  • 20. How to know it’ll work Two choices: 1. Manual entry of each post type, then manual entry of one term for each taxonomy 2. Automated behavior testing! 20
  • 21. Enter behave Simple, scenario based tests…  Scenario: Get more information about us  Given I visit the homepage  When I click the "About us" link  Then I should be directed to /about/  Optionally, add an and condition after a when or then 21 …organized into simple features!  Feature: Transparency in the Bureau  As a member of the public  I want to learn more about this organization  So that I can understand their work better  And a real browser (Chrome) to perform them!
  • 23. Okay, so you can teach a computer to log in… 23 What about a real test? 1. Log in 2. Go to the Custom Post Type page 3. Create three post types 4. Deactivate all three 5. Re-activate all three Total execution time: 33 seconds (with about half of that going to wp- login)
  • 24. Benefits of testing 24 1. You know your plugin works 2. You can spot bugs on the fly 3. Programming toward specific behaviors 4. It's way faster than doing it all by hand 5. Eventually, you write better code. 6. You always know if the feature works or not
  • 25. Still learning… 25  It'd be nice to not have to log in _every_ time  Writing the steps can be tricky (but it's python, so not too tricky)
  • 27. We all start somewhere 27
  • 28. But as we go, we learn 28
  • 30. Embrace the WordPress community They’re the source for solving your problems and giving you inspiration to solve theirs…  Automattic’s Github  WordPress.org Forums  Themeshaper.com  WordPress.org Plugin Directory  Also, blogs! 30
  • 31. How is the CFPB “viewing source”?  Hello Underscores! Forked; becoming our new base!  WordPress goodness baked in.  Miminimalistic; easily extendable.  Solid framework and conventions 31
  • 32. How is the CFPB “viewing source”?  Talking it out with P2  A trial run for managing our internal workgroups.  Turns out blogs are great for conversations!  A child theme allows us to brand it and extend it. 32
  • 33. How is the CFPB “viewing source”?  Going more modular  Embracing <?php get_template_part() ?>  We were already doing this, but where can we do it more?  Find a best practice and ask how are we doing that? 33

Editor's Notes

  • #9: Unique agency:Explicitly consumer-focusedFocus on product, regardless of institutionBanks and nonbanks for first timeUDAAP, not safety and soundnessFull range of toolsResearch and analysisSupervisionEnforcementRule-writingConsumer educationComplaint resolutionBorn digital