なぜ・いつアーキテクチャ戦略を書くべきか
2026年2月5日戦略や戦術が明確に定義されていないケースは多い。その有用性や必要性が十分に認識されていないことが一因かもしれない。 「戦略を書く時間があるなら手を動かしたい」「書いても読まれない」という意見もあるかもしれない。しかし、戦略がないまま進めると、様々な問題が発生する。 この記事では、戦略がないとどうなるか、いつ戦略を書くべきかを整理する。 戦略がないとどうなるか 戦略がないまま進めると、以下のような問...
戦略や戦術が明確に定義されていないケースは多い。その有用性や必要性が十分に認識されていないことが一因かもしれない。 「戦略を書く時間があるなら手を動かしたい」「書いても読まれない」という意見もあるかもしれない。しかし、戦略がないまま進めると、様々な問題が発生する。 この記事では、戦略がないとどうなるか、いつ戦略を書くべきかを整理する。 戦略がないとどうなるか 戦略がないまま進めると、以下のような問...
アーキテクチャ戦略を書いても、機能しないケースがある。形だけの戦略になってしまったり、実行に移されなかったりする。 この記事では、良い戦略と悪い戦略の違いを整理する。 良い戦略の要点 良い戦略は、課題分析→方針→施策の3要素を持つ。これは良い戦略、悪い戦略で定義されている「カーネル(戦略の核)」を、アーキテクチャ戦略の文脈で解釈したものである。 課題分析:現状の課題を分析し、何が問題かを明確にす...
アーキテクチャに関するドキュメントを書く際、「これは戦略に書くべきか、戦術に書くべきか、それとも設計ドキュメントに書くべきか」と迷うことがある。 それはおそらく、戦略・戦術・設計の定義が曖昧であることや、書き分けに明確な基準がないことが原因だろう。 この記事では、戦略・戦術・設計の3層構造と、5W1Hを使った書き分けの指針を紹介する。 戦略・戦術・設計の3層構造 アーキテクチャに関するドキュメント...
ADR(Architecture Decision Record)は、ソフトウェアアーキテクチャに関する重要な意思決定を記録するためのドキュメントである。 ADRを書く内容が決まっていても実際書いてみると人によって内容がバラついたり、そもそも何を書けば良いのか分からなかったりして、形骸化してしまうことがある。 私の経験上大事だと思うことを4つにまとめた。 1:意思決定を一つに絞る(Atomicit...
ソフトウェア設計の結合バランス 持続可能な成長を支えるモジュール化の原則を読んだ。 この本は結合をテーマにした珍しい本で、アーキテクチャ設計の複雑性をどう管理するかを理論的に学べる本。 複雑性をどう管理するかはアーキテクチャの寿命を決めるようなものだと思っているが、そのための分析観点として結合について深く学ぶことができる。 一回読んだだけでは頭に入り切らなかったので、設計するときなど辞書的に参照で...
クリーンコードクックブック ―コードの設計と品質を改善するためのレシピ集を読んだ。 本全体を通して、全単射と偶発的複雑さの概念について教えてくれる本であり、コードの設計と品質を改善するテクニックを学ぶことができる。 よく見知った法則なども網羅的に書かれているので、手元に置いておきたい一冊。 ...