Geliştirici üretkenliği nasıl artırılır?


bu Yazılım becerileri kriziyle mücadele Freeform Dynamics tarafından yakın zamanda yapılan bir araştırma, kuruluşların beşte birinin geliştirme araçlarını, süreçlerini ve yöntemlerini amaca uygun bulmadığını ortaya koydu. %22’lik bir kesim ise bunların ileride sorunlu alanlar haline geleceğini tahmin ediyor.

CIO WaterCooler için ankete katılan 50 üst düzey BT lideri ve yöneticisinin çoğunluğu, geleneksel şirket içi modelde yazılım geliştiricileri istihdam ediyor. 20’den fazla yazılım geliştiriciden oluşan ekiplere sahip kuruluşların, daha küçük yazılım geliştirme ekiplerine sahip kuruluşlara (%27) göre yazılım dağıtım hızını artırmaya ve yeni özellikleri ve işlevleri pazara daha hızlı sunmaya (%73) daha fazla odaklandığı bulundu.

Freeform Dynamics, bunun anlamının, ekipler daha küçük olduğunda işleri “kapıdan çıkarmanın” daha kolay olduğunu söylüyor.

İyi bir geliştirici deneyimi sunmaya odaklanmış kuruluşlarda, geliştirmeleri daha hızlı kullanıma sunmak – yüksek bir yazılım yayınlama temposuna sahip olmak gibi – daha başarılabilir.

Nisan ayında Gartner, yazılım mühendisliği liderlerinin yarısından fazlasının artık yüksek kaliteli geliştirici deneyimini yazılım tesliminde kritik bir öncelik olarak gördüğünü keşfetti. Kuzey Amerika, EMEA ve Asya-Pasifik’teki sektör dikeylerindeki büyük kuruluşlardan 142 yazılım mühendisliği lideriyle yapılan anket, yazılım mühendisliği liderlerinin %58’inin geliştirici deneyimini kuruluşlarındaki C-suite için “çok” veya “son derece” kritik olarak değerlendirdiğini bildirdi. .

Bir geliştirici deneyimini iyi yapan nedir?

Geliştirici deneyimi, üretkenliği merkeze alma eğilimindedir. CCS Insight kurumsal araştırma başkanı Bola Rotibi’ye göre bu, geliştiricilerin yapmak istediklerine odaklanmakla ilgili. “Kod yazabilmek, yeni özellikler çekebilmek, işletmenin istediğini sunabilmek ve doğru kalitede yazılım geliştirebilmek istiyorlar. Ayrıca kodlarını hızlı bir şekilde dağıtmak istiyorlar,” diyor.

Yazılım geliştirme ekibi liderlerinin üretkenliği artırmasının ve yazılım geliştirme işini hızlandırmaya yardımcı olmasının bir yolu, yeniden kullanımı teşvik etmektir. Bu, atasözü çarkını yeniden icat etmekten kaçınmak için açık kaynaklı bir kitaplığı çekmek kadar basit olabilir.

Ancak kuruluşlar, giderek artan bir şekilde, dahili veya genel uygulama programlama arabirimleri (API’ler) aracılığıyla sunulan harici hizmetlerden veya geliştiricilerin işlevselliğini genişletmek için kullanması için bir dizi harici API sağlayabilen ticari bir kullanıma hazır üründen yararlanıyor olacak. .

Unit4’ün baş teknoloji sorumlusu (CTO) Claus Jepsen, kurumsal yazılımlarda genişletilebilen yeniden kullanımın faydalarını açıklayarak şöyle diyor: “Yazılıma her zaman ihtiyacımız olacak, ancak onu her zaman yazmamıza gerek yok. Yazılım genişletilebilirliği, satıcı kanal ortakları gibi üçüncü taraflara programlara hızlı ve zarif bir şekilde ekleme araçları sağlar. Bu yeni değil, ancak kesinlikle reşit oluyor, çünkü uzun yıllardır uber trendi benzersiz özel kod üreten müşterilerden uzaklaşıp daha temel bir yaklaşıma doğru ilerliyor.”

“Yazılıma her zaman ihtiyacımız olacak ama onu her zaman yazmamıza gerek yok. Yazılım genişletilebilirliği, üçüncü taraflara programlara hızlı ve zarif bir şekilde ekleme araçları sağlar”

Claus Jepsen, Ünite 4

Ancak iyi bir geliştirici deneyimi, kodlamadan daha fazlasıdır. Yazılım geliştirme ekibi liderleriyle yapılan Gartner anketi, süreçleri kolaylaştırmaya odaklanan geliştirici deneyimi için en yüksek değere sahip olduğu düşünülen teknolojilerin birçoğunu buldu.

Gartner’ın verileri, ankete katılan yazılım ekibi liderlerinin çoğu için, gelişmiş geliştirici deneyiminin veya üretkenliğinin, yazılım geliştirme yaşam döngüsü boyunca çeşitli teknolojileri ve uygulamaları benimsemek için en önemli değer faktörü olduğunu gösteriyor. Belirtilen teknolojiler arasında dahili geliştirici portalları, performans mühendisliği, sürekli entegrasyon/sürekli teslimat (CI/CD) araç zinciri ve konteyner yönetimi yer alır.

Geliştirici deneyiminin iyileştirilmesinin yanı sıra, Gartner, yazılım mühendisliği teknolojisinin benimsenmesini sağlayan çok sayıda değer faktörü arasında maliyeti düşürmenin ve üstün yetenekler sunmanın olduğunu gördü.

