Bir otomotiv şirketi, elektrikli araçlar (EV) için yeni bir yazılım platformu geliştirmek istiyor. Bu platform, aracın batarya yönetimi, eğlence sistemi, otonom sürüş yetenekleri gibi çok sayıda özelliği destekleyecek. Şirketin geliştirme süreci büyük ve karmaşık, farklı uzmanlık alanlarına sahip yüzlerce geliştiriciyi içeriyor. İşte bu noktada, SAFe (Scaled Agile Framework) bu süreci yönetmek için devreye giriyor.
Senaryo: Elektrikli Araç Yazılım Platformu Geliştirme Süreci
1. Portföy Düzeyi (Portfolio Level):
Şirketin üst yönetimi, elektrikli araç yazılım platformu geliştirme projesini stratejik hedefleri arasına koyuyor. Bu projede büyük iş birimlerinin hedefleri belirleniyor ve kaynaklar buna göre yönlendiriliyor. Bu düzeyde, elektrikli araç platformunun farklı özellikleriyle ilgili Epic'ler (büyük iş parçaları) tanımlanıyor.
Örneğin, Otonom Sürüş ve Batarya Yönetimi iki ayrı Epic olarak tanımlanabilir.
- Otonom Sürüş Epic’i: Araçların kendi kendine sürüş yeteneklerini artıracak yazılımlar.
- Batarya Yönetimi Epic’i: Bataryaların verimli yönetimini sağlayacak yazılımlar.
Bu Epic'ler, bütçelendiriliyor ve program düzeyine aktarılıyor.
2. Program Düzeyi (Program Level):
Bu seviyede, her Epic'in gerçekleştirilmesi için birden fazla Agile Release Train (ART) oluşturuluyor. Bir ART, birbirine bağlı çalışan birkaç takımdan oluşur ve bu takımlar birlikte bir ürün geliştirir.
- Otonom Sürüş ART’si: Otonom sürüşle ilgili yazılım modüllerini geliştiren 8-10 ekipten oluşur.
- Batarya Yönetimi ART’si: Batarya yönetimi ile ilgili geliştirmeleri yapan ekipleri kapsar.
Her ART, belirli aralıklarla (örneğin, 10 haftada bir) ürünlerin çalışan versiyonlarını çıkarır. Bu, Program Increment (PI) olarak adlandırılan sabit zaman dilimlerinde gerçekleşir. PI planlama toplantılarında, ART’ye dahil olan ekipler bir araya gelerek hangi özellikleri geliştireceklerini ve nasıl birlikte çalışacaklarını planlarlar.
3. Ekip Düzeyi (Team Level):
ART'lerin altındaki her bir ekip, kendi çevik yöntemleri (Scrum veya Kanban gibi) ile çalışır. Örneğin, Batarya Yönetimi ART’sine bağlı bir takım batarya şarj algoritmalarını geliştirirken, bir diğer takım bataryaların sıcaklık yönetim sistemini geliştirebilir. Ekipler, genellikle 2-3 haftalık sprint'ler (çevik döngüler) halinde çalışır ve her sprint sonunda bir çalışma ürünü ortaya koyarlar.
Her ekibin işini koordine etmek için bir Scrum Master ve iş hedeflerini belirleyen bir Product Owner bulunur. Ekipler bağımsız çalışırken, ART genelinde iş birliği sağlanır.
4. Büyük Çözüm Düzeyi (Large Solution Level):
Bu projede çok büyük ve karmaşık sistemler olduğundan, bu seviyede birden fazla ART koordinasyonu gerekiyor. Örneğin, Otonom Sürüş ART'si ve Batarya Yönetimi ART'si, elektrikli araç platformunun ortak bir yazılım mimarisi üzerinde çalışır. Bu mimariyi entegre etmek ve büyük çaplı sistemlerin senkronizasyonunu sağlamak için Solution Train denilen yapılar devreye girer.
Büyük çözüm düzeyinde, farklı ART’lerin geliştirdiği özellikler düzenli olarak entegre edilir ve tüm sistem test edilir. Bu sayede, batarya yönetimi ile otonom sürüş gibi kritik sistemlerin birbiriyle uyum içinde çalışması sağlanır.
5. DevOps ve Sürekli Teslimat:
SAFe, aynı zamanda DevOps ve sürekli teslimat prensiplerini de içerir. Bu projede, her ART’nin çalışmaları sürekli olarak entegre edilir ve otomatik testlerle kalite kontrol sağlanır. Continuous Delivery Pipeline (Sürekli Teslimat Boru Hattı), yazılımın hızlı bir şekilde geliştirilmesini, test edilmesini ve üretilen işlevlerin sürüme alınmasını sağlar.
Örneğin, geliştirilmekte olan yeni bir otonom sürüş algoritması önce test ortamına, ardından simülasyon ortamına, son olarak gerçek araçlara dağıtılır. Her aşamada test edilerek sorunlar hızlıca çözülür.
Sonuç:
Bu senaryoda, SAFe kullanılarak şirketin elektrikli araç yazılım platformu geliştirme süreci şu şekilde ilerler:
- Üst yönetimden stratejik hedefler belirlenir.
- Büyük iş parçaları Epic olarak tanımlanır.
- Program düzeyinde, birden fazla takımın birlikte çalıştığı ART’ler oluşturulur.
- Her takım kendi sprint'leriyle çevik bir şekilde çalışır.
- Büyük çözüm düzeyinde sistemlerin entegrasyonu ve senkronizasyonu sağlanır.
- DevOps süreçleri ile sürekli teslimat ve test yapılır.
SAFe, böyle karmaşık projelerde herkesin bir arada, uyumlu bir şekilde çalışmasını sağlayarak büyük hedeflerin daha hızlı ve verimli bir şekilde hayata geçirilmesine yardımcı olur.