Email Subscription Form

Thursday, September 26, 2019

Toggles, Revisited

A few years ago, I wrote a blog post detailing why I thought toggles were a bad idea.  It made a clever analogy between toggles and the tribbles on Star Trek's U.S.S. Enterprise.  I think it's a fun read, so you may want to check it out; but since the time I wrote it, my opinion has changed a bit. In this post I will explain why I think toggles may be helpful, and I'll propose some rules for their use.


About a year ago, my team was working on a new notification service that would send out emails and messages more efficiently than the current service.  When the new service was ready, we migrated one notification type to the new service to see how it would work.  We tested the notification extensively and we were sure that we had accounted for all scenarios, so we took the new service to Production.

A couple of weeks later, we discovered that there was an odd case that we hadn't tested.  If two users in the same company had the same id, the wrong user was getting the notification.  We had no idea that it was possible for two users in the same company to have the same id, so we hadn't thought to test this.

Fortunately, our new service was behind a toggle.  Since we certainly didn't want the wrong people to get notifications, we quickly toggled off the new service.  There was no impact to any other customers, because they were still getting their notifications; they were just being notified through the old service.  We were able to quickly fix the bug, get the fix into Production, and toggle the service back on.

If we hadn't had the toggle, the users with the same id would have continued to get the wrong notifications until we were able to fix the bug.  We would have had to rush to get a code patch into Production, and it's possible that we would have made mistakes along the way.  Because we had the toggle, we could take the time to make sure that the fix was good, and we could do all the regression testing we wanted.

So, I've changed my mind about toggles.  I think they can be useful in situations where there's a significant risk that accompanies a change.  But if you are going to use toggles, please observe the following rules:

1. Toggles are NOT a substitute for high-quality testing.  Being able to toggle something off at the first sign of trouble does not mean that you can skip testing your new feature thoroughly.  Ideally you should have tested so well that you never need to turn your toggle off.

2. Make sure to test your feature with the toggle on AND with the toggle off.  You don't want to discover in the middle of dealing with a problem in Production that the toggle doesn't actually work!

3. When the feature has gone to Production and a certain amount of time has passed, remove the toggle so that the feature is on permanently.  Otherwise you could get into a situation where months from now someone inadvertently toggles the feature off.  And the fewer toggles you have in your application, the fewer combinations of toggles you need to test.

As with many things in software development, the best strategies are those that ensure the best possible outcome for our end users.  When they are used wisely, toggles can help mitigate any unexpected issues found in Production.

