Startups 2022 için nasıl yeniden düzenleme yapılır: nedenler ve ödünleşimler
( Klotho web sitesinden çapraz gönderildi )
Bu blog gönderisi, bir başlangıç ayarında kodu ve sistemleri yeniden düzenlemenin nedenlerine ilişkin üst düzey bir genel bakıştır. 2022'de dikkate alınması gereken riskleri, yaklaşımları ve ödünleşimleri ele alıyoruz.
Maliyetin kazançlara değip değmediğine nasıl karar verilir?
Kendine karşı dürüst ol
Baştan çıkarma her zaman yeniden düzenleme olacaktır: gerçek dünya kodu dağınıktır ve mühendisler dağınık koddan hoşlanmaz. Ekibin doğrudan müşteri tarafından görülebilen özelliklere ne kadar zaman harcadığını ölçerek yeniden düzenleme için bir iş gerekçesi olduğundan emin olun.
Araştırmamız, orta ölçekli şirketlerin ve hızla büyüyen startup'ların mühendislik kapasitesinin %39'unu altyapı gibi farklılaştırılmamış işlere harcadığını gösteriyor. Zamanınızın nereye gittiğini ölçebilmeniz için hikayeleri altyapı ve yeniden düzenleme gibi alt görevlere ayırın.
İyi yapılandırılmış bakımlıdır
Modüller arasındaki net sınırlar, bunların test edilmesini, devreye alınmasını ve izlenmesini kolaylaştırır. Müşteri tarafından bildirilen hatalara, hizmet gecikmesine ve kodu ne sıklıkta geri döndürmeniz gerektiğine dikkat edin. Yazılım yaşam döngüsünün diğer ucunda, bir darboğaza doğru yöneldiğinize dair birden çok gösterge vardır: tasarımdan sevkiyata kadar geçen süre, mühendislik memnuniyetinin derecesi ve altyapı maliyetlerinin artması — bunların tümü öncü göstergeler olabilir. borç biriktirdiğinizi.
İşletmelerde dönüm noktaları
Kod tabanları kendilerini üç boyutta düzenleme eğilimindedir: ekip boyutu, yeni özelliklerin hızı ve müşteri sayısı. Bu sayılar önemli ölçüde değiştiğinde, bileşenleri ayırmaya bakmanın zamanı gelebilir.
Ekibi büyütüyorsanız veya özellik geliştirme hızını artırıyorsanız, sınırlayıcı faktör kodun okunabilirliği olacaktır. Hedefli, fırsatçı yeniden düzenlemeyle başlayın. Müşteri tabanınız büyüyorsa, daha fazla ölçeklenebilir teknolojiye veya iş akışına ihtiyacınız olabilir.
Yapabileceklerinizi kontrol edin, gerisini planlayın
Doğru seçim, yeniden mimariyi engellemez
Yeniden düzenleme ve yeniden mimari, daha önce kötü bir seçim yaptığınız anlamına gelmez. Daha sıklıkla, yeniden mimarinin arkasındaki itici güçler gereksinim değişikliklerine veya dış etkenlere bağlıdır. Bir ürünün ömrü boyunca yeniden mimariyi zorlayacak en az 4 önemli boyut vardır: yeni özellik geliştirme oranı, mühendislik ekibinin boyutu, farklılaştırılmamış iş için harcanan süre ve müşteri büyümesi. Bunların her birini doğrudan kontrol etmek giderek daha zor hale geliyor.
Kolay aramalarla başlayın…
Dört boyuttan kontrol edilmesi en kolay olan ikisi, yeni özelliklerin oranı ve mühendislik ekibinin boyutudur. Planlama ve önceliklendirme konusunda daha katı davranarak yeni özelliklerin oranını kontrol edebilirsiniz. Ekibi ölçeklendirmek daha yavaş bir süreçtir, ancak genellikle en azından planlayabileceğiniz bir süreçtir.
Hem ekip hem de yeni özelliklerin oranı küçükse, yeniden düzenlemenin iş üzerinde önemli bir etkisinin olması pek olası değildir. Yelpazenin diğer ucunda, birçok özellik üzerinde çalışan büyük bir ekip, daha küçük ekipler halinde yeniden organize olmaktan yararlanabilir ve buna uygun kodu yeniden düzenlemeyi veya yeniden yapılandırmayı düşünmelisiniz. Daha net organizasyon ve kod sınırları sağlayan bir mimari, ürünün ve şirketin ölçeklenmesine olanak tanır.
… ve sonra daha zor olanlara geçin
Ekibinizin farklılaştırılmamış işlere harcadığı zamanı dizginlemek zor olabilir ve müşteri büyümesi, etkilemesi en zor ölçüdür. Bunlar kolay olsaydı, herkes farklılaşmamış işi en aza indirir ve müşteri büyümesini en üst düzeye çıkarırdı! Yine de yapabilirsin
yeniden düzenlemeye yönelik dikkatli ve proaktif bir yaklaşımla sorunların önüne geçin.
İlk adım, ne zaman yeniden düzenleme yapılmayacağını bilmektir . Müşteri büyümeniz ve farklılaştırılmamış iş için harcanan süre düşükse, yeniden düzenlemeye zaman harcamayın: bunun yerine etkili, müşteri tarafından görülebilen özelliklere odaklanın. Benzer şekilde, iyi bir müşteri artışına ve düşük miktarda farklılaşmamış çalışmaya sahipseniz, ekibiniz iyi durumda demektir. Farklılaştırılmamış iş miktarının artmasını önlemek için taktik yeniden düzenlemeyi düşünün, ancak üzerinde çok fazla zaman harcamayın.
Ekibiniz farklılaştırılmamış işlere çok fazla zaman harcıyorsa, şirketinizin bugün bulunduğu yere göre daha iyi ölçeklenen bir mimariye yeniden bakma zamanı.
Müşteri benimsemeniz daha düşükse, önceliğiniz size daha fazla podyum sağlayacak daha ucuz bir mimari olmalıdır.
Hem müşteri benimsemeniz hem de ekibinizin farklılaştırılmamış iş için harcadığı süre yüksekse, merkezileştirilmiş, optimize edilmiş bir çözüme odaklanmanın zamanı gelmiş olabilir. Bu genellikle, altyapı görevlerini verimli bir şekilde yürütebilen özel bir operasyon ekibi şeklini alır. Bu, sahip olunması gereken harika bir problem — bu yüzden, buraya geldiğiniz için kendinizi ve ekibinizi tebrik etmek için bir dakikanızı ayırın!
Bir hedefiniz olsun, sonra oraya ulaşmak için kestirme yollar bulun
Mükemmel olmasa bile bir planın olsun
Yeniden bir mimariye kendinizi adadığınızda, büyük düşünmekten korkmayın. Sevecekleri bir son durum bulmaları için mühendislerinize güvenin ve ardından gerektiği gibi azaltın. Muhtemelen, büyük bir yeniden mimari fırsatı, bir ürünün yaşam döngüsünde yalnızca bir veya iki kez gelir, bu nedenle vereceğiniz herhangi bir tavizle yaşamaya hazır olun. Ancak aynı şekilde, en iyi planların bile uygulamaya başladığınızda ters gideceğini bilin.
Büyük planlar yap, küçük adımlar at
Kodun nerede olmasını istediğinizi öğrendikten sonra, oraya nasıl ulaşacağınız konusunda taktiksel olun. Her seferinde bir bileşen üzerinde çalışın veya birbirinden mümkün olduğunca uzak bileşenleri seçin. Hem birim hem de sistem düzeyinde sağlam testlere henüz yatırım yapmadıysanız, şimdi tam zamanı. Testler, yaptığınız değişikliklerin mevcut müşteri deneyimlerini bozmayacağına dair size güven verir, ancak ekibinizin tamamlandı tanımını bulmasına da yardımcı olabilir. Testler geçtiğinde bileşen hazırdır!
En iyi teknoloji, uyum sağlayabildiğiniz teknolojidir
Yeniden düzenlemenin ve yeniden mimarinin özellikle başlangıçlar üzerindeki etkisini azaltmanın anahtarı, uyarlanabilir teknolojiyi kullanmaktır.
Tarihsel olarak şirketler, uygulamalarını barındırmak için VM'ler, sunucusuz veya konteynerler gibi belirli teknolojileri seçerler. Sorun şu ki, bir teknolojiden diğerine geçmek aşırı derecede pahalı ve bugün ihtiyacınız olan şey yarın ihtiyacınız olmayabilir.
Uyarlanabilir bir mimari, uygulamanızı herhangi bir teknolojide eşit derecede kolay bir şekilde barındırmanıza izin veren mimaridir. Bu, mevcut ihtiyaçlarınıza uyacak şekilde barındırma ortamını anında ayarlamanıza olanak tanır. AWS Lambda, Fargate, Kubernetes, gRPC, Linkerd, Azure/GCP gibi belirli teknoloji seçenekleri birbiriyle değiştirilebilir hale gelir.
Uyarlanabilir mimariler, işlevler ve olay işleyiciler gibi mevcut programlama dili yapılarının yanı sıra her dil için deyimsel olan arabirimleri yeniden kullanarak bulut hizmetlerinin kullanımını kolaylaştırır.
Hafif ama teknolojiler arasında geçiş yapmanıza izin verecek kadar esnek soyutlamalar ve araçlar arayın. Mimarinizin anlamsal anlamını dağıtım yapılandırmasından ayırmanıza izin verdiği için Klotho ek açıklamalarının bu amaca uygun olduğunu düşünüyoruz — ancak çalışma zamanı kitaplıklarına ve altyapı otomasyonuna yeterli yatırımla, benzer bir çözümü kendiniz oluşturabilirsiniz.