Thoughtworks Technology Radar, Band 29 veröffentlicht
(thoughtworks.com)Visualisierung und Einordnung der neuesten Trends in den Bereichen Techniken/Tools/Plattformen/Programmiersprachen und Frameworks in vier Stufen: Hold/Assess/Trial/Adopt
KI-gestützte Softwareentwicklung
- Open-Source-LLMs für das Programmieren werden das Umfeld von Entwicklungstools aufmischen
- Darüber hinaus besteht großes Potenzial auch jenseits des Codings, etwa bei der Unterstützung beim Schreiben von User Stories, bei User Research, Elevator Pitches und anderen sprachbezogenen Aufgaben
- Gleichzeitig müssen Entwickler all diese Tools verantwortungsvoll einsetzen und auch auf Dinge wie halluzinierte Abhängigkeiten achten
Wie produktiv ist die Messung von Produktivität?
- Softwareentwicklung kann auf Menschen, die keine technischen Fachleute sind, manchmal wie Magie wirken, weshalb Manager versuchen, zu messen, wie produktiv Entwickler arbeiten
- Martin Fowler schrieb 2003 den Artikel „Produktivität kann nicht gemessen werden“
- Noch immer sind Ersatzmetriken für Activity im SPACE-Framework (Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow) wie die Anzahl an Pull Requests oder gelösten Issues nicht besonders gut
- Stattdessen beginnt sich die Branche eher auf „Engineering Efficiency“ zu konzentrieren, also darauf, „Faktoren zu messen, die zum Flow beitragen oder ihn behindern“, anstatt Produktivität direkt zu messen
- Statt sich auf die Aktivitäten einzelner Personen zu konzentrieren, sollte man den Fokus auf Ursachen von Verschwendung im System und auf Bedingungen legen, die empirisch nachweisbar die Wahrnehmung der Entwickler von „Produktivität“ beeinflussen
- Neue Tools wie DX DevEx 360 gehen dieses Problem an, indem sie sich nicht auf die Messung bestimmter Outputs, sondern auf die Developer Experience konzentrieren
- Dennoch sprechen viele Führungskräfte weiterhin in vager und qualitativer Weise von der „Produktivität“ von Entwicklern
- Ein Teil dieses wiederauflebenden Interesses hängt vermutlich mit den Auswirkungen KI-gestützter Softwareentwicklung zusammen und wirft die Frage auf: „Hat sie einen positiven Einfluss?“
- Eine echte Messung von Produktivität bleibt weiterhin schwierig
Zahlreiche LLMs
- LLMs (Large Language Models) bilden die Grundlage vieler moderner Innovationen im Bereich KI
- Viele aktuelle Experimente beinhalten derzeit die Bereitstellung einer chatähnlichen Benutzeroberfläche wie bei ChatGPT oder Bard
- Allgemein sind LLMs Werkzeuge, die ein breites Spektrum an Problemen lösen können – von der Generierung von Inhalten (Text, Bilder und Video) über Codegenerierung bis hin zu Zusammenfassung und Übersetzung
- Diese Modelle, die „natürliche Sprache“ als leistungsfähige Abstraktionsschicht verwenden, bieten ein universell attraktives Toolset und werden daher von vielen Wissensarbeitern genutzt
- Es gibt Diskussionen über LLMs aus vielen Perspektiven, einschließlich Self-Hosting, das mehr Anpassungsmöglichkeiten und stärkere Kontrolle als cloudgehostete LLMs bietet
- Mit zunehmender Komplexität von LLMs betrachten wir auch die Fähigkeit, LLMs in kleinen Formfaktoren zu quantisieren und auszuführen, insbesondere auf Edge-Geräten und in eingeschränkten Umgebungen
- Wir betrachten außerdem „ReAct Prompting“, das Leistungsverbesserungen verspricht, zusammen mit LLM-basierten autonomen Agenten, die zum Aufbau dynamischer Anwendungen jenseits von Frage-und-Antwort-Interaktionen genutzt werden können
- Erwähnt werden auch mehrere Vektordatenbanken (einschließlich Pinecone), die dank LLMs wieder an Bedeutung gewinnen
- Die grundlegenden Fähigkeiten von LLMs, darunter Spezialisierung und Self-Hosting, wachsen weiterhin explosionsartig
Workarounds für Remote Delivery werden reifer
- Remote-Softwareentwicklungsteams nutzen seit Jahren Technologie, um geografische Einschränkungen zu überwinden, doch die Auswirkungen der Pandemie haben Innovationen in diesem Bereich beschleunigt, wodurch vollständig remote oder hybrides Arbeiten zu einem dauerhaften Trend geworden ist
- In diesem Radar wird diskutiert, wie Ansätze und Tools für Remote-Softwareentwicklung gereift sind und wie Teams in einer stärker verteilten und dynamischen Umgebung denn je die Grenzen weiter verschieben, mit Fokus auf effektive Zusammenarbeit
- Einige Teams setzen weiterhin innovative Lösungen mit neuen Kollaborationstools um
- Andere passen bestehende Praktiken aus der Präsenzarbeit weiter an und verbessern sie, etwa Echtzeit-Pair-Programming oder Mob Programming sowie verteilte Workshops (z. B. Remote Event Storming). Dabei sind sowohl asynchrone als auch synchrone Formen möglich
- Remote-Arbeit bietet zwar verschiedene Vorteile (einschließlich eines vielfältigeren Talentpools), doch der Wert persönlicher Interaktion ist eindeutig
- Teams dürfen nicht zulassen, dass wichtige Feedback-Schleifen verloren gehen, und müssen die Vor- und Nachteile eines Wechsels zu einem Remote-Setup erkennen
[Techiniques]
Adopt
- Design systems
- Lightweight approach to RFCs
Trial
- Accessibility-aware component test design
- Attack path analysis
- Automatic merging of dependency update PRs
- Data product thinking for FAIR data
- OIDC for GitHub Actions
- Provision monitors and alerts with Terraform
- ReAct prompting
- Retrieval-Augmented Generation (RAG)
- Risk-based failure modeling
- Semi-structured natural language for LLMs
- Tracking health over debt
- Unit testing for alerting rules
- Zero trust security for CI/CD Assess
- Dependency health checks to counter package hallucinations
- Design system decision records
- GitOps
- LLM-powered autonomous agents
- Platform orchestration
- Self-hosted LLMs
Hold
- Ignoring OWASP Top 10 lists
- Web components for server-siderendered (SSR) web apps
[Platforms]
Adopt
- Colima
Trial
- CloudEvents
- DataOps.live
- Google Cloud Vertex AI
- Immuta
- Lokalise
- Orca
- Trino
- Wiz
Assess
- ActivityPub
- Azure Container Apps
- Azure OpenAI Service
- ChatGLM
- Chroma
- Kraftful
- pgvector
- Pinecone
- wazero
[Tools]
Adopt
Trial
- AWS Control Tower
- Bloc
- cdk-nag
- Checkov
- Chromatic
- Cilium
- Cloud Carbon Footprint
- Container Structure Tests
- Devbox
- DX DevEx 360
- GitHub Copilot
- Insomnia
- IntelliJ HTTP Client plugin
- KEDA
- Kubeconform
- mob
- MobSF
- Mocks Server
- Prisma runtime defense
- Terratest
- Thanos
- Yalc
Assess
- ChatGPT
- Codeium
- GitHub merge queue
- Google Bard
- Google Cloud Workstations
- Gradio
- KWOK
- Llama 2
- Maestro
- Open-source LLMs for coding
- OpenCost
- OpenRewrite
- OrbStack
- Pixie
- Tabnine
[Languages and Frameworks]
Adopt
Trial
- .NET Minimal API
- Ajv
- Armeria
- AWS SAM
- Dart
- fast-check
- Kotlin with Spring
- Mockery
- Netflix DGS
- OpenTelemetry
- Polars
- Pushpin
- Snowpark
Assess
- Baseline Profiles
- GGML
- GPTCache
- Grammatical Inflection API
- htmx
- Kotlin Kover
- LangChain
- LlamaIndex
- promptfoo
- Semantic Kernel
- Spring Modulith
1 Kommentare
Thoughtworks Technology Radar, Volume 28 veröffentlicht
Thoughtworks Technology Radar, Ausgabe 27 veröffentlicht
Thoughtworks Technology Radar, Ausgabe 26 (39-seitiges PDF)
ThoughtWorks Technology Radar, Ausgabe 23 veröffentlicht
ThoughtWorks Technology Radar, Ausgabe 22 [32-seitiges PDF] veröffentlicht
Technologienews, die ThoughtWorks alle 6 Monate veröffentlicht - Radar Vol.21