Araçları ve süreçleri standartlaştırma önerileri

Bu Azure İyi Tasarlanmış Çerçeve operasyonel mükemmellik denetim listesi önerisi için geçerlidir:

OE:04 Geliştirme ve test için endüstride kanıtlanmış uygulamaları izleyerek yazılım geliştirme ve kalite güvencesi süreçlerini iyileştirin. Kesin olmayan rol belirleme için araçlar, kaynak denetimi, uygulama tasarım desenleri, belgeler ve stil kılavuzları gibi bileşenler genelinde uygulamaları standartlaştırabilirsiniz.

İlgili kılavuz: Derleme hızını | geliştirme Sürekli tümleştirmeyi kullanma

Bu kılavuzda, yazılım geliştirme araçları ve süreçleri için standartları tanımlamaya yönelik öneriler açıklanmaktadır. Tutarlı uygulamaların tanımlanması, verimli bir iş yükü ekibine ve yüksek kaliteli çalışmaya yol açar. Yüksek performanslı ekipler, harcanan çabayı ve olası kod hatalarını en aza indirmek için endüstride kanıtlanmış araçlar ve süreçler kullanır.

Temel tasarım stratejileri

Geliştirme uygulamalarını iyileştirmenin ilk adımı, araçları ve süreçleri standartlaştırmaktır. Mümkün olduğunda, şirket içi çözümler geliştirmek yerine endüstride kanıtlanmış çözümler kullanın. Uygulamalarınızı daha iyi hale getirmek için düşük kodlu ve kod içermeyen araçları benimseyin. Bu araçlar, çalışmalarınızı uygulamanıza odaklamanıza ve zaman kazanmanıza yardımcı olur. Standartlaştırdığınız tüm araçlar ve süreçler için, ekiplerinizin bunları verimli bir şekilde anlaması ve kullanması için eğitim uygulayın. Geliştirme uygulamalarınızı iyileştirmeye yardımcı olacak standartlar tanımlamak için aşağıdaki önerileri göz önünde bulundurun.

İyi bilinen ve olgun kullanıma açık takımlar kullanın

İyi bilinen ve olgun kullanıma açık araçları kullanın ve kullanımlarını standartlaştırın. Son derece etkili mühendislik ekipleri sınıfının en iyi araçlarını benimser. Bu yaklaşım planlama, geliştirme, test, işbirliği ve sürekli tümleştirme ile sürekli teslim (CI/CD) için çözüm geliştirme ihtiyacını en aza indirir. Birçok kuruluş, geliştiricilere birkaç araç arasında bir seçenek sunar, ancak tüm seçenekler kuruluş için standart araçlardır ve şirket içinde doğrulanır. En önemlisi, iş yükünüz için gereksinimleri karşılayan araçları seçin. Kullanıma açık araçlar aşağıdaki işlevleri sağlamalıdır:

  • İş planlama ve kapsam yönetimi

  • Sürüm denetimi ve depoları

  • CI/CD işlem hatları

  • Tümleştirme, duman, sentetik kullanıcı, simülasyon, kaos ve diğer kalite testleri gibi testler

  • Kod geliştirme

Bazı durumlarda, bir araç veya araç paketi çeşitli işlevler sağlayabilir. İşlevler genelinde gereksinimlerinizi karşılamaları için araçlarınızın özelliklerini ve sınırlamalarını anladığınızdan emin olun.

Pahalı araçlara mı yoksa araçların premium sürümlerine mi yatırım yapmak istediğinizi belirleyin. Premium araçların sağladığı özelliklerle karşılaştırıldığında kendi çözümlerinizi geliştirmenin zamanını ve çabasını göz önünde bulundurun. Tek seferlik maliyetleri ve yinelenen maliyetleri göz önünde bulundurun. Çoğu durumda kullanıma açık araçlar ekibinize daha yüksek değer sağlar.

Pratik olduğunda düşük kodlu, kod içermeyen ve yapay zeka araçlarını kullanın. Düşük kod ve kod içermeyen araçlar, tüm kod geliştirme işlemini gerçekleştirmek yerine kolayca işlev eklemelerine olanak tanıyarak deneyimli geliştiricilere zaman kazandırır. Bu araçlar, geliştiricilerin eğitilmeyebilecek iş yükü ekibi üyelerinin iş yükünün çalışmasına katkıda bulunmalarına da olanak tanır. Yapay zeka araçları kod geliştirme, incelemeler ve iyileştirme konusunda yardımcı olabilir.

Dallanma stratejinizi standartlaştırma

