見出し画像

「ソフトウェアアーキテクチャメトリクス ―アーキテクチャ 品質を改善する10のアドバイス」 を読了した

今週はソフトウェア設計の本を読んでいた。
今年の初めに買ってた本でやっと読了できた。

ソフトウェアアーキテクチャメトリクス

この書籍は、10人のアーキテクトによる品質改善の事例を交えて紹介している書籍です。

前提となる知識がない状態では、難しい書籍かもしれない。まだまだ理解できてないところが多かった印象。
理解できるように章ごとに理解を深めていく必要がある。
自分は、適応度関数について調べることにした。

Forkwell Library でスライドが公開されていたので、この資料も合わせて読んでおくと理解が深まるかもしれない。

スライドに書いてあった難しいもしれない点で、ソフトウェアアーキテクチャメトリクスという用語の背景を知る必要があるようだ。

  • SQuBOK(ソフトウェア品質知識体系)

  • アジャイある品質パターン

計測について、品質マネジメントの一部と書いてあるとおり品質マネジメントを知る上で起点となるのがSQuBOKとのことだった。
この本も読んでおきたいと思った(事前知識を上げるため)

アジャイル品質パターンを知るには、進化的アーキテクチャを読んで理解しておくと良いかも。昔に読んだ気がするけど、忘れているので再読しようかと思う。

メトリクスとは?

定義された測定方法および測定尺度のこと。
製品やプロセスの品質を定量的に把握し、継続的に改善してようです。
測定自体が目的ではなく、ドメインの目的を達成するためにソフトウェア品質を改善していく。

アジャイル品質パターン(QA to AQ)

伝統的な品質保証(QA)からアジャイル品質(AQ)へ、アジャイル開発・体制やプロセスへ品質の保証の概念を取り入れていく手法。

調べると翔泳社からこんな書籍があったので、購入をしてみた。たまたまセールで880円だったので、スキマ時間に読みたいと思う。

適応度関数とは?

進化的アーキテクチャでも紹介されていた適応度関数について書籍の章それぞれで出てきてる。

適応度関数とは、Thoughtworks社社内の考え方として生まれたものです。
適応度関数の役割は、評価・選択・進化の3つの役割がある。

ある問題を解くためにコンピュータが使うアルゴリズムが、どれだけ「良い」答えかを評価する関数のことです。

ChatGPTにわかりやすい例を投げると、スポーツ大会の例で回答を得られた。

1. 目標:クラスで一番早いランナーを見つけることが目標
2. 適応度関数:タイムを使って計測して、走るのが速いのがタイムは短くなるので、短いタイムの人が「良い」選手という評価を得られる

  • 評価:誰が一番速いかをタイムで評価する

  • 選択:タイムが短い人(速い人)を選んで、次のレースに進む人を決める

  • 進化:何度も繰り返すことで、もっとも速い人がみつかるかもしれない

ソフトウェアの設計でも、何を評価軸にするのかが大切になってくる。
品質観点で品質の目的・目標のようなものを掲げて、それに向かって評価・選択・進化をしていくことでアジャイル的な改善をしていくのかなと思った。

参考記事

まとめ

アーキテクチャの品質改善を意識しているので、もっと深堀りしたいためSQuBOKや進化的アーキテクチャは読んでおく必要がありそうです。

アジャイル品質パターンも翔泳社からKindleで出版されているようなので、読んでおこうと思う。

継続的デリバリーといった部分や章ごとに前提知識が必要になるので、再読して章ごとに深堀りしていこうと思った。

この記事が参加している募集

#読書感想文

187,064件

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