20P by xguru 2023-10-05 | favorite | 댓글 1개

테크닉/도구/플랫폼/개발언어 및 프레임워크 분야의 최신 트렌드들을 Hold/Assess/Trial/Adopt 4단계로 시각화 및 설명

AI 지원 소프트웨어 개발

  • 코딩을 위한 오픈소스 LLM이 개발 도구 환경을 뒤흔들 것
  • 또한 코딩을 넘어서 사용자 스토리 작성 지원, 사용자 리서치, 엘리베이터 피치, 다른 언어 관련 작업등에서 큰 잠재력이 있음
  • 동시에 개발자는 이러한 모든 도구를 책임감 있게 사용해야하며, 환각적 종속성 같은 것도 주의해야 함

생산성 측정은 얼마나 생산적일까?

  • 소프트웨어 개발은 ​​기술 전문가가 아닌 사람들에게 때로 마술처럼 보일 수 있으며, 이로 인해 관리자는 개발자가 얼마나 생산적으로 수행하는지 측정하려고 노력하게 됨
  • 마틴 파울러는 2003년에 "생산성은 측정될수 없다" 라는 글을 썼음
  • 아직 SPACE 프레임워크(Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow) 중 Activity에 대한 대체 지표들인 풀리퀘스트 수나 해결한 이슈 건수등은 그닥 좋지 않음
  • 대신 업계는 생산성을 측정하기보다는 "흐름에 기여하거나 방해하는 요소를 측정"해야 한다는 "엔지니어링 효율성"에 초점을 맞추기 시작했음
  • 개인의 활동에 초점을 맞추는 대신 시스템의 낭비 원인과 경험적으로 보여줄 수 있는 조건이 개발자의 "생산성" 인식에 영향을 미친다는 점에 초점을 맞춰야 함
  • DX DevEx 360과 같은 새로운 툴은 특정 결과물 측정이 아닌 개발자 경험에 집중하여 이 문제를 해결함
  • 그러나 많은 리더가 여전히 모호하고 정성적인 방식으로 개발자의 '생산성'을 언급하고 있음
  • 이러한 관심의 부활 중 적어도 일부는 AI 지원 소프트웨어 개발의 영향에 관한 것으로 생각되며, 이는 "긍정적인 영향을 미치고 있는가?"라는 의문을 제기함
  • 생산성에 대한 실제 측정은 여전히 어려움

수 많은 LLM들

  • LLM(대형 언어 모델)은 AI의 많은 현대적 혁신의 기초를 형성
  • 현재 많은 실험에는 ChatGPT 또는 Bard 같은 채팅과 유사한 사용자 인터페이스를 표시하는 것이 포함
  • 광범위하게 LLM은 콘텐츠 생성(텍스트, 이미지 및 비디오)부터 코드 생성, 요약 및 번역에 이르기까지 다양한 문제를 해결할 수 있는 도구
  • 강력한 추상화 계층 역할을 하는 "자연어"를 사용하는 이러한 모델은 보편적으로 매력적인 도구 세트를 제공하므로 많은 정보 노동자가 사용중
  • 클라우드 호스팅 LLM보다 커스터마이징과 더 강력한 제어가 가능한 셀프 호스팅을 포함하여 다양한 측면의 LLM에 대한 논의가 이루어 짐
  • LLM의 복잡성이 증가함에 따라 우리는 특히 에지 장치와 제한된 환경에서 소형 폼 팩터에서 LLM을 양자화하고 실행하는 기능을 고려함
  • 질문과 답변 상호 작용을 뛰어넘는 동적 애플리케이션을 구축하는 데 사용할 수 있는 LLM 기반 자율 에이전트 와 함께 성능 향상을 약속하는 "ReAct Prompting" 에 ​​대해 살펴 봄
  • 또한 LLM 덕분에 다시 부활하고 있는 여러 벡터 데이터베이스(Pinecone 포함)에 대해서도 언급
  • 전문화 기능과 자체 호스팅 기능을 포함한 LLM의 기본 기능은 폭발적인 성장을 이어가고 있음

원격 딜리버리의 해결방법(Workaround)이 성숙해짐

  • 원격 소프트웨어 개발 팀은 수년간 지리적 제약을 극복하기 위해 기술을 활용해 왔지만, 팬데믹의 영향으로 이 분야의 혁신이 촉진되어 전체 원격 또는 하이브리드 작업이 지속적인 추세로 굳어짐
  • 이번 Radar에서는 원격 소프트웨어 개발 방식과 도구가 어떻게 성숙해졌는지, 그리고 팀이 그 어느 때보다 분산되고 역동적인 환경에서 효과적인 협업에 중점을 두고 경계를 계속 넓혀가는 방법에 대해 논의
  • 일부 팀은 새로운 협업 도구를 사용하여 계속해서 혁신적인 솔루션을 제시
  • 일부는 실시간 페어 프로그래밍이나 Mob 프로그래밍 , 분산 워크숍(예: 원격 이벤트 스토밍) 과 같은 활동에 대한 기존 대면 관행을 계속해서 조정하고 개선중. 비동기식 및 동기식이 모두 가능
  • 원격 근무는 다양한 이점을 제공하지만(보다 다양한 인재 풀 포함), 대면 상호작용의 가치는 분명함
  • 팀은 중요한 피드백 루프가 소실되도록 해서는 안 되며 원격 설정으로 전환할 때 발생하는 장단점을 인식해야 함

[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