Aracılığıyla paylaş


Ölçeklendirilen Çevik uygulamaları uygulama

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Kurumsal kuruluşlar, Çevik uygulamalarını birçok nedenden dolayı benimser. Bu nedenlerden bazıları şunlardır:

  • Pazara sunma süresini kısaltın ve ürün teslimatını hızlandırın
  • Değişen öncelikleri yönetmek için kurumsal etkinliği geliştirme
  • Yazılım kalitesini ve teslim tahmin edilebilirliğini geliştirme
  • Proje görünürlüğünü geliştirme ve proje riskini azaltma

Kuruluşunuz büyüdükçe, çevik kalmak ve değişen hedeflere ulaşmak için uygulamalarınızı ölçeklendirmek istiyorsunuz. Bunu yapmak için şu iki yol gösteren ilkeyi göz önünde bulundurun:

  • Başarı size, ekiplerinize ve kuruluşunuza nasıl görünür ? En çok ilginizi çeken şey: Zamanında teslim mi? Ürün kalitesi? Öngörülebilirlik mi? Müşteri memnuniyeti mi?
  • Scrum'un kurucularından Ken Schwaber'ın belirttiği gibi, ilk ilkelere geri dönün ve Çevik manifestosunda numaralandırılan ilkelere ve paylaşılan değerlere dönün:
    • "Değerler ve ilkeler ölçeklendirilir, ancak uygulamalar bağlama duyarlıdır."
    • "Değerleri koru, ilkeleri koru ve kendin düşün. Çevik'in temel bir özelliği, işi yapan kişilerin bunun nasıl yapılacağını en iyi şekilde öğrenebilecek kişiler olmasıdır."

Ritim ve akış oluşturma

Paylaşılan bir tempoyu ve düzenli iletişim kümesini benimseyerek kuruluş genelinde sürekli bir etkinlik akışı oluşturursunuz. Büyük kuruluşlarda ritim ve akış oluşturmaya yardımcı olan uygulamalar şunlardır:

  • Paylaşılan tempo: Düzenli sprint'ler ve sürümler işletmenin ritmini oluşturur. Tüm ekiplerin paylaşılan bir tempoda çalışması, tüm koordinasyon ve işbirliği etkinliklerine yardımcı olur.
  • Sprint iletişimleri: Kuruluşun ve tüm ekiplerin özellik ekiplerinin ilerleme durumu ve planları hakkında bilgi sahibi olmasını sağlamak için, her özellik ekibi Microsoft Teams, Slack veya e-posta gibi dijital kanallar aracılığıyla önceki sprint sonuçlarının ve geçerli sprint planlarının özetini paylaşabilir.
  • Sprint tanıtımları ve videoları: Ekibin ürettiği yeni özellikleri gösteren 2 ile 3 dakikalık hızlı videolar oluşturun. Sprint iletişimleri veya ekip kanalları içinde bu tür videoların bağlantılarını paylaşın.
  • Tanıtım toplantıları: Diğer ekipleri bilgilendirmek ve geliştirme aşamasındaki yazılımlar hakkında geri bildirim istemek için ekipler, tamamladıkları çalışmaları sergiler. Bu toplantıları proje yaşam döngüsü boyunca düzenli aralıklarla gerçekleştirin ve tüm ilgili taraflara açın.
  • Kalite ölçümleri panoları: Ürün kalitesiyle ilgili içgörüleri desteklemek ve hata disiplininin korunmasını teşvik etmek için kalite ölçümlerini düzenli aralıklarla kuruluşla paylaşın. Bu ölçümler özellik ekibi başına etkin hataları, hata eğilimlerini, test kapsamını ve hata çıkış oranlarını içerebilir.
  • Koordinasyon toplantıları ve törenler: Örtüşen hedefleri, bağımlılıkları ve riskleri ele almak için ekipleri düzenli aralıklarla veya gerektiği sıklıkta koordine eden toplantılar düzenleyin. Scrum of Scrums veya Program Artışı (PI) planlama oturumlarını uygulamayı göz önünde bulundurun.

Müşterilerle etkileşim kurma

