20 puan yazan xguru 2023-10-05 | 1 yorum | WhatsApp'ta paylaş

Teknikler/araçlar/platformlar/geliştirme dilleri ve framework'leri alanlarındaki en güncel trendleri Hold/Assess/Trial/Adopt olmak üzere 4 aşamada görselleştirip açıklıyor

Yapay zeka destekli yazılım geliştirme

  • Kodlama için açık kaynak LLM'ler, geliştirme araçları ekosistemini sarsacak
  • Ayrıca kodlamanın ötesinde kullanıcı hikâyesi yazım desteği, kullanıcı araştırması, elevator pitch ve diğer dil odaklı işlerde de büyük potansiyel taşıyor
  • Aynı zamanda geliştiriciler tüm bu araçları sorumlu biçimde kullanmalı ve package hallucination gibi konulara dikkat etmeli

Verimlilik ölçümü ne kadar verimli?

  • Yazılım geliştirme, teknik uzman olmayan kişilere bazen sihir gibi görünebilir; bu da yöneticileri geliştiricilerin ne kadar verimli çalıştığını ölçmeye itiyor
  • Martin Fowler 2003'te "Productivity can't be measured" başlıklı bir yazı yazmıştı
  • Hâlâ SPACE framework'ünde (Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow) Activity için kullanılan alternatif metrikler; örneğin pull request sayısı ya da çözülen issue adedi, çok iyi değil
  • Bunun yerine sektör, verimliliği ölçmekten çok "akıșa katkı yapan veya onu engelleyen unsurları ölçme" anlamındaki "engineering effectiveness" odağına yönelmeye başladı
  • Bireysel aktivitelere odaklanmak yerine, sistemde israfa yol açan nedenlere ve geliştiricilerin "verimlilik" algısını etkilediği ampirik olarak gösterilebilen koşullara odaklanmak gerekiyor
  • DX DevEx 360 gibi yeni araçlar, belirli çıktıları ölçmek yerine geliştirici deneyimine odaklanarak bu sorunu ele alıyor
  • Ancak birçok lider hâlâ geliştiricilerin 'verimliliğinden' belirsiz ve niteliksel biçimlerde söz ediyor
  • Bu ilginin yeniden canlanmasının en azından bir kısmının, yapay zeka destekli yazılım geliştirmenin etkisiyle ilgili olduğu düşünülüyor; bu da "olumlu bir etki yaratıyor mu?" sorusunu gündeme getiriyor
  • Verimlilik için gerçek ölçüm hâlâ zor

Çok sayıda LLM

  • LLM'ler (büyük dil modelleri), yapay zekâdaki modern yeniliklerin çoğunun temelini oluşturuyor
  • Şu anda birçok deney, ChatGPT veya Bard benzeri sohbet arayüzleri sunmayı içeriyor
  • Genel olarak LLM'ler; içerik üretiminden (metin, görsel ve video) kod üretimine, özetleme ve çeviriye kadar çok çeşitli problemleri çözebilen araçlar
  • Güçlü bir soyutlama katmanı işlevi gören "doğal dil"i kullanan bu modeller, evrensel olarak çekici bir araç seti sunduğu için birçok bilgi çalışanı tarafından kullanılıyor
  • Bulutta barındırılan LLM'lere kıyasla özelleştirme ve daha güçlü kontrol sunan self-hosted seçenekler dahil, LLM'lerin çeşitli yönleri tartışılıyor
  • LLM'lerin karmaşıklığı arttıkça, özellikle edge cihazlar ve kısıtlı ortamlarda küçük form faktörlerinde LLM'leri quantize edip çalıştırma yeteneğini de değerlendiriyoruz
  • Soru-cevap etkileşiminin ötesine geçen dinamik uygulamalar kurmak için kullanılabilecek LLM tabanlı otonom ajanlarla birlikte, performans artışı vaat eden "ReAct Prompting"e de bakılıyor
  • Ayrıca LLM'ler sayesinde yeniden yükselişe geçen çeşitli vector database'lere (Pinecone dahil) de değiniliyor
  • Uzmanlaşma yetenekleri ve self-hosting imkânları dahil olmak üzere LLM'lerin temel kabiliyetleri patlayıcı büyümesini sürdürüyor

