İçeriğe geçinAnemo
TR
İletişim

İç ve Dış Ekip Aynı Sistemde Nasıl Çalışır?

· 3 dk okuma

Tek sistemde iki ekip üç yerde çarpışır: dağıtımlar, ortak veri ve bir şey bozulduğunda kimin aranacağı. Bu çarpışmalar insan sorunu değildir ve daha iyi iletişimle çözülmez. Sınır sorunudur ve sınırın, iki ekipten biri kod yazmadan önce kararlaştırılması gerekir.

İyi haber, kararların az sayıda ve teknik olarak zor olmamasıdır. Yalnızca genelde ertelenirler, çünkü mimarinin yanında ayrıntı gibi hissettirirler.

Önemli noktalar

Karar 1: Her ekip diğerinden bağımsız sürüm çıkarabiliyor mu

Düzenin işleyip işlemeyeceğine karar veren soru budur. Dış ekibin sürümü sizin hattınızı, onayınızı ya da dağıtım pencerenizi gerektiriyorsa, hızlarını sizin ekibinizin takvimi belirler ve tam olarak kaçınmaya çalıştığınız yönde bir bağımlılık yaratmış olursunuz.

Ayrı depolar, ayrı hatlar, ayrı ortamlar. İki sistem tanımlı bir arayüzde buluşur ve her taraf, o arayüzü değiştirmeyen her şeyi sormadan yayınlayabilir.

Arayüzün kendisi değişmesi gerektiğinde bu, önceden haber verilen ve iki tarafı ilgilendiren planlı bir olaydır. Bu da ikinci kararı getirir.

Karar 2: Her veri parçasının sahibi kim

Her tablonun, her varlığın, her durum bilgisinin tam olarak tek bir sahibi olur. Sahip onun biçimini değiştirebilir. Diğer herkes onu anlaşılmış bir yoldan okur ve ona yazmaz.

Hata biçimi, iki ekibin aynı kayıtlara, alanların ne anlama geldiğine dair farklı varsayımlarla yazmasıdır. Bu, haftalar sonra ortaya çıkan, tek bir değişikliğe kadar izlenemeyen ve çözülmesi pahalı olan veri bozulması üretir. İki ekip bir sistemi paylaştığında ters giden en kötü şey açık ara budur.

Pratikte:

Karar 3: Kim aranır ve ne için

Her sistem bozulan taraf olduğunda ne olacağını yazın. Yeni ürün çökerse kim aranır ve yanıt süresi nedir? Çekirdek sisteminiz çökerse ve bunun sonucu olarak yeni ürün çalışmazsa, yeni ürünün kullanıcılarına kim haber verir?

İnsanların unuttuğu durum kısmi arızadır: sisteminiz çökmemiş ama yavaştır, yeni ürün zaman aşımına uğrar ve iki ekip de sorunun diğerinde olduğuna inanır. Her tarafın kendi sağlığını nasıl raporlayacağını önceden kararlaştırın ki bu sorunun bir cevabı olsun, tartışması değil.

Neyi paylaşmalı, neyi paylaşmamalı

Paylaşın Paylaşmayın
Tasarım dili ve terminoloji Kod tabanı
Tek sağlayıcı üzerinden kimlik doğrulama Doğrudan veritabanı erişimi
Arayüz sözleşmesi, yazılı olarak Dağıtım hatları
Arıza iletişim kanalları Başlangıçta nöbet sıraları
Kilometre taşlarında mimari incelemeler Günlük kod incelemesi

Kalıp şu: altyapıyı değil kararları paylaşın. İki ekibin "müşteri"nin ne demek olduğunda anlaşması bir toplantıya mal olur ve aylar kazandırır. İki ekibin dağıtım hattını paylaşması her hafta ve sonsuza kadar bir şeye mal olur.

İnceleme sorusu

Mühendisleriniz çoğu zaman dış ekibin kodunu incelemek isteyecektir. Doğru cevabı belirlediği için önce sebebi anlayın.

Mesele kaliteyse, bir kilometre taşında tek seferlik bir mimari inceleme size güvencenin çoğunu zamanın küçük bir kısmına verir. Mesele kodun ileride onların sürdüreceği olmasıysa, çözülmesi gereken şey inceleme süreci değil devir planıdır; bunu yeni ürünün sahibi kim olur yazısında ele aldık.

Sürekli inceleme, bütün düzeni sessizce bozan seçenektir; çünkü kıdemli mühendislerinizi yeniden kritik yola koyar.

Sık sorulan sorular

İki ekibin de aynı alanı değiştirmesi gerekiyorsa?

O zaman sınır yanlış yerdedir ve onu taşımak, etrafında koordinasyon kurmaktan ucuzdur. İki ekibin düzenli olarak aynı koda dokunması gerekmesi, ayrımın yanlış çizgiden yapıldığı anlamına gelir ve bunu sonsuza kadar yönetmek yerine erkenden yeniden çizmeye değer.

Ekipler birbirinin toplantılarına katılmalı mı?

Arayüz sahipleri düzenli olarak, başta belki haftalık konuşmalı. Geri kalan herkes konuşmamalı. Ortak standup toplantıları iş birliği gibi hissettirir ve ayrıştırmanın korumak için tasarlandığı zamanı tüketir.

İki ürünün kullanıcıya farklı hissettirmesini nasıl engelleriz?

Tasarım dilini, terminolojiyi ve kimlik doğrulama akışını başta kararlaştırın ve teknoloji izin veriyorsa bir bileşen kütüphanesi paylaşın. Tutarlılık, ortak koddan çok daha ucuza ortak kararlardan gelir.

Sistemimiz eski bir monolitse bu işler mi?

Genelde evet ve çoğu zaman en çok işe yaradığı yer burasıdır; çünkü yeni ürünü eski bir monolitin içinde kurmak tam olarak ekibinizin kapasitesi olmayan iştir. İş, ondan dışarı bir okuma yolu tanımlamaktır. Elinizde ne olduğunu anlatın, sınırın çizilip çizilemeyeceğini söyleyelim.

Bu işte nasıl çalışırız

İlgili hizmetler

İlgili yazılar

Uçtan uca ürün ortağınız

Yeniden yazılması gereken üç ürün yerine, ayakta kalan tek bir ürün teslim etmeyi tercih ederiz. Bu ölçü, büyüklüğü ne olursa olsun her projede aynıdır.

Ali Boran GazelCEO

Bize ulaşın