Mümkün olduğunda gövde tabanlı bir model seçin. Gövde tabanlı dallanma, iş yükü geliştirme takımını eşitlenmiş durumda tutar ve sürekli teslimi teşvik eder. Ana dal gibi önemli dalları korumak için dal ilkeleri tanımlayın. Daha fazla bilgi için bkz . Git dallanma stratejisini benimseme ve Dal ilkeleri ve ayarları.

Geliştirme verimliliğini ölçmek için ölçümleri değerlendirme

Yazılım geliştirme ve kalite güvencesi ekipleri ancak etkinliklerini ölçebiliyorlarsa iyileştirebilir. Verimliliği ölçmek için geliştirici hızını ölçen ölçümleri tanımlaması ve KPI'leri tanımlaması gerekir. Bu ölçümlere örnek olarak şunlar verilebilir:

  • Dağıtım sıklığı: Her geliştiricinin her gün dağıttığı dağıtım sayısı.

  • Sağlama süresi: Bir görevin veya kullanıcı hikayesinin kapsamtan üretim dağıtımına geçmesi için geçen süre.

  • Ortalama çözüm süresi: Koddaki hataları veya hataları düzeltmek için harcanan ortalama süre.

  • Değişiklik hatası oranı: Hataya neden olan değişikliklerin yüzdesi.

Paydaşların ve iş yükü ekibinin hızı kolayca izlemesine yardımcı olmak için panoları veya diğer raporlama araçlarını kullanarak KPI'leri görselleştirin.

İş yükü ekibinizin kod yazma, inceleme ve belge oluşturma şeklini standartlaştırma

Stil kılavuzunu kullanarak iş yükü ekibinizin kod yazma, inceleme ve belge oluşturma şeklini standart hale getirebilirsiniz. Standart stil, işbirliğini kolaylaştırır ve yeni geliştiricilere ekleme konusunda yardımcı olur. Yeni geliştiricilerin etkili bir şekilde çalışması için iş yükü ekibinin nasıl çalıştığını bilmesi gerekir. Açıkça tanımlanmış standartlara sahip bir stil kılavuzu, eğitim sürecini kolaylaştırabilir. Stil kılavuzunda geliştirme dilleri, kitaplıklar, çerçeveler ve diğer kurallar için standartlar tanımlayın.

Pratik olduğunda, kod biçimlendirme standartlarını zorunlu kılmak için araçları kullanın. Örneğin, Visual Studio stil, kalite, bakım, tasarım ve diğer sorunları için kodu taraan çeşitli araçlar sunar. Kod olarak altyapı (IaC) için Checkov veya Terrascan for Terraform kullanabilirsiniz.

Tutarlılığı sağlamak ve olası karışıklığı önlemek için stil kılavuzunda yapıtlar, ortamlar, dallar, derlemeler ve çalıştırmalar için standart adlandırma kuralları bulunmalıdır.

Ayrıca ortamlarınızda izin verilebilen varyans derecesine ilişkin yönergeler ve standartlar da belirlemelisiniz. İş yükü ekibi üyelerinin standart listeye eklemek istediği yeni diller, çerçeveler veya başka teknolojiler varsa, bu araçları korumalı alanda veya daha düşük bir ortamda kullanmaya yönelik bir işlem uygulayın. Kullanılabilirliklerini test edin ve uygun olduğunda mevcut teknolojileri değiştirin.

İş yükü ekibinizin tasarım kararlarının geçmiş kaydını tutmak için mimari karar kayıtlarını (ADR) kullanın. ADR'ler, ekiplerinizin iş yükü hakkında yeni bir anlayışa sahip olmasına yardımcı olur. Ayrıca yeni ekip üyelerinin iş yükünün yaşam döngüsü sırasında alınan tasarım kararları hakkında bilgi edinmelerine de yardımcı olur. ADR'lerin sürüm denetiminde olduğundan emin olun.

ADR'nize şunları ekleyin:

  • Ekibinizin seçtiği SQL veya NoSQL gibi belirli araçlar ve teknolojiler.

  • Ekibinizin kararlarının nedenleri.

  • Son kararı bağlamsallaştırmaya yardımcı olan, dikkate alınan diğer seçenekler.

  • Kararlara hesaba katılmış işlevsel ve işlevsel olmayan gereksinimler.

  • Ele alınan sorun gibi karar alma sürecinin bağlamı.

Teknik borcu gidermek için standartlar uygulama

İş yükü ekibinizin teslim edilebilir öğeleri için teknik borcun kasıtlı ve gerekli olduğu düşüncesini benimseyin. Bu düşünce yapısı, birikmesi önlemek için ekibinizin teknik borcu düzenli olarak dikkate alıp ele almalarını teşvik eder. Teknik borcu kapsam içinde düzenli olarak yinelenen bir görev olarak giderin.