Uzaktan teslimat için workaround'lar olgunlaşıyor

  • Uzaktan yazılım geliştirme ekipleri yıllardır coğrafi kısıtları aşmak için teknolojiden yararlanıyordu; ancak pandeminin etkisi bu alandaki yenilikleri hızlandırdı ve tamamen uzaktan ya da hibrit çalışma kalıcı bir trend hâline geldi
  • Bu Radar'da, uzaktan yazılım geliştirme yöntemleri ile araçlarının nasıl olgunlaştığı ve ekiplerin her zamankinden daha dağıtık ve dinamik bir ortamda etkili iş birliğine odaklanarak sınırları nasıl zorlamaya devam ettiği tartışılıyor
  • Bazı ekipler yeni iş birliği araçlarını kullanarak yenilikçi çözümler üretmeyi sürdürüyor
  • Bazıları ise gerçek zamanlı pair programming veya mob programming, dağıtık workshop'lar (ör. remote event storming) gibi mevcut yüz yüze pratikleri uyarlamaya ve geliştirmeye devam ediyor. Hem asenkron hem senkron biçimler mümkün
  • Uzaktan çalışmanın daha çeşitli bir yetenek havuzu gibi çeşitli faydaları olsa da yüz yüze etkileşimin değeri açık
  • Ekipler, kritik geri bildirim döngülerinin kaybolmasına izin vermemeli ve uzaktan düzene geçerken ortaya çıkan artı ve eksileri fark etmeli

[Techiniques]

Adopt

  1. Design systems
  2. Lightweight approach to RFCs

Trial

  1. Accessibility-aware component test design
  2. Attack path analysis
  3. Automatic merging of dependency update PRs
  4. Data product thinking for FAIR data
  5. OIDC for GitHub Actions
  6. Provision monitors and alerts with Terraform
  7. ReAct prompting
  8. Retrieval-Augmented Generation (RAG)
  9. Risk-based failure modeling
  10. Semi-structured natural language for LLMs
  11. Tracking health over debt
  12. Unit testing for alerting rules
  13. Zero trust security for CI/CD Assess
  14. Dependency health checks to counter package hallucinations
  15. Design system decision records
  16. GitOps
  17. LLM-powered autonomous agents
  18. Platform orchestration
  19. Self-hosted LLMs

Hold

  1. Ignoring OWASP Top 10 lists
  2. Web components for server-siderendered (SSR) web apps

[Platforms]

Adopt

  1. Colima

Trial

  1. CloudEvents
  2. DataOps.live
  3. Google Cloud Vertex AI
  4. Immuta
  5. Lokalise
  6. Orca
  7. Trino
  8. Wiz

Assess

  1. ActivityPub
  2. Azure Container Apps
  3. Azure OpenAI Service
  4. ChatGLM
  5. Chroma
  6. Kraftful
  7. pgvector
  8. Pinecone
  9. wazero

[Tools]

Adopt

  1. dbt
  2. Mermaid
  3. Ruff
  4. Snyk

Trial

  1. AWS Control Tower
  2. Bloc
  3. cdk-nag
  4. Checkov
  5. Chromatic
  6. Cilium
  7. Cloud Carbon Footprint
  8. Container Structure Tests
  9. Devbox
  10. DX DevEx 360
  11. GitHub Copilot
  12. Insomnia
  13. IntelliJ HTTP Client plugin
  14. KEDA
  15. Kubeconform
  16. mob
  17. MobSF
  18. Mocks Server
  19. Prisma runtime defense
  20. Terratest
  21. Thanos
  22. Yalc

Assess

  1. ChatGPT
  2. Codeium
  3. GitHub merge queue
  4. Google Bard
  5. Google Cloud Workstations
  6. Gradio
  7. KWOK
  8. Llama 2
  9. Maestro
  10. Open-source LLMs for coding
  11. OpenCost
  12. OpenRewrite
  13. OrbStack
  14. Pixie
  15. Tabnine

[Languages and Frameworks]

Adopt

  1. Playwright

Trial

  1. .NET Minimal API
  2. Ajv
  3. Armeria
  4. AWS SAM
  5. Dart
  6. fast-check
  7. Kotlin with Spring
  8. Mockery
  9. Netflix DGS
  10. OpenTelemetry
  11. Polars
  12. Pushpin
  13. Snowpark

Assess

  1. Baseline Profiles
  2. GGML
  3. GPTCache
  4. Grammatical Inflection API
  5. htmx
  6. Kotlin Kover
  7. LangChain
  8. LlamaIndex
  9. promptfoo
  10. Semantic Kernel
  11. Spring Modulith