アイキャッチ

「孤独な作業になりがち」広木大地がテックリード時代に知りたかった、アーキテクチャ設計の実践的手法とは?

スキル

本連載では、業界の第一線で活躍する著名エンジニアたちが、それぞれの視点で選んだ書籍について語ります。ただのレビューに留まらず、エンジニアリングの深層に迫る洞察や、実際の現場で役立つ知見をシェア!初心者からベテランまで、新たな発見や学びが得られる、エンジニア必読の「読書感想文」です。

著名エンジニアが、独自の視点で「おすすめ書籍」の紹介を行う本連載。今回の語り手は『エンジニアリング組織論への招待』(技術評論社)の著者であり、株式会社レクター代表取締役の広木大地さんだ。

広木さん曰く、アーキテクチャ設計は「孤独な作業」になりがちとのこと。自身もテックリード時代、多くのステークホルダーの意見を集約し、ビジネスサイドの要望もくみ取りながら意思決定に必要な情報交換を行うことに関して、やり方もセオリーも分からず試行錯誤していたという。

そんな広木さんが「もしあの時に出会っていれば、もっとうまく立ち回れた」と感じているのが、今回紹介するアーキテクチャ設計に関する名著『Design It! -プログラマーのためのアーキテクティング入門』(オライリー・ジャパン)だ。

広木大地さんの紹介本 『Design It! -プログラマーのためのアーキテクティング入門』

発売日:2019年11月25日
著者:Michael Keeling 訳者:島田浩二
定価:3,960円 (本体3,600円+税)
ISBN:978-4-87311-895-6
サイズ:A5
ページ数:400ページ
書籍概要:ソフトウエアアーキテクトのビギナーに向けて、アーキテクトの役割から、アーキテクトの仕事に必要な知識を網羅的に解説した書籍です。アーキテクチャ設計のコンテキストが現代のソフトウエア開発に合わせられています。本書を読むことで、適切なステークホルダーを特定してニーズを理解する方法、アーキテクチャ上重要な要求に基づいて技術やアーキテクチャを適切に選択する方法、アーキテクチャを軽量かつ効果的に評価する方法、チームのアーキテクト力を高める方法などを学べます。

本書をピックアップした背景

技術的な側面ばかりが注目されがちなアーキテクチャ設計ですが、本書では「アーキテクチャ」ではなく、それを造る行為としての「アーキテクティング」に注目しています。アーキテクチャ設計の社会活動としての側面に注目した、数少ない書籍といえます。

日々の業務や組織支援の中で、アーキテクチャ設計を組織として取り組むことの難しさに直面していた私にとっては、当時非常に魅力的なテーマの書籍でした。

本書の特徴と印象に残った章

本書は優れたソフトウエアアーキテクチャの設計方法を、具体的な原則と実践を通して解説しています。象牙の塔の理論ではなく、現実世界の問題解決に役立つ実践的な内容が紹介されています。

というのも本書で目指されているのは「必要十分な事前設計(Enough Design Up Front)」です。簡単に言うと、詳細な設計は事前にし過ぎてしまうのもよくないし、逆に軽視しすぎるのもよくないという問題提起。つまり、事前設計は“必要な分”だけで良いという考え方は、非常に現代的で現実的だといえるでしょう。

また著者は、継続的にサービス開発を進めるチームの中で、どのように漸進的にアーキテクチャ設計を進めていくべきかを自身の経験に基づいて語っています。特に、設計の為に必要な共同作業を「アクティビティ」という単位で具体的に示している点が、本書の大きな特徴です。

数あるアクティビティの中でも、特に印象に残ったものを紹介します。

ステークホルダーに共感する(第4章)

ソフトウエアアーキテクチャは、ステークホルダーのニーズを満たすものでなければなりません。本書では、ステークホルダーに共感し、彼らの真のニーズを理解することの重要性を繰り返し説いています。具体的なアクティビティとして、「共感マップ(アクティビティ6)の作成」や「ステークホルダーインタビュー(アクティビティ24)の実施」などが挙げられます。

アーキテクチャ上重要な要求を掘り下げる(第5章)

品質特性のような機能要求以外の要求は、見過ごされがちです。本書では、アーキテクチャ上重要な要求(ASR)として、「品質特性」「制約」「技術的負債」などを定義し、それらを明確化することの重要性を述べています。具体的なアクティビティとして、「ミニ品質特性ワークショップ(アクティビティ7)」や「技術的負債アイスバーグ(アクティビティ11)の作成」などが紹介されています。

チームのアーキテクト力を強める(第13章)

アーキテクチャ設計は孤独な作業になりがちですが、チーム全体で取り組むべき課題です。本書では、チームのアーキテクチャスキルを高め、全員が設計に参加できるような環境作りが重要だと述べています。具体的なアクティビティとして、「ペア設計(13.3.1項)」や「足場を作る(13.3.2項)」などが挙げられます。

本書で得られた教訓・学び

本書で提案されている、「ステークホルダーインタビュー」や「ワークショップ」といったアクティビティの数々は、まさにテックリード時代の私が当時欲しかったものです。もしあの時に本書があれば、もっとうまく立ち回れたのではないかと感じています。

また本書を通じて、アーキテクチャ設計は「アートに近い領域」であることに気付かされました。開発チームと共に、さまざまな制約やトレードオフを考慮しながら最適な解決策を探求していくプロセスは、まさに創造的な活動といえます。

特に、本書で繰り返し述べられている「デザイン思考」のアプローチは、アーキテクチャ設計においても非常に有効であると感じています。

会員限定

typeに登録すると続きをお読みいただけます。
       会員登録後、画面が自動で更新されます。    

プロフィール画像

株式会社レクター代表取締役
一般社団法人日本CTO協会理事
広木大地さん(@hiroki_daichi

1983年生まれ。筑波大学大学院を卒業後、2008年に新卒第1期として株式会社ミクシィに入社。同社のアーキテクトとして、技術戦略から組織構築などに携わる。同社メディア開発部長、開発部部長、サービス本部長執行役員を務めた後、2015年退社。現在は、株式会社レクターを創業し、技術と経営をつなぐ技術組織のアドバイザリーとして、多数の会社の経営支援を行っている。著書『エンジニアリング組織論への招待~不確実性に向き合う思考と組織のリファクタング』が第6回ブクログ大賞・ビジネス書部門大賞、翔泳社ITエンジニアに読んでほしい技術書大賞2019・技術書大賞受賞。一般社団法人日本CTO協会理事。朝日新聞社社外CTO。

文/広木大地 編集/今中康達(編集部)

転職力診断

Xをフォローしよう

この記事をシェア

RELATED関連記事

JOB BOARD編集部オススメ求人特集

RANKING人気記事ランキング





サイトマップ