Ürün yaşam döngünüz boyunca müşterilerle etkileşim kurmak birincil Çevik ilkesidir. Her ekibin sahip oldukları özellik kümelerinde müşterilerle doğrudan etkileşim kurmasını sağlayın.

  • Sürekli geri bildirim döngüleri: Müşteri geri bildirim mekanizmalarını dahil edin. Bu döngüler birçok biçim alabilir:
    • Müşteri ses platformları: Müşterilerin ayrılmış portallar, topluluk forumları veya tümleşik geri bildirim sistemleri aracılığıyla geri bildirim sağlamasını, fikir eklemesini ve yeni nesil özelliklere oy vermesini kolaylaştırın.
    • Ürün içi geri bildirim: Ürün deneyimi ve belirli özellikler hakkında içgörüler toplamak için ürün içi geri bildirim düğmeleri ve telemetri uygulayın.
    • Müşteri tanıtımları ve kullanıcı testi: Müşterilerinizden geri bildirim isteyen düzenli tanıtımlar zamanlayın ve yeni nesil ürünleri şekillendirmenize ve müşterilerinizin kullanmak istediği uygulamaları oluşturmanıza yardımcı olmak için kullanılabilirlik testi oturumları gerçekleştirin.
  • Erken benimseyen ve beta programlar: Tüm ekiplerin bir noktada katılmak isteyebileceği fikriyle programlar geliştirin. Erken benimseyenler, çalışma yazılımının erken sürümlerine erişim kazanır ve değerli geri bildirimler sağlar. Bu programlar genellikle erken benimseyenler listesi için özellik anahtarlarını seçerek çalışır.
  • Veri temelli kararlar: Ürününüzü yararlı veriler elde etmek ve çeşitli hipotezleri test etmek için izlemenin yollarını bulun. Öğrenmeyi ve kanıta dayalı karar almayı kutlayan, deneme dostu bir kültüre doğru hareket edin.

Proje görünürlüğünü geliştirme

Siz ve ekipleriniz yapılan işin hedefi, vizyonu ve ilerlemesi hakkında ne kadar çok içgörü elde ettikçe riskleri azaltabilir ve bağımlılıkları o kadar iyi yönetebilirsiniz.

  • Ekip yapısı: Kuruluşunuz ne kadar büyük olursa olsun, kuruluşunuzu 6 ile 9 kişilik küçük ekipler etrafında yapılandırarak etkili bir şekilde ölçeklendirilir. Portföy yönetimi alanları altında gruplandırılmış dikey, otonom özellik ekipleri oluşturun.
  • İş dökümü yapısı: Büyük hedeflerin, özelliklerin veya gereksinimlerin daha küçük parçalara ayrılması, proje yönetiminin temel unsurlarından biridir. Ekipler, çalışmaları benzer boyutlu görevlere ayırarak daha iyi tahminler yapabilir, riskleri ve bağımlılıkları belirleyebilir.
  • Birleştirilmiş görünümler ve panolar: İşi toplamak ve ekipler arasında bilgi edinmek için çevrimiçi izleme araçlarınızı kullanın. Azure DevOps Analytics hizmetlerini kullanarak ilerleme durumunu, eğilimleri ve önemli performans göstergelerini göstermek için gerçek zamanlı panolar oluşturun.
  • Deneyim ve tasarım gözden geçirmeleri: Geliştirme, senaryolar ve öncelikler konusunda liderlik eğitmek, geri bildirim toplamak, beklentileri belirlemek ve özellik hakkındaki ekipler arası sorunları ortaya çıkarabilmek için bu toplantıları bir özellik üzerinde başlamadan önce düzenleyin.

Üretken bir iş gücünü güçlendirme

İyi ölçeklendirilen ve daha mutlu, katılımlı ve üretken çalışanlara yol açan belirli Çevik uygulamalar şunlardır:

  • Yerleşik liderlik ve psikolojik güvenlik: Kuruluştaki ekipleri ve liderleri mümkün olduğunca kendi kendine düzenleme ve kendi kendine yönetme konusunda güçlendirin. Ekip özerkliği, kurumsal çevikliği ve ekip verimliliğini artırır. Ekiplerin başarılı olmak ve ekip üyelerinin fikirlerini ve endişelerini ifade etmek için kendilerini güvende hissedeceği ortamlar oluşturmak için gereken kurumsal sponsorluklara sahip olduğundan emin olun.
  • Günlük stand-up'lar: Scrum toplantıları, ekiplerin günlük olarak odaklanması gereken konulara odaklanmalarına ve böylece sprint taahhütlerini yerine getirme becerilerini en üst düzeye çıkarmalarına yardımcı olur. Kuruluşlar büyüdükçe, ekipler arası katılımın gerektiği gibi gerçekleşebilmesi için bu toplantıları aşamalı olarak değerlendirmeleri gerekir.
  • Takımlar Arası Scrum: Farklı Çevik ekiplerden temsilciler, tamamlanan işleri, sonraki adımları ve ekiplerinde karşılaşılan sorunları veya engelleri bildirmek için düzenli olarak bir araya gelir.
  • Ekip iletişimleri ve bilgi paylaşımı: Ekipleri kurumsal ağlar aracılığıyla uygulamalarını ve kılavuzlarını paylaşmaları için sağlayın ve teşvik edin. Yaygın araçlar arasında ekip wiki'leri, Microsoft Teams, Confluence veya Azure DevOps wiki'leri bulunur.
  • İşbirliği ve kod kalitesi: Resmi olmayan ekipler arası iletişim ve işbirliğini teşvik edin. Kod incelemeleri, tasarım incelemeleri, eşleştirme programlaması ve mob programlama gibi uygulamaları kurumsallaştırma. Bu uygulamalar yalnızca ekip işbirliğini artırmakla kalmaz, bireysel ve genel kurumsal yetkinlik geliştirmeye yardımcı olur.

