The StartUp Agency - A Case Study on CFPB


Published on

Hear Dan Munz, David Kennedy and Greg Boone discuss how CFPB was born, what challenges they faced and how WordPress became their CMS backbone throughout it all.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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
  • The StartUp Agency - A Case Study on CFPB

    1. 1. Today’s agenda A little background WordPress at CFPB Behavior-driven WordPress development View-source, the WordPress way!2
    2. 2. 4
    3. 3. Launched in February 2011 (5 months ahead ofschedule) The Bureau’s (only!) owned digital property Consumers are our core audience About 900K unique pageviews/month9
    4. 4. Our stack11
    5. 5.  Standard content types Good CM interface Distributed editorialworkflow Custom app development Highly interactive ordatabase-driven Infrequent contentupdatesCMS vs. Framework?12
    6. 6. More peopledoingfewer thingsFewer peopledoingmore thingsIn other words13
    7. 7. 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 OSS14
    8. 8. Big hairy questions Consistently structuring complex taxonomies and datarelationships Pushing reusable code blocks into modules or plugins Making templating platform-agnostic15
    9. 9. That’s how we’re thinking about WordPress……but how are we using it?16
    10. 10. 17
    11. 11. The pluginWe needed an easier way to register: Post types with default settings Taxonomies with custom entry boxes Meta boxes CapabilitiesWe were doing it all in the theme; we transitioned to aplugin with a UI.19
    12. 12. How to know it’ll workTwo choices:1. Manual entry of each post type, then manual entry ofone term for each taxonomy2. Automated behavior testing!20
    13. 13. Enter behaveSimple, 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 whenor then21…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!
    14. 14. [DEMO]22
    15. 15. Okay, so you can teach a computer to log in…23What about a real test?1. Log in2. Go to the Custom Post Type page3. Create three post types4. Deactivate all three5. Re-activate all threeTotal execution time: 33 seconds (with about half of that going to wp-login)
    16. 16. Benefits of testing241. You know your plugin works2. You can spot bugs on the fly3. Programming toward specific behaviors4. Its way faster than doing it all by hand5. Eventually, you write better code.6. You always know if the feature works or not
    17. 17. Still learning…25 Itd be nice to not have to log in _every_ time Writing the steps can be tricky (but its python, so not too tricky)
    18. 18. We all start somewhere27
    19. 19. But as we go, we learn28
    20. 20. Building, building, building…29
    21. 21. Embrace the WordPress communityThey’re the source for solving your problems and givingyou inspiration to solve theirs… Automattic’s Github Forums Plugin Directory Also, blogs!30
    22. 22. How is the CFPB “viewing source”? Hello Underscores! Forked; becoming our new base! WordPress goodness baked in. Miminimalistic; easily extendable. Solid framework and conventions31
    23. 23. 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
    24. 24. 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