9 pontos por xguru 2024-04-05 | 1 comentários | Compartilhar no WhatsApp

Visualiza e explica as tendências mais recentes nas áreas de técnicas/ferramentas/plataformas/linguagens e frameworks de desenvolvimento em 4 estágios: Hold/Assess/Trial/Adopt

Licenças de código-fonte abertas-ish (Open-ish)

  • O ecossistema de desenvolvimento de software open source tem dependido por muito tempo do conjunto de licenças catalogado pela OSI (Open Source Initiative)
  • Nos últimos anos, casos em que funcionalidades centrais de ferramentas amplamente usadas passaram de repente a ser pagas vêm provocando mudanças no cenário de licenciamento open source
  • Pagar por software não é o problema, mas é problemático quando funcionalidades centrais de ferramentas com ecossistemas já amadurecidos passam subitamente a ser cobradas
  • Também têm surgido softwares promovidos como open source, mas cujas funções básicas só são oferecidas após o pagamento de assinatura ou outras taxas
  • Recomenda-se dar atenção especial às questões de licença
  • É preciso verificar se todos os arquivos estão cobertos pela licença de nível superior

Equipes de desenvolvimento de software com suporte de IA

  • A IA pode trazer ganhos graduais em todos os aspectos do desenvolvimento de software, e as inovações ao longo de todo o processo estão sendo acompanhadas ativamente
  • Junto com as novas capacidades trazidas pela IA, surgem novos riscos para a qualidade e a segurança do software, por isso é preciso ficar atento aos riscos potenciais, inclusive entre não desenvolvedores

Novos padrões de arquitetura para LLMs

  • Com o aumento do uso de LLMs (Large Language Models), começam a surgir padrões de arquitetura específicos para dar suporte a situações comuns
    • NeMo Guardrails: permite construir políticas de governança para o uso de LLMs
    • Langfuse: melhora a visibilidade das etapas que levam à saída do LLM e das formas de lidar e validar codebases inchadas, cheias de código gerado
  • No ecossistema corporativo, RAG (retrieval-augmented generation) é o padrão preferido para elevar a qualidade da saída dos LLMs
  • À medida que a IA generativa continua permeando o desenvolvimento de software, espera-se uma explosão de padrões (e dos inevitáveis antipadrões)

Aproximando PRs de uma CI de verdade (Dragging PRs closer to proper CI)

  • A Thoughtworks sempre apoiou fortemente loops rápidos de feedback e integração contínua (CI)
  • Recentemente, com a obrigatoriedade de pull requests (PRs), muitas equipes passaram a ignorar a parte de CI do CI/CD
  • PRs foram criados para gerenciar grandes equipes open source distribuídas e contribuidores não confiáveis, mas acabaram se tornando sinônimo de revisão por pares mesmo em equipes pequenas e coesas de entrega
  • Desenvolvedores anseiam pelo mesmo fluxo obtido ao praticar CI de fato
  • Foram analisadas várias ferramentas que tentam aliviar a dor do processo de revisão de PR, como gitStream e as filas de merge do GitHub
  • Como assistentes de código com IA aumentam a vazão de codificação, há uma tendência de criar PRs maiores, o que pressiona ainda mais o processo assíncrono de revisão de código
  • Recomenda-se que equipes que não podem usar CI por restrições externas procurem maneiras de melhorar a precisão da integração e a velocidade do ciclo de feedback

[Techniques]

Adopt

  1. Retrieval-augmented generation (RAG)

Trial

  1. Automatically generate Backstage entity descriptors
  2. Combining traditional NLP with LLMs
  3. Continuous compliance
  4. Edge functions - Cloudflare Workers
  5. Security champions
  6. Text to SQL - Vanna.ai
  7. Tracking health over debt

Assess

  1. AI team assistants
  2. Graph analysis for LLM-backed chats
  3. LLM-backed ChatOps
  4. LLM-powered autonomous agents - AutoGen
  5. Using GenAI to understand legacy codebases - Bloop
  6. VISS

Hold

  1. Broad integration tests
  2. Overenthusiastic LLM use
  3. Rush to fine-tune LLMs
  4. Web components for SSR web apps

[Platforms]

Adopt

  1. CloudEvents

Trial

  1. Arm in the cloud
  2. Azure Container Apps
  3. Azure OpenAI Service
  4. DataHub - Tudo sobre a Data Discovery Platform (DDP)
  5. Infrastructure orchestration platforms
  6. Pulumi
  7. Rancher Desktop
  8. Weights & Biases

Assess

  1. Bun
  2. Chronosphere
  3. DataOS
  4. Dify
  5. Elasticsearch Relevance Engine
  6. FOCUS
  7. Gemini Nano
  8. HyperDX
  9. IcePanel
  10. Langfuse
  11. Qdrant
  12. RISC-V for embedded
  13. Tigerbeetle
  14. WebTransport
  15. Zarf
  16. ZITADEL

[Tools]

Adopt

  1. Conan
  2. Kaniko
  3. Karpenter

Trial

  1. 42Crunch API Conformance Scan
  2. actions-runner-controller
  3. Android Emulator Container
  4. AWS CUDOS
  5. aws-nuke
  6. Bruno
  7. Develocity
  8. GitHub Copilot
  9. Gradio
  10. Gradle Version Catalog
  11. Maestro
  12. Microsoft SBOM tool
  13. Open Policy Agent (OPA)
  14. Philips's self-hosted GitHub runner
  15. Pop
  16. Renovate
  17. Terrascan
  18. Velero

Assess

  1. aider
  2. Akvorado
  3. Baichuan 2
  4. Cargo Lambda
  5. Codium AI
  6. Continue
  7. Fern Docs
  8. Granted
  9. LinearB
  10. LLaVA
  11. Marimo
  12. Mixtral
  13. NeMo Guardrails
  14. Ollama
  15. OpenTofu
  16. QAnything
  17. System Initiative
  18. Tetragon
  19. Winglang

[Languages & Frameworks]

Trial

  1. Astro
  2. DataComPy
  3. Pinia
  4. Ray

Assess

  1. Android Adaptability
  2. Concrete ML
  3. Crabviz
  4. Crux
  5. Databricks Asset Bundles
  6. Electric
  7. LiteLLM
  8. LLaMA-Factory
  9. MLX
  10. Mojo
  11. Otter
  12. Pkl
  13. Rust for UI
  14. vLLM
  15. Voyager
  16. WGPU
  17. Zig

Hold

  1. LangChain - LangChain não faz sentido, Problemas do LangChain