Gartner, “yüksek veya öngörülemeyen maliyetleri” en önemli risk faktörü olarak belirtmelerine rağmen, yazılım mühendisliği liderlerinin şu anda hizmet olarak API yönetimi platformu (PaaS), hizmet olarak entegrasyon platformu (iPaaS) ve bulut yönetimi dahil olmak üzere çeşitli platform teknolojilerini kullandığını keşfetti. platformlar – hepsi yüksek değer olarak algılanıyor.

Gartner, şu anda pilot aşamasında olan ek platform teknolojilerinin iç kaynak platformları, değer akışı sağlama platformları, değer akışı yönetimi platformları, sunucusuz hizmet olarak işlev (FaaS) ve dahili geliştirici portallarını içerdiğini bildirdi.

Kuruluşlar ayrıca Gartner’ın “giderek karmaşıklaşan uygulama mimarileri” olarak tanımladığı şeyi yönetmek için teknolojiler satın alıyor.

Performans mühendisliği ve API yönetimi PaaS, Gartner’ın görüştüğü kuruluşlar arasında yüksek değer olarak derecelendirildi ve şu anda konuşlandırılıyor. Platform mühendisliği, tasarım sistemleri ve konteyner yönetimi de konuşlandırılıyor.

Gartner, kuruluşların şu anda geliştirici deneyimini geliştirmek için pilot uygulama yaptığı diğer teknolojilerin arasında yazılım kompozisyon analizi, GitOps, tarayıcı tabanlı tümleşik geliştirme ortamları (IDE’ler), iç kaynak platformları, yapay zeka (AI) ile artırılmış yazılım mühendisliği ve dahili geliştirici portalları olduğunu keşfetti.

Gartner araştırma müdürü Philip Walsh, çalışma hakkında şunları söylüyor: “Kuruluşlar bulut tabanlı, modüler ve API merkezli uygulama mimarilerine geçmeye devam ettikçe yazılım mühendisliği ekiplerinin iş akışları ve teknoloji ihtiyaçları da değişiyor.”

Walsh, bir platformun, geliştiricilerin işlerini yapmak için ihtiyaç duydukları araçları seçebilecekleri bir yer sunduğunu söylüyor. Kod tutarlılığını ve kalitesini zorlamak için kullanıldığını söylüyor.

“Tüm belgeler ve kaynaklar organize edildi, derlendi ve geliştirme, test ve dağıtım ortamını kurmak için yerleşik otomasyon var” diyor ve bunun, yeni bir geliştiricinin hemen kod işlemeye başlayabileceği anlamına gelmesi gerektiğini ekliyor.

“Kayıtlı birinin şablon bulmak için nereye gideceğini sormak zorunda kalmadan hemen işe başlayabileceği bu tek noktadan alışverişi istiyorsunuz” diye ekliyor.

Geliştirici deneyiminin bir sonraki seviyesi

Yapay zeka (AI), geliştirici üretkenliğini artırmayı ve geliştirici deneyimini geliştirmeyi vaat eden, şu anda mevcut olan yeni ve özgün yollardan biridir.

Software AG baş ürün sorumlusu (CPO) Stefan Sigg’e göre yapay zeka, yazılım geliştirme görevlerini basitleştirmenin başka bir yolunu sunuyor: “Bir geliştirici bir şey yaptığında, sorulması gereken soru, bunu daha önce başka biri yaptı mı?”

Sigg, geliştiricilerin kontrol etmek için yığın taşması gibi bir geliştirici kaynağında manuel arama yapabileceğini söylüyor, ancak böyle bir sorunun büyük dil modelleri (LLM’ler) için mükemmel olduğuna dikkat çekiyor. Bir LLM, büyük bir sinir ağında bir kod koleksiyonu oluşturabilir. Geliştiricinin bir sonraki sorusunun, kodun nasıl kullanıldığına dair bir örnek istemek olacağını söylüyor.

Örneğin Sigg, entegrasyon ara yazılımıyla, genellikle “alan eşleme” olarak adlandırılan şeyi elde etmenin herkesin bildiği gibi zor olduğunu söylüyor. Burası, bir sistemi diğerine entegre etmek isteyen bir geliştiricinin, bir sistemdeki alanların diğerindekilerle nasıl ilişkili olduğunu bulması gerektiği yerdir. İki BT sisteminin farklı veri biçimleri kullanması muhtemeldir. Diyor ki: “Onları nasıl bağlayacağımı merak ediyorsun?”

Büyük bir dil modeli, geliştiricinin daha sonra doğrulayabildiği uygun bir eşleme önerebilir. Yakın tarihli bir kullanıcı grubu toplantısında Software AG, geliştiricilerin karmaşık entegrasyon sorunlarını çözmelerine yardımcı olmak için konuşmalı bir iPaaS’ın nasıl kullanılabileceği fikrini gösterdi.

Geliştirici deneyimi neden önemlidir?

Mart 2022’de VMware, geliştirici deneyimi ile iş değeri ölçümleri ve sonuçları arasındaki bağlantıyı değerlendirmek için Forrester Consulting’i görevlendirdi. Forrester, geliştirici deneyimini iyileştirmenin yazılımın kalitesini, hızını ve nihayetinde karlılığını etkileyebileceğini bildirdi. Geliştirilmiş bir geliştirici deneyimi, aynı zamanda daha yüksek geliştirici iş tatminine de yol açabilir.

Geliştiriciler, ellerinden gelenin en iyisini yapabilmek ve mümkün olan en kısa sürede yüksek kaliteli kod dağıtmak isterler. Gartner, bu tür platformlar genellikle maliyetli olsa da, bir geliştirici platformunu yatırım yapmaya değer bir şey olarak görüyor. Yazılım geliştirmeyi artırmak için LLM’lerin kullanılması çok erken bir aşamadadır, ancak kullanımı karmaşık programlama görevlerini basitleştirebilir ve potansiyel olarak hataları en aza indirebilir.



Source link