Kuruluş kültürünü geliştirme

Oluşturmak istediğiniz kültüre katılarak kurumsal etkinliği geliştirirsiniz. Kültür değişiklikleri, bireyler, ekipler ve kuruluşlar bir veya daha fazla sürekli iyileştirme uygulamasını benimsediğinde gerçekleşir. Birkaç ölçeklenebilir Çevik uygulama şunlardır:

  • Geçmişe dönük değerlendirmeler: Ekiplerin süreçlerini ve uygulamalarını nasıl geliştirebileceklerini yansıtmasına yardımcı olmak için "Ne iyi gitti?", "Farklı ne yapmalıyız?" ve "Ne yapmayı bırakmalıyız?" gibi sorular sorun. Geçmişe dönük değerlendirmeler, ekiplerin neyin iyi çalıştığını ve neyin iyileştirilmesi gerektiğini ortaya çıkarmasında yardımcı olur. Geçmişe dönük değerlendirmeleri istediğiniz zaman ve her yerde gerçekleştirebilirsiniz. Ancak, belirli geçmişe dönük değerlendirmelerin düzenli bir tempoda kurumsallaştırılması, sürekli iyileştirme uygulamalarının oluşturulmasına yardımcı olur. Örneğin:

  • İyileştirme izleme panosu: Süreçleri geliştirmek için iyi fikirler herhangi bir zamanda herkes tarafından ortaya çıkabilir. Bu fikirleri kaydetmek, tartışmak ve bunlar üzerinde nasıl hareket edileceğine hızlıca karar vermek, süreç iyileştirme çabalarını destekler.

    Beyaz tahta, fikirleri yakalamak için kolay ve görsel bir araç sağlar. Ayrıca, bir geliştirme izleme ekibi oluşturabilir ve elektronik tahtada izlediğiniz fikirleri yakalayabilirsiniz.

  • Paylaşımı ve öğrenmeyi kurumsallaştırma: En iyi yöntemleri paylaşmak ve fikirleri iletmek, bir kuruluştaki tüm ekiplerin büyümesine ve gelişmesine yardımcı olur. Öğrenme kültürü geliştirmek, bu ve diğer sürekli iyileştirme etkinliklerini destekler. Şu fikirleri göz önünde bulundurun:

    • İç wiki'ler ve bilgi bankaları

    • Uygulama toplulukları ve meslek loncaları

    • Hackathon haftaları veya yenilik zamanı

    • Bu uygulamaları benimsemekte olan ekipleri desteklemek amacıyla dahili DevOps ve Agile koçluk ekipleri

    • Düzenli öğle yemeği ve öğrenme oturumları

    • İç konferanslar ve teknik konuşmalar

      Kültür Oyunu , ekiplerin Çevik uygulamaları benimsemesine ve en iyi yöntemleri paylaşmasına yardımcı olmak için Çevik yöneticiler için iyi bir kaynak sağlar.

  • Uygulama toplulukları: İç ortak uzmanlık alanlarını (örneğin, site güvenilirliği mühendisleri, yazılım mimarları, UX tasarımcıları, veri bilimcileri ve güvenlik uzmanları) destekleme

Çalışan yazılım

"Çalışma yazılımını birkaç haftadan birkaç aya kadar, daha kısa zaman ölçeğini tercih edecek şekilde sık sık teslim edin."
"Çalışma yazılımı ilerlemenin birincil ölçüsüdür."
- Çevik bildirim

