Merge Hells?? Feature Toggle to the Rescue

Feature branching has been popular for long, but everyone knows about the “merge hell”, a common issue because of long lived branches or infrequent integration. How do you continuously merge, test and release software with great confidence without spending too much time on merging and fixing conflict issues. That is where Mainline development, one of the key practices of Continuous Delivery, comes into picture and Feature Toggle works in conjunction with the same. Feature Toggle [also referred as Feature Flip, Feature Switch, Feature flag] is a technique which allows you to turn on or off a feature through configuration. Feature toggles gives you the flexibility to toggle features in specific environments i.e. turn on a feature in pre-production environments and turn it off the same in production. This also helps to rollback features, as rolling back is as simple as turning off the feature and deploying.

2 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist

Outline/structure of the Session

I will be using the below structure:

  • Start with the story of a team following Feature Branching
  • Introduce Mainline Development and how Feature toggles help to achieve the same
  • Tips to avoid the issue with too many toggles


Learning Outcome

Feature Toggle is one of the key practices for Continuous Delivery, but not enough has spoken about the same. This session is to give an intro about Feature Toggle and explain the advantages it has over Feature branching and share my experience while using it for the last few years. Feature toggles are supposed to be short lived, and if not, can contribute to Technical Debt. The session will touch upon the same too.

Target Audience

Architects, Programmers, Product Managers, Product Owners

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Fred George

    Go Faster: Remove the Inhibitors to Innovation

    Fred George
    Fred George
    Fred George Consulting
    schedule 1 year ago
    Sold Out!
    45 mins

    A common theme runs through conferences, whether focused on MicroServices, DevOps, Lean Startup, or a myriad of other popular topics: Enabling an organization to Go Faster . I explore the need to go faster (which is hardly new), and three areas inhibitors arise: Technology choices, staid business Processes, and traditional Organization structures and roles. For each, I cite personal experiences in overcoming each.

  • Liked Justin Searls

    How to Stop Hating your Tests

    Justin Searls
    Justin Searls
    Test Double
    schedule 1 year ago
    Sold Out!
    45 mins

    Your app is a unique snowflake. Your tests are too… but they shouldn't be!

    You know the person on every project team who cares just a little bit more about testing than everyone else? This talk is a distillation of the lessons learned I've learned from being that guy on dozens of projects.

    This is a rapid-fire session that covers 15 systemic problems that plague most teams' test suites, presented form an angle you probably haven't considered before. Best of all, it'll equip you with preventative measures to avoid or mitigate each of them.

  • Joshua Kerievsky
    Joshua Kerievsky
    Industrial Logic Inc.
    schedule 1 year ago
    Sold Out!
    45 mins

    Code that is difficult to understand, hard to modify and challenging to extend is hazardous to developers, users and organizations. Refactoring, or improving the design of existing code, is one of our greatest defenses against such code. In this talk, I’ll discuss the value of refactoring, how we practice it safely, when and why we refactor, the power of refactoring tools and when we avoid refactoring.  I’ll be using several real-world examples of refactoring and sharing what I’ve learned about this important practice of the last 20 years.


  • Liked Martin Fowler

    Software Design in the 21st Century

    Martin Fowler
    Martin Fowler
    Chief Scientist
    schedule 1 year ago
    Sold Out!
    45 mins

    In the last decade or so we've seen a number of new ideas added to the mix to help us effectively design our software. Patterns help us capture the solutions and rationale for using them. Refactoring allows us to alter the design of a system after the code is written. Agile methods, in particular Extreme Programming, give us a highly iterative and evolutionary approach which is particularly well suited to changing requirements and environments. Martin Fowler has been a leading voice in these techniques and will give a suite of short talks featuring various aspects about his recent thinking about how these and other developments affect our software development.

  • 45 mins
    Experience Report

    Many software delivery teams struggle to have a common understanding of "why" a product or feature is being built. The documents such as Project Charter, vision document etc. tries to solve this problem, but it’s common to see such documents exist in the repository, hardly known or read by anyone in the team. And this document rarely gets updated too. Ask your team members what is the goal of the project? You may be surprised to know how many actually know about it.

    This is where Impact Mapping comes into the picture. It is a "Strategic planning technique", defined by Gojko Azdic, explained in the book Impact Mapping. It is a very simple technique based on the idea of "asking the right questions" which are:

    • Why are we building what we are building? 
    • Who are the actors who gets impacted?
    • How do we expect to change the actors’ behavior?
    • What should we do to create the impacts? 

    Fundamental of Impact Mapping is that Impact means a change in behavior of an actor which usually results in a positive impact either by Reduction in the Cost or Improvement in ROI for the business.

    The above questions need to be answered by the entire team [the IT team, the business people and any other stakeholders, if any], and avoids the common anti-patterns:

    • Ad-hoc planning
    • Wrong Assumptions
    • Pet features


  • Liked Manish Chiniwalar

    Make bold decisions and validate them in 5 days

    90 mins

    You have a great idea and you want to get it to existence. How do you proceed?

    You know that the key to successful product startup is:
    1. Building the right product
    2. Moving fast

    Here’s what usually happens:

    • You’ll spend a few weeks getting a better understanding of the Idea.
    • Decide a list of features that needs to go into the product.
    • Visualise the idea by drawing a few sketches and spend few weeks trying get feedback from your expert friends. (Let’s meet at Starbucks… Dinner’s on me!)
    • If you get a good signal, you then are challenged with finding someone to design and build it for you.
    • After a month of searching, you find a friend/agency/freelancer/intern/new-hire.
    • You have a team and an office. You spend the next 3-4 months building the MVP. The product is coming around nicely and you are making sure all details are taken care of… And of course, event tracking! Measure everything.
    • You then release the product into the wild! (Party!)

    It’s now been up to 6 months to a year since you first come up with the idea. Your analytics just doesn’t have enough traffic yet to tell you what’s working and what’s not! You struggle to have a good picture.

    Consider this:
    If we met 6 moths ago, and if I told you, I have a time capsule wherein you can travel through time, to the end of the product development and know how your users will react to your product. Would you take it?
    Of course, you would!

    The time capsule I’m talking about is called the Google Venture’s Design Sprint. It’s a 5-day process to validate critical business assumptions. It uses design thinking and lean startup methods to de-risk your product by better solutions and testing it with 5 real users. At the end of the design sprint, you’ll know what connected with your users and what just didn’t make sense to them.

    This process will save you months and months of time spent in meetings, research, design, coding, marketing.
    5 Days. Monday to Friday. That's it!

  • Liked Manish Chiniwalar

    Build the right products through better user research

    20 mins

    The most common objection people have against User Research is, "People don't know what they want" and they go ahead and quote:

    “If I had asked people what they wanted, they would have said faster horses.” ― Henry Ford

    He's right! But, that's the wrong question to ask your users!

    What if you ask instead, "What do you want to get done with your horses?" or just followed it up with a simple "Why?".
    Then people might have told you, "I want to reach the other town faster", "I want to be able to carry more people or more goods", "I want to feel the thrill of speed",...

    Then it's your job to figure out "How Might We move more people faster with minimum maintenance and cost?"

    Let's take another example,
    Bad question:
    You: "Will you brush your teeth at night from tomorrow?"
    User: "Of course, twice a day!"

    People are incredibly optimistic about doing things in the future. A good question would be:
    You: "What does your night routine look like?"
    User: "I have dinner, clean the kitchen, make the bed, Turn on Netflix, switch night lamp on and fall asleep watching House of Cards"

    In this talk, I'll share with you, my learning and experience doing user research.