9 comments:

  1. Your second point, "2. Make sure to test your feature with the toggle on AND with the toggle off." is spot on! We work with feature toggles occasionally, usually when the feature is so big or complex that it spans multiple releases before we want to officially launch the product. Since we know the feature will be "off" for an amount of time, it is so important that we fully regression test the site in an "off" state to ensure we're not introducing anything, and also in the "on" state so we know the toggle and the feature are working as we expect.

    ReplyDelete
    Replies
    1. Yes! This is especially important for those big toggles. Thanks for your comment, Amanda!

      Delete
    2. Hello all
      am looking few years that some guys comes into the market
      they called themselves hacker, carder or spammer they rip the
      peoples with different ways and it’s a badly impact to real hacker
      now situation is that peoples doesn’t believe that real hackers and carder scammer exists.
      Anyone want to make deal with me any type am available but first
      I‘ll show the proof that am real then make a deal like

      Available Services

      ..Wire Bank Transfer all over the world

      ..Western Union Transfer all over the world

      ..Credit Cards (USA, UK, AUS, CAN, NZ)

      ..School Grade upgrade / remove Records

      ..Spamming Tool

      ..keyloggers / rats

      ..Social Media recovery

      .. Teaching Hacking / spamming / carding (1/2 hours course)

      discount for re-seller

      Contact: 24/7

      fixitrogers@gmail.com

      Delete
  2. Hey Guys !

    USA Fresh & Verified SSN Leads with DL Number AVAILABLE with 99.9% connectivity
    All Leads have genuine & valid information

    **HEADERS IN LEADS**
    First Name | Last Name | SSN | Dob | DL Number | Address | City | State | Zip | Phone Number | Account Number | Bank Name | Employee Details | IP Address

    *Price for SSN lead $2
    *You can ask for sample before any deal
    *If anyone buy in bulk, we can negotiate
    *Sampling is just for serious buyers

    ==>ACTIVE, FRESH CC & CVV FULLZ AVAILABLE<==
    ->$5 PER EACH

    ->Hope for the long term deal
    ->Interested buyers will be welcome

    **Contact 24/7**
    Whatsapp > +923172721122
    Email > leads.sellers1212@gmail.com
    Telegram > @leadsupplier
    ICQ > 752822040

    ReplyDelete
  3. If you are in need of financial Help, don't hesitate to place order for deserve Programmed card that can withdraw any amount limit you want. Deserve Card are very transparent aand easy to deal with. You can Purchase Deserve card that can withdraw up to $50,000 to $100,000 limit without being detected because of the programming of the card. I'm extremely grateful to them for being honest with their words and delivering the card to me. This is the third day of receiving the card and i have withdraw $9,500 from the Deserve Programmed Card. I tried purchasing the card previously from someone else, but it never arrived until i tried skylink technology for those in need of more money, you can also contact them. you can place order for the card Via whatsapp / telegram+1(213)785-1553 or their E-mail: skylinktechnes@yahoo.com

    ReplyDelete
  4. QuickBooks is the basic software that assists customers in managing the multitude of perplexing accounting and bookkeeping tasks. This programme is well-known around the world for its simple, cloud-based interface, which makes it easier for customers to use. Examine this text from beginning to end to become acquainted with everything you need to know about Quickbooks error 1722

    ReplyDelete
  5. USA UK CANADA FULLZ
    FRESH SPAMMED & VERIFIED

    SSN DOB DL ADDRESS
    SIN DOB ADDRESS
    UK DEAD FULLZ
    HIGH CREDIT SCORE FULLZ
    CC WITH CVV & BILLING ADDRESS
    REAL ID/DL SCAN FRONT BACK WITH SELFIE
    CLONNING CARDS DUMPS TRACKS 101 & 202
    BUSINESS EIN COMPANY FULLZ
    YOUNG AGE FULLZ
    FULLZ FOR TAX RETURN|SBA|PUA|UI|UBEREATS|DOORDASH|KYC
    OFFICE365 LEADS|LOGINS
    SMRP|RDP|C-PANEL|SHELLS|WEB-MAILERS
    SCAM PAGES|SMTP LINUX ROOT

    Many other stuff available
    Legit & guaranteed stuff
    Bad stuff will be replaced|No refund

    Contact me for stuff
    ------------------------
    Telegram @leadsupplier / @killhacks
    ICQ 752822040 / @killhacks
    Email bigbull0334 @ onion mail . org
    Skype @peeterhacks

    ReplyDelete
  6. ICQ 752822040 | @killhacks
    Telegram @killhacks | @leadsupplier
    Email bigbull0334 @ onion mail .org
    Skype @peeterhacks

    FRESH FULLZ SELLER
    ==================

    Genuine & Legit Info
    Fresh Spammed fullz
    Invalid & bad info will be replaced

    SSN DOB DL ADDRESS USA
    SIN DOB ADDRESS CANADA
    NIN DOB DL ADDRESS UK
    High Credit Scores Fullz
    DL Front Back with Selfie & SSN
    Passports Photos USA|UK|CANADA|AUS
    CC CVV with Billing Address
    Young Age Fullz
    Fullz for UBEREATS|DOORDASH|SBA|PUA|UI|KYC|Tax Return
    You can get specific fullz too CITIES|STATES|AGE|ZIP's
    SMTP|RDP|C-PANEL|Web-Mailer|Brutes

    Many other stuff we're providing
    Contact us for if you need Spammed Info

    ReplyDelete

New Blog Location!

I've moved!  I've really enjoyed using Blogger for my blog, but it didn't integrate with my website in the way I wanted.  So I&#...