Professional Documents
Culture Documents
Feature branches
&
Continuous Integration
Feature Braches
Developer A
Trunk
Developer B
! Pros
" Code for new feature could not make to
production
" No fear to check-in in branch
! Cons
" Merge hell
" Fear of refactoring
" Difficult to share code across branches
Continuous Integration
! Pros
" Avoid big merges
" Each check-in is production ready
" Continuously Integrate thorough out the
Feature Toggles
Feature toggle is a if
statement that hides certain
execution path
toggles
! Business toggles
Release Toggles
! To
Business Toggles
! To
enable A / B testing
! Release feature to certain groups of
people to get early feedback
! Could be enabled or disabled on the fly
Test
! Integration
Test
In case of UI component
embedded in existing page
Feature toggle the view
element
Exercise!!
file
! Toggle manager for Admin to manage
! Cookie store
! or whatever that makes sense
No free lunch
! Good
References
!
!
!
!
!
http://martinfowler.com/bliki/FeatureToggle.html
http://www.infoq.com/presentations/Feature-Bits
http://blog.pluralsight.com/favor-feature-togglesover-feature-branches
http://paulhammant.com/blog/
branch_by_abstraction.html
http://labs.spotify.com/2014/03/27/spotifyengineering-culture-part-1/
Questions ?