Makalenin Odağı: Yazılım Kalitesi & Bir Proje Kliniğinin Faydası

Bir proje kliniği hangi hizmeti sunar, bu hizmet merkezini nasıl kurarım ve hangi hizmetleri bekleyebilirim?

Aşağıdaki makalede bazı zanaatsal konulara odaklanmak istiyorum.

Birinci Tez: Yazılım Geliştirme Önemli Ölçüde Zanaatsal Bir İştir

Bir duvarcı nasıl bir gökdelen tasarlamıyorsa, bir programcı da bir BT sistemi tasarlamaz. Bu görevi, inşaat mimarının aksine (ki nadiren duvarcı olarak başlamıştır) genellikle kariyerine geliştirici olarak başlamış olan BT mimarı veya geliştirme yöneticisi üstlenir.

Birçok programcı yan daldan gelmiştir ve ne üniversite ne de meslek yüksekokulu eğitimi almıştır. Bunun görevleri için neden zorunlu olmadığı aşağıda açıklanacaktır.

Yazılım oluşturmadaki zanaatsal yönü kodlamada görüyorum, yani bir geliştiricinin bir spesifikasyonu uygulamaya dönüştürmesinde. Bu kişi bir üretim ortamında – yazılım geliştirme ortamı veya framework – çalışır ve belirli bir programlama dili kullanır.

İlgi duyan, asgari eğitime ve yazılım geliştirmede temel bilgiye sahip motive bir kişiye
a) iyi bir şablon ve
b) mevcut kodu incelemek için bazı giriş atölyeleri sunulursa, bu kişi hemen geliştirici olarak görevlendirilebilir.

İkinci Tez: Bir Yazılımın Kalitesi İlgili Geliştiricinin Kalitesine Bağlıdır

Geliştirme ekiplerini yönetmiş olan herkes, farklı kişilerin zaman biriminde ürettiği iş sonuçlarının kalite ve miktar açısından önemli farklılıklar gösterdiğini bilir.

Bir proje kliniğinde kalite ve optimizasyon potansiyelini değerlendirmek için mevcut bir yazılımın incelenmesinde, tek bir sistemin farklı bileşenleri içinde bile çok farklı sonuçlar tespit edilebilir.

Üçüncü Tez: Yöntem Uzman Bilgisinden Önce Gelir

Bir yazılımın kalitesini değerlendirmeye kim güvenebilir? Geliştirme ortamına ve dile mükemmel hakim olmak kesinlikle gerekli midir? Proje kliniğinin çalışanları tüm framework'leri ve dilleri bilmek zorunda mı?

Yapay zeka kullanımına ilişkin notumda, herkesin kodlamayı optimize etmek için çok uygun fiyatlı bir çalışan (ayda yaklaşık 20 $) kullanabileceğini belirtmiştim. Ancak gerçek şu ki, günümüz yapay zekasının iyi sonuçlar sunması için eğitilmesi gerekir. Bu, yapay zekaya sürekli yeni spesifikasyonlar ve ipuçları ile analiz edilecek sistemi yüklediğim bir ping-pong süreciyle gerçekleşebilir. Sonuçları kontrol eder ve yapay zekaya daha fazla girdi vererek bana daha iyi analizler sunma imkanı veririm.

Bu BT uzmanlığı, framework için harici bir uzman, geliştirme yöneticisi, yazılım mimarı ve gerekirse ilgili programlama dili için bir uzman tarafından (proje kliniğinin BT bilirkişisinin liderliğinde) sağlanabilir.

Günümüz yapay zekasının temel konuları ne kadar hızlı kavradığı – yani bir sohbet içinde öğrendiği – ve ne kadar önemli sonuçların analiz edilebildiği şaşırtıcıdır.

Böyle Bir Şeyi Eskiden Nasıl Uyguluyorduk? (Proje Kliniğimin Başlangıcı)

Devasa bir Cobol uygulamasının modern bir platforma taşınmasının maliyetini hesaplamak için, yeni platforma ve programlama diline geçiş için gereken çabayı belirlememiz gerekiyordu.

