大型项目中的功能交付功能

当前商店中的所有产品都受到发布威胁。我们的项目也不例外。我们根据scrum方法论进行工作,将开发分为sprint,通常sprint不受时间限制,但根据sprint范围分为时间段。作为冲刺的结果,通常会将应用程序发布到商店中,其中包括新功能和一些错误修复。


但是,由于项目的特殊性,并非所有功能都在冲刺完成后立即发布。由于这种方法,出现了无法发布到产品的功能。有了这些,没有人取消重要的bug,次要的修复程序以及仅发布现成的功能。有几种类型的发行版:


  • 迭代开发。发布现成的和认可的功能。
  • 接受功能的时间不同。客户对每种功能都有不同的优先级,这肯定会影响甚至现成功能的发布日期。
  • 严重错误和SLA。如果在销售部件上发现真正的问题,则需要修复该错误并尽快推出更新。

在不断释放的情况下,出现了一个问题:“如何进行发展?”。
毕竟,每个开发人员必须完成任务,为这些任务创建分支,并最终将它们合并。


图片


最初,“特征分支”方法是在工作室中组织的,让我们看一下它的概念,强调其优缺点。


图片


. , , FeatureBranch, DevBranch. , , , , FeatureBranch .


图片


, . , 100% , , . , - swift , , , , xib , . , .


?


  • .
  • .
  • .

:


  • .
  • .
  • .
  • .

, . , , .


FeatureToggle


, . FeatureToggle , A/B / . , .


, . , . , - , «-» .


:


public final class FeatureToggle {

    public enum SomeFeature {
        public static var isEnabled = true
        public static var useMocks = false
    }

}

, . . , , .. , , .


, . , - .


if FeatureToggle.SomeFeature.isEnabled {
    // Should show feature
} else {
    // Should hide feature
}

, , , « » .


图片



– . FeatureToggle. , , , . , , . , , , , .


:


  • FeatureToggle.
  • , , .

:


  • .
  • .
  • .
  • .
  • , .

?


, . , , . — . – , . , . , , .


, :



!


P.S.: . , .


All Articles