Semantic Software Design - Chapter 2. The Production of Concepts

2章の途中まで流し読み。抽象度の高い話が続いていて、咀嚼できない。実践的な話だけ拾い集めて読む。3章に入ると「脱構築」や「デリダ」とか出てくるぽくて、そこまで風呂敷広げるんかい〜 。そういうこともあって、Google 翻訳 / DeepL 翻訳で読んでるとちょいと辛い感じがある

Part of the work of the new architect-creative is to help create those requirements, both functional and nonfunctional. To see what needs to be done, what might work, what structure accounts for what we think we want the system to do, or what we think someone else we’ve never met might want or need the system to do three years from now when it’s harder to change and how to accommodate that.


This book has a single primary purpose among many purposes: to help you better design software. To do so, it advances a new model, a new approach, a new set of ideas and tools called semantic software design.


抽象度の高い話が続いていて迷子になりそうなところで、なんのための本なんだっけ? を改めて再確認する

The problem with software—a chief reason our projects fail—is a failure of our language. We are not architects. Not even close. We do not build buildings with an obvious and known prior purpose, which is an approximate copy of the same kind of building people have been making and using for thousands of years, using tangible commodity materials on a factory line. Quite the opposite.


あんちぽさんか、しばたさんが、ソフトウェアってコード書き出すまでは頭の中にあるもんだから みたいな話をずっと前にしてたの思い出す。

Accomplish, Avoid, Fix

To be useful in a typical software project, your concept will generally be about one of three things: accomplishing something, avoiding something, or fixing something:



顧客が達成したいこと、避けたいこと、修正したいことを考える。文章で、この質問に答えてください。 誰が、いつまでに、どのような理由で、何を望んでいるのか?

Divergent and convergent thinking

As you work through your concept, you should go through two stages, divergent thinking, followed by convergent thinking.



convergent thinking は以下の通り続く

1. What absolute constraints are known?
2. How might these candidates fit within a budget, if known?
3. How might these candidates fit within a timeline?
4. What known elements of the business or technology strategy do these candidates support?
5. What new opportunities does this create?
6. What positive and negative elements of our current landscape of People, Process, and Technology does this enhance or aggravate?
7. What people or roles would need to approve or work together with these candidates?


ここで 著者の Concept Canvas が図示で紹介される


1. Concept statement
2. Statement of need
3. Alignment with strategy
4. Idea components
5. Path forward