Dış uzmanımız Heiko L. o zamanlar tüm dizin yapısını dolaşan ve tüm kod segmentlerinden çabayla ilgili çeşitli göstergeleri belirleyen (örn. modül sayısı, kod satırları, "çirkin" atlama komutları vb.) özyinelemeli bir program yazdı.

Çaba: yaklaşık 2 gün – bir uzmanın günlük ücretiyle! Analizin değerlendirilmesinden sonra çabayı hesaplayabildik ve rekabetçi bir teklif hazırlayabildik. Bugün burada yapay zeka kullanırdık.

Dördüncü Tez: Proje Kliniğinin Sonuçlarının Yazılıma Aktarılması Bu Varlığın Değerini ve Dolayısıyla Şirketin Değerini Artırır

Bir yazılım evi satın almak isteseniz, hangi değerler fiyatı belirler?

Odak noktasında finansal göstergeler, müşteri tabanı, çalışan tabanı, bakım sözleşmeleri ve geliştirme riskleri yer alır.

Bakım sözleşmeleri ve geliştirme riskleri konusunda şu soru ortaya çıkar: Şirket, yazılım platformu temelinde mevcut bakım sözleşmelerini ve SLA'ları ekonomik olarak yerine getirebiliyor mu ve yeni ürün veya fonksiyonlarla ilgili ek gereksinimlere hızlı tepki verebiliyor mu?

Bunun temelini (etkili bir organizasyonun yanı sıra) kurulu geliştirme ortamı, mimari kütüphaneleri, fonksiyon kütüphaneleri ve arayüze kadar uzanan – yani şimdiye kadarki geliştirme çalışmalarının sonuçları oluşturur. Ancak bu sonuçların her birinin gerçek değeri incelenmelidir; zayıf noktalar ve riskler tespit edilip azaltılmalıdır.

Platform, insan sermayesinin yanı sıra bir yazılım evinin veya BT departmanının en önemli varlığıdır. BT platformuna odaklanan profesyonel bir varlık yönetimi, şirket değerini ve şirket cazibesini sistematik olarak artıracaktır. Bu görevin sorumluluğu yetkin bir yöneticiye atanmalıdır.

Burada da yapay zeka değerli uzmanlık ipuçları sağlayacaktır!

Beşinci Tez: En Önemli Varlık İnsandır (Ağustos 2024)

Yukarıda, bugün yapay zeka aracılığıyla nasıl yeni yazılım oluşturabileceğimiz ve mevcut yazılımı nasıl analiz edip iyileştirebileceğimiz belirtildi. Bir yazılım evinin ana varlığı olan BT platformuyla yoğun şekilde ilgilenmesi gerektiği gösterildi.

Şimdi şirket çalışanlarının katkısı daha yakından incelenecektir.

Daha karmaşık uzmanlık fonksiyonlarında, modül sorumlusunun (veya Teknik Lider'in) ya da müşteri sorumlusunun katkısı hâlâ gereklidir.

Daha da önemlisi, test etme görevi veya örneğin "Project Assurance Management" departmanından destek: fonksiyonlar, sonuç verileri ve görselleştirmeler, hedeflenen çözümün gereksinimlerini çok iyi uzmanlık düzeyinde anlayan insanlar tarafından kontrol edilmelidir.

Sonuç: Bir Proje Kliniğinin Faydası

Yazılım bir proje kliniğinde analiz edilebilir; iyileştirmeler önerilebilir ve onaylanmış kod segmentleri otomatik olarak mevcut bir kodun içine entegre edilebilir veya uygulanabilir. Proje kliniğinin BT bilirkişisi, yaklaşımı yazılım evinden bir sorumluyla koordine etmelidir. Geliştirme yöneticisi gibi kilit oyuncular ve diğer yöneticiler uzmanlık analiz sürecine yapıcı şekilde dahil edilmelidir.

Daha karmaşık uzmanlık fonksiyonlarının gözden geçirilmesinde ilgili modül sorumlusu veya geliştirici çağrılır. Mevcut yazılımdaki iyileştirmeler şirketin değerini artırır.