Fitur fitur pengiriman dalam proyek besar

Setiap produk yang saat ini ada di toko terancam rilis. Proyek kami tidak terkecuali. Kami bekerja sesuai dengan metodologi scrum, pengembangan dibagi menjadi sprint, biasanya sprint tidak terikat waktu, tetapi dibagi menjadi periode waktu, tergantung pada lingkup sprint. Sebagai hasil dari sprint, aplikasi biasanya dirilis ke toko, yang mencakup fitur-fitur baru dan beberapa perbaikan bug.


Namun, karena spesifik dari proyek, tidak semua fitur langsung jatuh ke dalam rilis setelah selesainya sprint. Karena pendekatan ini, fitur muncul yang tidak dapat dilepaskan ke prod. Dengan semua ini, tidak ada yang membatalkan bug penting, perbaikan kecil dan hanya merilis fitur yang sudah jadi. Ada beberapa jenis rilis:


  • Perkembangan berulang. Rilis fitur yang sudah jadi dan disepakati.
  • Waktu penerimaan fitur yang berbeda. Setiap fitur memiliki prioritas yang berbeda di pihak pelanggan, yang tentunya memengaruhi tanggal rilis bahkan fitur yang sudah jadi.
  • Bug penting dan SLA. Jika Anda menemukan masalah nyata pada build penjualan, Anda harus memperbaiki bug dan meluncurkan pembaruan sesegera mungkin.

Dalam konteks rilis konstan, muncul pertanyaan: "Bagaimana melakukan pengembangan?".
Bagaimanapun, setiap pengembang harus melakukan tugas, membuat cabang untuk tugas-tugas ini, dan di suatu tempat pada akhirnya menggabungkannya.


gambar


Awalnya, pendekatan "fitur-cabang" diselenggarakan di studio, mari kita lihat konsepnya, sorot pro dan kontra.


gambar


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


gambar


, . , 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
}

, , , ยซ ยป .


gambar



โ€“ . FeatureToggle. , , , . , , . , , , , .


:


  • FeatureToggle.
  • , , .

:


  • .
  • .
  • .
  • .
  • , .

?


, . , , . โ€” . โ€“ , . , . , , .


, :



!


P.S.: . , .


All Articles