Tasarım trenleri ve alan adına göre SAFE, SAFE ve kontrol sürümü
Büyük karmaşık projeler kullanmak zordur. Yazılım sürüm trenleri bir koordinasyon çözümüdür. Ancak yaklaşım, kendini örgütleme ve modern yönetim kavramlarına aykırıdır.
Birkaç çalışanı koordine etmek için bir serbest bırakma treni kullanılır. Bunun bir parçası olarak, tüm projeler beta testi, sürüm veya güncelleme gibi aşamalardan geçen koordineli sürümler geliştirir. Fikir, Eclipse, Ubuntu, Bahar veya Bookoftice çerçevesi gibi birçok önemli projede olduğu kanıtlandı.
Çevik ölçeklendirilmiş (güvenli) çerçeve, birkaç çevik ekibin çalışmalarını koordine etmek için çevik bir serbest bırakma treni önermektedir. Her iki haftada bir sistem demosu ile yeni bir sistem artışı sunmak ve sunmak için sabit bir zamanınız var. Çevik serbest bırakma treni, yazılımın geliştirilmesini ve dolayısıyla sürümün geliştirilmesini koordine eder, daha sonra kullanıcılar yeni özellikleri kullanabilir. Dolayısıyla, farklı ekipler aracılığıyla bir veya daha fazla en büyük özelliğin gelişimini koordine etme meselesidir. Amaç, sadece bireysel ekiplerin değil, aynı zamanda tüm sistemin düzenli olarak yeni özellikler uygulamasıdır. Bu şekilde, en büyük özelliklerle ilgili olası sorunlar belirginleşmelidir. Tabii ki çevik bir serbest bırakma treni için merkezi koordinasyon için çeşitli roller var.
Koordinasyon her zaman bir işbirliği için gereklidir, ancak aynı zamanda aşırı yük oluşturur. Merkezi koordinasyon mümkün olduğunca fazla delegasyona karşıdır. Modern organizasyonlar, mümkün olan en az sayıda hiyerarşiye sahip olmalı ve ekipler, merkezi koordinasyona ve bir komuta ve kontrole bağımlı olmak yerine otomobiller çalışmalıdır. Merkezi bir kontrol olmadan, organizasyon daha da iyidir.
Koordinasyon yerine mimari!
Aşırı koordinasyon örgütsel bir sorundur, ancak neden mimari bir sorun olabilir: Bir müşteri için bir değeri temsil eden değişiklikler farklı ekiplerin ve bileşenlerin koordinasyonunu gerektiriyorsa, daha iyi bir teknik kesim, ilgili bileşen sayısını ve dolayısıyla ekipleri azaltabilir. Alan adının yönlendirdiği tasarım, bunun için bazı önlemler sunar. Çevik bir salım trenindeki koordinasyon çok karmaşıksa, kesinlikle mimariye bakmaya ve orada optimizasyon potansiyeli olup olmadığını görmeye değer.
Ancak yazılımın mimarisi mükemmel olsa bile, birkaç ekibi etkileyen bir işlev için değişiklikler gerekebilir. Sonuçta, ekipler bir sistem üzerinde birlikte çalışır ve bu nedenle özellikler her zaman birkaç takımda dağıtılabilir. Alan adının liderliğindeki tasarım da çeşitli modeller önermektedir. “Müşteri/Tedarikçi” modeli (müşteri/tedarikçi) ile müşteri ekibi, tedarikçi ekibinde işlevselliğin uygulanmasını isteyebilir. Alternatif “konformist” dir: bu nedenle ekip elde ettiklerini almalı ve işlevselliğin uygulanmasını talep edemez.
Böylece bir DDD ekibi, teslimatlara bağlısa bir işlevselliği de uygulayabilir. Tek yapmanız gereken müşteri/tedarikçi gibi ekipler arasında “oyun kuralları” oluşturmaktır. Tabii ki, anlaşmazlıklar için bir başvuru tanımlamak gerekebilir, ancak normal koşullarda ekipler merkezi koordinasyon olmadan çalışabilir ve birbirlerini merkezi olmayan bir şekilde koordine edebilirler.
Ortaklık: Çok sıkı mı?
Çevik bir serbest bırakma trenine benzer şekilde özelliklerin işbirlikçi gelişimi de DDD'de mevcuttur. DDD bunu “ortaklık” olarak tanımlar. Şimdi bir ortaklık aslında olumlu. DDD Referansının İngilizce baskısı, ortaklığı göstermek için üç ayaklı bir yarış veya katılımcıların bir bacağına bağlı olduğu bir yarış kullanıyor. Bu ortaklık ve yakın ilişkili koordinasyon, çevik bir serbest bırakma treninde beklenebileceği gibi bir soruna yol açar.
Çözüm
Çevik -önleme trenlerinin uygulanması gibi dar merkezi koordinasyon, iyi yazılım mimarisi için kesinlikle gerekli olmamalı ve başka yollarla önlenebilir. Belki de algılanan güvenlik, SAFE gibi yaklaşımların başarılı olmasının bir nedenidir. Koordinasyon, genel proje düzeyinde kontrol edilmenizi ve gerekli olmanızı sağlar. Bu daha fazla güvenlik sağlayabilir. Öte yandan, ekiplerdeki gerçekten sorumlulukları devretmek yüksek derecede güven gerektirir.
TL; Dr.
Serbest bırakma trenleri farklı ekipler arasındaki işbirliğini koordine ediyor. Öte yandan, alan adının liderliğindeki bir tasarıma sahip yaklaşımlar, ekiplerde daha fazla sorumluluk devrediyor ve bu nedenle daha az koordinasyona ihtiyaç duyuyor
Meslektaşlarım Anja Kammer, Martin Kühl, Torsten Mandry, Sebastian Schwaiger ve Benjamin Wolf'a makalenin önceki bir versiyonuyla ilgili yorumlar için çok teşekkürler.
()