Örneğin, ekibinizin bir kitaplıkta standartlaştırıldığını varsayalım. Zaman içinde, iş yükündeki yeni işlevler için farklı bir kitaplığa geçmeniz gerekir. Bu geçiş teknik borçla sonuçlanabilir. Bu tür geçişler genellikle iki teknolojiyi destekleyen iş yükü ekibinden ayrılabilir çünkü tam olarak sorunsuz geçiş yapamazlar. İş yükü yeni işlevselliğe ulaştığı zaman paydaşlar memnun olduğundan ve teknik borcu dikkate alma olasılığı daha düşük olduğundan, iş yükü ekibinin geçişi tamamlamaya öncelik vermesi gerekir.

Yapıtlarınıza sürüm oluşturma uygulama yönteminizi standartlaştırma

Yapıtlarınıza sürüm oluşturma uygulama şeklinizi ve sürüm oluşturmanın şirket içinde ve dışında nasıl kullanıma sunacağını standartlaştırabilirsiniz. Örneğin, istemciye yönelik sistemler çalışan sürümlerini kullanıcı arabiriminde kullanıma sunmalıdır. Bu teknik, iş yükü ekibi sorunları giderdiğinde yararlıdır çünkü müşteri hangi sürümü kullandığını kolayca iletebilir. REST arabirimleri, belirli bileşenler veya veritabanları için sürümleri kullanıma açabilir. Şema sürümünü kullanıma açmak için bir şema için meta verilerde belirli bir tablo kullanabilirsiniz.

Uygulamanızın güvenilir, performanslı ve güvenli olduğundan emin olmak için endüstride kanıtlanmış uygulama tasarım desenlerini kullanın. Uygulamanız için kendi çözümlerinizi geliştirmeye kıyasla zaman ve çabadan tasarruf etmek için bu desenleri kullanın. İş yükünüz için uygun desenleri seçin. İş yükünüz geliştikçe doğru desenleri kullandığınızdan emin olmak için tasarım desenlerini düzenli olarak gözden geçirin.

Teste shift-left yaklaşımı uygulama

Geliştirme süreci boyunca birim testini erken ve sık sık gerçekleştirerek teste shift-left yaklaşımı uygulayın. Her geliştirme ortamında sık sık test etmek, geliştiricilerin uygulamalarına güven kazanmalarına yardımcı olur. Sola kaydırma yaklaşımıyla test stratejinizi oluşturmaya yardımcı olmak için aşağıdaki ilkeleri göz önünde bulundurun:

  • Testleri mümkün olan en düşük düzeyde yazın. En az dış bağımlılıkla testleri destekleyin ve derlemenin bir parçası olarak testleri çalıştırın.

  • Testleri bir kez yazın ve üretim dahil olmak üzere her yerde test çalıştırın. Şifrelenmiş gizli diziler veya yapılandırmalar gibi tek bir ortama özgü faktörleri hesaplamadan her geliştirme ortamında çalıştırabileceğiniz testler yazın.

  • İş yükünüzü test için tasarlar. Uygulamanızı geliştirirken test edilebilirliği bir gereksinim haline getirin.

  • Test kodunu uygulama kodu olarak değerlendirin. Uygulama koduna ve test koduna aynı kalite ve geliştirme standartlarını uygulayın. Test kodunu uygulama koduyla birlikte depolayın. Uygulama koduyla test kodu geliştirme ve sürdürme. Testlerin kalitesinden emin olmak için güvenilir olmayan testleri atın.

  • İş yükü sahipliğini temel alan test sahipliğini göz önünde bulundurun. İş yükü ekibiniz kendi testlerinin sahibidir ve kodlarını test etmek için diğer takımlara güvenmemelidir.

  • Testleri mümkün olduğunca otomatikleştirin. Otomatik kod, iş yükü ekibinizin yükünü hafifletir ve tutarlı kaliteyi zorlar.

DevOps test stratejisi uygulama hakkında ayrıntılı yönergeler için bkz . Birim testleriyle sola kaydırma testi.

Standart işletim yordamlarınızın bir parçası olarak DevSecOps uygulamalarını zorunlu kın. İş yükü ekibinizin yazılım geliştirme ve kalite güvencesi ile ilgili güvenlik uygulamalarını anlaması gerekir. Bu uygulamaları istisnasız olarak izlemeleri gerekir. Daha fazla bilgi için bkz . Güvenlik geliştirme yaşam döngüsü kılavuzu.

Kaynakları adlandırma ve etiketleme standartları uygulama

