見出し画像

Technology Radarの2024年4月版を読んでみた

Thoughtworks社が独自に調査・公開しているTechnology Radarが4月に更新されたので、その中で気になったのをまとめておく。

Techniques > Adopt

Retrieval-Augmented Generation (RAG)

これは、大規模言語モデル (LLM) によって生成される応答の品質を向上させるために、チームが推奨するパターンです。

https://www.thoughtworks.com/radar/techniques/retrieval-augmented-generation-rag

この分野はさっぱりだが、LLMが生成する結果の精度が向上するらしい。

Techniques > Trial

Continuous compliance

継続的コンプライアンスとは、ソフトウェア開発プロセスや技術が業界の規制やセキュリティ標準に継続的に準拠していることを、自動化を多用して確認することである。

https://www.thoughtworks.com/radar/techniques/continuous-compliance

コンプライアンス要件の検証もパイプラインに統合ことが効果的らしい。

Security champions

セキュリティチャンピオンは、技術的および非技術的な提供に関する決定がセキュリティに与える影響について批判的に考えるチームメンバーです。彼らはこれらの質問や懸念をチームのリーダーに提起し、基本的なセキュリティのガイドラインと要件をしっかりと理解しています。

https://www.thoughtworks.com/radar/techniques/security-champions

この”チャンピオン”という役割はいままで聞いたことがなかったが、最近”プロダクト品質チャンピオン”というのも聞いたので注目されているのだろうか?

Text to SQL

Text to SQLは、自然言語クエリをデータベースで実行可能なSQLクエリに変換する技術です。大規模言語モデル(LLM)は自然言語を理解し変換することができますが、独自のスキーマに対して正確なSQLを作成することは困難です。Vannaは、SQL生成のためのオープンソースのPython検索支援生成(RAG)フレームワークです。

https://www.thoughtworks.com/radar/techniques/text-to-sql

例えばユーザーからの質問テキストから適切なSQLを生成するようなことができる、ということ?

Tracking health over debt

急速に変化するデジタルの状況において、システムの負債を超えた健全性を追跡することに焦点を当てることは、システムを維持・強化するための構造化されたエビデンスに基づく戦略を提供します。

https://www.thoughtworks.com/radar/techniques/tracking-health-over-debt

たんに負債に注目するよりも、健全性がどの程度損なわれているかに注目したほうがよい、ということだろうか?これについて詳しく知りたい。

Techniques > Hold

Broad integration tests

このようなテストは、必要なインフラ、データ、サービスをすべて備えたフル機能のテスト環境を必要とするため、明らかにコストがかかる。これらすべての依存関係の適切なバージョンを管理するには、多大な調整オーバーヘッドが必要となり、リリースサイクルが遅くなりがちです。最後に、テスト自体が脆弱で役に立たないことが多い。

https://www.thoughtworks.com/radar/techniques/broad-integration-tests

なるべく速くて安定したユニットテストの比率を高めていくのが良い、ということか。

Web components for SSR web apps

たとえフレームワークでサポートされていたとしても、SSRウェブアプリにウェブコンポーネントを使うことは避けるべきです。

https://www.thoughtworks.com/radar/techniques/web-components-for-ssr-web-apps

このウェブコンポーネントについてよく分かっていないので調べてみよう。

Platforms > Adopt

CloudEvents

CloudEventsは、サービス、プラットフォーム、システム間の相互運用性を提供するために、イベントデータを共通のフォーマットで記述するための仕様である。

https://www.thoughtworks.com/radar/platforms/cloudevents

特定のプラットフォームに依存せずにイベントの通知などを行えるらしい。

Platforms > Trial

Pulumi

Infrastructure-as-Code分野のツールは進化し続けており、Pulumiもその例外ではないことを嬉しく思う。

https://www.thoughtworks.com/radar/platforms/pulumi

Terraformの代替として、使い慣れたコードで書けるのが良さそう。

Rancher Desktop

Docker Desktopのライセンス変更により、開発者のローカル・ラップトップでコンテナ群を実行するための代替手段を求めて私たちは奔走しています。最近、我々はRancher Desktopで良い成功を収めている。

https://www.thoughtworks.com/radar/platforms/rancher-desktop

個人でDocker Desktopを使っていて問題は感じていないけれど、もし代替手段が必要になったときのために覚えておこう。

Platforms > Assess

Bun

Bunは新しいJavaScriptランタイムで、Node.jsやDenoに似ている。しかしNode.jsやDenoとは異なり、BunはChromeのV8エンジンの代わりにWebKitのJavaScriptCoreを使って構築されている。

https://www.thoughtworks.com/radar/platforms/bun

Node.jsの代替としてDenoというのがあるのは聞いたことはあったが、Bunというのも出てきたらしい。

Tools > Trial

Renovate

ソフトウェアのビルドプロセスの一環として、依存関係を自動的に監視し、更新することは、業界全体の標準的な慣行となっています。これは、オープンソースパッケージのセキュリティアップデートがリリースされたときに、最新の状態を維持するための当て推量を排除するものです。何年もの間、Dependabotはこのプラクティスの標準ツールでしたが、Renovateは私たちの多くのチームにとって好ましいツールになりました。

https://www.thoughtworks.com/radar/tools/renovate

Dependabotの代替として検討できるツールらしい。

Languages & Frameworks > Trial

Astro

Astroは、サーバー上でHTMLをレンダリングし、ワイヤ経由で送信されるJavaScriptの量を最小限に抑えるマルチページ・アプリケーション・フレームワークである。

https://www.thoughtworks.com/radar/languages-and-frameworks/astro

SSG+ビルド後にJSを含まない仕組みで高速化しているらしい。


この記事が気に入ったらサポートをしてみませんか?