アーキテクチャ

ADRを書くときに抑えておくべきポイント

アーキテクチャ

ADR(Architecture Decision Record)は、ソフトウェアアーキテクチャに関する重要な意思決定を記録するためのドキュメントである。 ADRを書く内容が決まっていても実際書いてみると人によって内容がバラついたり、そもそも何を書けば良いのか分からなかったりして、形骸化してしまうことがある。 私の経験上大事だと思うことを4つにまとめた。 1:意思決定を一つに絞る(Atomicit...

Architecture Decision Record 設計 アーキテクチャ

要件と制約の違い

アーキテクチャ

ソフトウェア開発の現場で、「要件(Requirements)」と「制約(Constraints)」の違いに悩んだことはないだろうか。 私は設計を考える際に、この2つの概念を混同してしまうことがあった。 適切な設計を行うために、これらの違いを明確に理解することが大事であると感じたので、これらの違いについてシステム工学の国際標準である ISO/IEC/IEEE 29148 の定義をベースに整理してみた...

制約 要件 要求 設計 アーキテクチャ

システム設計面接の傾向と対策

アーキテクチャ

システム設計面接の傾向と対策を読んだ。 面接対策というテーマではあるが、システム設計のパターンを学ぶにもちょうど良い。 作問する側にとっても参考になると思う。 システム設計の勘所を抑えた質問のパターンについても参考になる部分があるので、システム設計面接ではない技術面接の面接官にとっても役立ちそう。 この手の本は少ないが、アーキテクチャの設計事例やパターンについて実例に近い形で学ぶことができる本はも...

システム設計 アーキテクチャ

アーキテクチャアドバイスプロセス(AAP)とは何か?

アーキテクチャ

LTで簡単にまとめた資料もあるので、要約を知りたい場合は以下を参照してほしい。 cf. AAPについて調べてみた アーキテクチャアドバイスプロセスとは何か 現代のソフトウェア開発では、チームの自律性と開発速度が重要視される一方で、アーキテクチャの一貫性も求められる。この相反する要求に応えるのが、アーキテクチャアドバイスプロセス(Architecture Advice Process, AAP)であ...

アーキテクチャアドバイスプロセス アーキテクチャレビューボード アーキテクチャ

技術的な意思決定において制約やトレードオフを明示することの重要性

アーキテクチャ

技術選定や設計判断を行う際には、制約やトレードオフを明示することが極めて重要である。 意思決定とは、常に限られた条件のもとで、複数の選択肢から最適なものを選ぶ行為である。したがって、その判断がどのような前提や制限の中で行われたのかを明文化しない限り、後から見て「なぜこの選択がされたのか」を理解することは困難となる。 意思決定の前提を明示できる 技術的な意思決定は、「その時点での状況」「与えられた制...

アーキテクチャ システム設計

システムアーキテクチャ構築の実践手法

アーキテクチャ

システムアーキテクチャ構築の実践手法を読んだ。 実務でアーキテクチャ設計に取り組む技術者のための実践ガイド。 前著システムアーキテクチャ構築の原理~ITアーキテクトが持つべき3つの思考が「なぜ」に焦点を当てていたのに対し、本書は「どのように」を解説している。 要求定義から論理設計、物理設計までを一貫して扱い、ビューによる文書化、再利用可能なアセットの活用、判断記録の残し方など、現場で役立つ具体的な...

アーキテクティング アーキテクチャ戦略 アーキテクチャ アーキテクト 設計 システム設計

アーキテクチャ・アーキテクト・アーキテクティングについて

アーキテクチャ

概要 システムアーキテクチャ構築の実践手法 (IT Architects’Archive ソフトウェア開発の実践)の第2章を参考に、アーキテクチャ、アーキテクト、アーキテクティングの定義とそれらの持つ要素を整理する。 アーキテクチャとは「構造」である IEEE 1471-2000において、アーキテクチャは以下のように定義されている。 コンポーネント、それら相互のまたは環境との関係、およびその設計...

システム設計 設計 アーキテクチャ アーキテクト アーキテクティング

システムアーキテクチャ構築の原理~ITアーキテクトが持つべき3つの思考

アーキテクチャ

システムアーキテクチャ構築の原理~ITアーキテクトが持つべき3つの思考を読んだ。 アーキテクチャ設計に関わるのであれば必読しておきたい本。 アーキテクチャを設計していく上では、単に技術的な解決策だけを考えれば良いわけではない。 この本は、アーキテクチャの設計に関わる一連のプロセスを体系立てで語っている。 アーキテクチャの定義、アーキテクチャの捉え方・構造的な説明の仕方、ステークホルダーとの向き合い...

システム設計 アーキテクチャ戦略 アーキテクチャ アーキテクト

設計の賞味期限を考える

アーキテクチャ

概要 システム設計に「間違い」はあっても「正解」は存在しない。あるのは、そのときの状況に応じた“最適な妥協”である。 設計とは、さまざまな制約の中で意思決定を行い、将来に向けて形を与える行為である。 「設計の賞味期限」という観点を通じて、どのように設計の寿命を見積もり、制約と向き合うべきかを考察する。 設計の賞味期限とはなにか? 「いつまで持てばよい設計なのか?」 この問いを意識することで、設計は...

設計 システム設計 アーキテクチャ戦略 アーキテクチャ

アーキテクチャドキュメントを書くときに気をつけること

アーキテクチャ

概要 システム設計においてアーキテクチャドキュメントは重要な役割を果たす。特に設計段階においては、関係者に対して設計の妥当性を説明し、合意を形成するための資料として機能する。このドキュメントは、単なる設計情報の羅列ではなく、読者の理解と納得を導くための戦略的な文書であるべきである。 目的を明確にする ドキュメントを作成するにあたって最初に意識すべきは、その目的である。この文書が誰に向けたものであり...

アーキテクチャ戦略 アーキテクチャ