* DevOps here represents "someone who runs deployments" and not the culture it is supposed to represent.
*QA (Quality Assurance) here is more Quality ControlĀ
In essence, replace VCS branches with conditional branches in the code
if (myNewCoolFeatureEnabled) {
return <MyNewCoolComponent some={props} />
}
Many More
class MyServiceSwitcher implements MyService
{
public function __construct(
private MyServiceOldImplementation $old,
private MyServiceImplementation $new,
private FeatureFlags $featureFlags
) {}
public function doSomething()
{
$isEnabled = $this->featureFlags->isEnabled('relace_some_service')
if ($isEnabled) {
return $this->new->doSomething();
}
return $this->old->doSomething();
}
}