Etiketleme ve adlandırma kurallarını uygulamak, Azure kaynaklarını yönetmek ve düzenlemek için en iyi yöntemdir. Etiketleme ve adlandırma kuralları ortam, uygulama, sahip veya maliyet merkezi gibi yaygın özniteliklere göre kaynakları tanımlamaya, sınıflandırmaya ve gruplandırmaya yardımcı olur. Ayrıca abonelikler ve kaynak grupları arasında kaynakların güvenlik, otomasyon, raporlama ve idaresini de etkinleştirir.

Standart etiketleme ve adlandırma kurallarını kullanmanın avantajlarından bazıları şunlardır:

  • Azure portalı, PowerShell, CLI ve API'ler genelinde bulma ve aramayı kolaylaştırarak kaynak belirleme ve yönetimi için tutarlılık ve netlik sağlar.
  • Faturalama, izleme, güvenlik ve uyumluluk amacıyla kaynakların filtrelenmesine ve gruplanmasına olanak tanır.
  • Sağlama, yetkisini alma, yedekleme ve kurtarma gibi kaynak yaşam döngüsü yönetimini destekler.
  • Bunlar güvenlik amacıyla gereklidir. Bir güvenlik olayıyla karşınıza çıkarsa, etkilenen sistemleri, bu sistemlerin desteklediği işlevleri ve olası iş etkisini hızla belirlemek kritik önem taşır.

Bulut kaynaklarınız için adlandırma kurallarını kullanma hakkında daha fazla bilgi için bkz . Adlandırma kuralınızı tanımlama. Bulut kaynaklarınıza meta veri etiketleri uygulama hakkında daha fazla bilgi için bkz . Etiketleme stratejinizi tanımlama.

Azure kolaylaştırma

  • Azure DevOps , işbirliğine dayalı, verimli ve tutarlı bir geliştirme uygulaması oluşturmak için kullanabileceğiniz bir hizmet koleksiyonudur. Azure DevOps aşağıdaki çözümleri paketler:

    • Azure Pipelines, uygulamalarınızın CI/CD'sini desteklemek için derleme ve yayın hizmetleri sağlar.

    • Azure Boards , Scrum ve Kanban gibi Çevik uygulamaları destekleyen web tabanlı bir iş yönetimi aracıdır.

    • Azure Repos, Git dağıtılmış sürüm denetim sistemini ve Team Foundation Sürüm Denetimi sistemini destekleyen bir sürüm denetim aracıdır.

    • Azure Test Planları , planlı el ile test, kullanıcı kabul testi, keşif testi ve proje katılımcılarından geri bildirim toplama için gereken özellikler sağlayan tarayıcı tabanlı bir test yönetimi çözümüdür.

    • Azure Artifacts , geliştiricilerin kodlarını verimli bir şekilde paylaşmasına ve paketlerini yönetmesine olanak tanımak için kullanılır.

  • Azure için GitHub Actions, CI/CD işlemlerini otomatikleştirmek için kullanabileceğiniz bir araçtır. Dağıtımları basitleştirmek için doğrudan Azure ile tümleşir. Deponuzdaki her çekme isteğini derleyip test eden iş akışları oluşturabilir veya birleştirilmiş çekme isteklerini üretim ortamına dağıtabilirsiniz.

  • GitHub Projeleri , Kanban panoları, raporlar, panolar ve diğer işlevleri oluşturmak için kullanabileceğiniz bir iş yönetimi aracıdır.

  • Düşük kodlu ve kod içermeyen araçlar şunlardır:

  • Azure Resource Manager şablonları ve Bicep , IaC'yi dağıtmak için kullanabileceğiniz Azure'a özel araçlardır. Terraform , altyapıyı dağıtmak ve yönetmek için kullanabileceğiniz azure tarafından desteklenen bir diğer IaC aracıdır.

  • Visual Studio , Azure ile tümleşen ve birçok dili destekleyen sağlam bir geliştirme aracıdır.

  • GitHub Copilot , çift programcı işlevi gören ve siz kod yazarken otomatik tamamlama stili önerileri sunan bir yapay zeka hizmetidir. Copilot, Visual Studio'da ve diğer birçok geliştirme aracında uzantı olarak kullanılabilir.

  • Azure Yük Testi , nerede barındırıldığına bakılmaksızın uygulamalarınız için trafik simülasyonu yaparak yüksek ölçekli yük oluşturmak için kullanabileceğiniz tam olarak yönetilen bir yük testi hizmetidir.

Kurumsal uyumluluk

Azure için Bulut Benimseme Çerçevesi, Azure kaynaklarını etiketlemeye ve adlandırmaya yönelik genel yönergeler ve önerilerin yanı sıra farklı kaynak türleri için belirli kurallar ve örnekler sağlar.

Operasyonel Mükemmellik denetim listesi

Öneriler kümesinin tamamına bakın.