Yazılım, özellik ve karmaşıklık miktarı arttıkça, tüketilebilir çözümler üretmenize yardımcı olacak uygulamaları benimsemeniz gerekir.

  • Özellik bayrakları ve aşamalı teslim: Farklı özelliklere erişimi güvenli bir şekilde etkinleştirmek veya devre dışı bırakmak için özellik bayraklarını kullanın. Erken benimseyenler için çalışan geri bildirim almayı sağlamak amacıyla özellikleri etkinleştirme desteği. Kanarya sürümleri ve mavi-yeşil dağıtımlar gibi aşamalı teslimat modellerini uygulayın.
  • Sürüm trenleri ve sürekli teslim: Bir veya birden fazla özellik sunmak için başka bir tempo türü sağlar. Özellik ekipleri, yeni özellikleri sunmanın önceden planlanmış zamanlamasını anlar ve buna göre plan yapar. Sürüm trenleri, kuruluş için oluşturulan sprint ritmiyle aynı ritmi izleyebilir veya farklı bir ritimde de uygulanabilir. Sprint'leri ve yayın trenlerini ayarlama hakkında bilgi için bkz. Ölçeklendirilmiş Çevik Çerçeve .
  • Sürekli tümleştirme ve sürekli dağıtım (CI/CD): El ile çalışmayı ortadan kaldıran ve test, derleme ve dağıtım döngüleri aracılığıyla yazılım akışını otomatik hale getiren otomatik işlemleri benimseyin. Birim testleri, tümleştirme testleri ve otomatik kabul testleri dahil olmak üzere kapsamlı test stratejileri uygulayın.
  • İç kaynak ve açık geliştirme: Açık Kaynak Yazılım topluluğunda geliştirilen değeri ve etikleri iç geliştirme ekiplerinize getirin. Ekipler arasında kod paylaşımını, belgeleri ve işbirliğine dayalı geliştirme uygulamalarını teşvik edin.
  • Bulutta yerel uygulamalar: Ölçeklenebilirliği ve sürdürülebilirliği geliştirmek için kapsayıcılaştırmayı, mikro hizmet mimarilerini ve bulutta yerel dağıtım desenlerini benimseyin.

Modern uygulamalar ve dikkat edilmesi gerekenler

Çevik uygulamalar geliştikçe, şu diğer modern yaklaşımları göz önünde bulundurun:

  • DevSecOps tümleştirmesi: Güvenliği ayrı bir sorun olarak ele alma yerine geliştirme yaşam döngüsü boyunca güvenlik uygulamalarını tümleştirin.
  • Site güvenilirlik mühendisliği (SRE): Sistem güvenilirliğini artırmak ve operasyonel ek yükü azaltmak için SRE uygulamalarını benimseyin.
  • Değer akışı eşlemesi: Fikirden müşteri teslimine değer akışını eşleyin ve iyileştirin.
  • OKR'ler (Hedefler ve Önemli Sonuçlar): Ekipleri yalnızca çıkışlar yerine ölçülebilir sonuçlarla uyumlu hale getirmek için OKR'leri kullanın.
  • Tasarım düşünme: Müşteri ihtiyaçlarını daha iyi anlamak için insan merkezli tasarım yaklaşımlarını birleştirir.

Yukarıdaki uygulamalarla birlikte, Çevik araçlarınızı ölçeklendirmeyle ilgili daha fazla kılavuzu aşağıdaki makalelerde bulabilirsiniz:

Sektör kaynakları

Ölçeklendirilmeyecek uygulamalar

  • Büyük girişimleri tahmin etme: Şelale proje yöntemlerinin bir bölümü, kaynakların ve zamanlamaların tahminini içerir. Girişimler ne kadar büyük olursa, bu tahminlerin herhangi bir değer sağlama olasılığı o kadar düşüktür. Projeler büyüdükçe riskler ve öngörülemeyen sorunlar ve engelleyiciler ortaya çıkabilir ve bu da birçok tahmini geçersiz hale getirir.
  • Ekipler arası ölçüm olarak hız: Ekip hızı , bir sprint döngüsü sırasında her ekibin ne kadar çalışma tamamlayabildiği hakkında içgörü elde etmek için yararlı bir ölçüm sağlasa da anlamlı veya yararlı ölçümler elde etmek için ekip hızı ekleyemezsiniz. Ayrıca, uzun aralıklı tahminleri güvenilir bir şekilde tamamlamak için birçok ekipten elde edilen hızı kullanmak sorunludur. Ekipler, çalışmalarını tahmin etme şekline göre farklılık gösterebilir ve bu çeşitlemeler zaman içinde artar.
  • Yukarıdan aşağıya açık açıklayıcı çözümler: Bir boyut tümüne uymaz ve bir çözüm genellikle tüm takımlara uymaz. Ekip özerkliğini desteklemek, ekiplerin gerekli çerçeveleri ve desteği sağlarken kendi çözümlerini bulmasına izin vermek anlamına gelir.
  • Kargo kültü Çevik: Amaçlarını anlamadan Çevik törenleri uygulamak veya bunları bağlamınıza uyarlamak genellikle etkisiz uygulamalara yol açar.