cc-sddがかわいく見えてくる!?cc-sddのの中身のぞいてみた
「この番組は「エンジニアの成長は楽しい学びから」をモットーに、昨日より少し成長できる学びを届けるエンタメ系テックラジオです。さあ、はい。というわけで、積み上げていくんですけど、はい。えー、今日はですね、あの、仕様駆動開発、ことをSDDってやつあるじゃないですか」
「SDDね」
「はい」
「はいはいはい」
「で、えーと、興味でですね、SDDのライブラリの中ってどうなってんだろうなと思って、ちょっと見てきたんですよ」
「ちょい、ちょっと変態さんじゃん」
「いやー、まあちょっとそれは話を聞いてから、変態かどうか判定してほしいんですけど」
「あー、分かりました」

「はい。で、僕この中身を見た結果ですね、まあちょっとCCSDDというライブラリを見たんですけど、このCCSDDがね、かわいくてかわいくてしょうがなくなっちゃって」
「ほう」
「これ何言ってるのって思うじゃないですか」
「へえ」
「何言ってるのって思うかもしんないんですけど、このエピソードを聞いたら間違いなくCCSDDかわいくなってます」
「いやいやいやいやいや。そんなことないでしょ。さすがにそんなことないでしょ」
「まあかわいくなるかどうかに関してはね、ちょっと個人の感じ方なんでね」
「うんうんうん」

「まあそのワンちゃんに関しても、ま、たいしてもなんかかわいいって思う人と、そうじゃない人もいるかもしんないしね」
「うん」
「ま、その感性は否定しないんですけど」
「うん。じゃ、ちなみにかいちの感性的に、今一番かわいいものってなんなの?」
「えー、子ども」
「子どもね」
「我が息子」
「あー」

「さすがに」
「そうなるか」
「はい。まあ2番目はワンちゃんですね、はい」
「2番目はワンちゃんなんだ」
「ワンちゃんかわいいですね」
「そうなんだ。あ、じゃあそれっぽく見えるってことですね?」
「うーん、いや」
「あ、違う」

「ちょっと毛色違いますね、それで言うと」
「あ、毛色違う?」
「うん」
「なんか愚かゆえのかわいさみたいな、そういうこと?」
「いや、頑張ってるっす、だいぶ」
「頑張り屋さんのほう?」
「めっちゃ必死」
「はいはいはいはい」

「うん」
「頑張り屋さんですね、必死ですね」
「ロックリーみたいなことか」
「あー、うんうんうんうん。まあ近い、そうですね」
「そうなんだ、はい」
「うん」
「今まで出てきたその我が息子とワンちゃんとロックリーの中では一番ロックリーが近いです」
「一番ロックリーが近い」

「はい」
「なるほどね」
「はい」
「ちょっとかわいいかもしんないわ、じゃあ」
「はい。というわけでちょっとそのライブラリの話とか」
「はい」
「であとはあのよく最近、最近じゃないな、なんかよく言われるその仕様駆動開発とかって言うけど、聞くけどプランモードでいいんじゃないかという」
「あー」

「私またにあると思ってて」
「はいはいはい」
「はい。だからその辺もね、そのCCSDDの中身見ることで、あーこういうところが違うんだな、こういうところが向いてるんだなみたいなところが」
「うんうん」
「まあちょっと洞察得れるんじゃないっていうので」
「ほう」
「はい。まあこのCCSDDの中身を眺めつつ」
「はい」

「えー、まあプランモードとの比較とか」
「うん」
「まあ中身どうなってるのとか。なんかちょっとその辺お話していけると良いかなという回になります」
「はい」
「はい」
「分かりました」
「で、えー、まあSDD仕様駆動開発扱うのも多分これで3回目か4回目か5回目ぐらいなんですけど」
「うん、体感5回目だな」

「なんですけど」
「うん」
「まあおさらいから入っていきます」
「はい」
「はい。えー、仕様駆動開発、スペックドリブンデベロップメント」
「うん」
「なんですけど、まあこれはちょっとインターネットちゃんと調べきれてないのかもしれないですが」
「はい」

「あの唯一無二の定義はちょっと見つけられなくて」
「うんうんうん」
「まあ概ね、なんかAIコーディングエージェントと一緒に要件と仕様を作ってコーディングをしていくような開発手法」
「うん」
「になります」
「なるほどね。最近1周回って逆に聞かなくなってきた気がすんだけど、そんなことない?」
「えー、SDD?」
「うん」

「まあどうなんでしょうね。聞きはするけど、ま、その、なんだ、出たてのときほどはね、そりゃ盛り上がってないというか」
「うん」
「ハイプサイクルちょっと上のとこ超えたのかな、分かんないですね」
「うん」
「とはいえまだなんか現場でバリバリやってますっていうのは」
「はいはい」
「いるけどあんまり聞かないっすね」
「うーん、なんかもうさ、とりあえずもうみんなエージェンティックコーディングって言い始めて、その中でまあ仕様をしっかりしてる人もいればバイブコーディングみたいな人もいるみたいな」

「うん」
「なんかそんな感じに見えてきた」
「あ、そうですね」
「うん」
「おっしゃるとおりだと思います。はい。で、えーっとこの仕様駆動開発っていうのって、まああのあくまで開発のまあフローっていうんですかね、こういう流れで開発をしていきますっていうもので、じゃあその開発のフローを実現するためのサポートツールみたいなライブラリがまあいくつか世の中にあって」
「はいはい」
「えー、多分一番有名なのがKiro、Amazonが出してる有料のIDEについてるまあ機能」
「IDEなんだ、あれ」

「Kiroはね、IDEですね」
「えー」
「はい。特殊、あいつだけ」
「うんうんうん」
「で、ほかのは、えっと、オープンソースで出てるスペックキットとっていうよりGitHubのやつとか、まあCCSDDとか」
「うんうん」
「とかとか。オープンスペックとか、とかとかっていうのがありますと」
「はい」

「で、僕はそのいろいろある中でも、まあ日本人が作ってて日本語対応してて、Kiroのコマンド互換っていうのでCCSDDというものを使っていて」
「うん」
「彼これ半年ぐらい使ってるのかな、多分」
「うん」
「はい」
「それ業務でも使ってるんですか」
「えっと業務ではですね、1個だけ作りましたね、アプリ」
「うーん」

「はい。お試しでというか、なんか、はい、お試しで。で、まあ触り心地としてもね、そんなに。えーとプライベートで触ってるときと同じような感じでやれたんですけど、ただあのGitHubCopilotエージェントでやったんで」
「うん」
「あの月のリクエスト数、結構使っちゃいましたね、なんか仕様書作ってる段階で」
「あー、そうなんだ」
「うん。まあなんかちょっとCopilotエージェント課金体系が特殊で、リクエストで決まってるんで、その細かくAIエージェントとその仕様の細かいところのやり取りしてたら使い切っちゃいました。使い切っちゃった?うん、結構使っちゃいました」
「キャッチボール増えると損するんだ、あれ」
「そうですね、Copilotエージェントはそうなんですよ。まあっていう話は置いといて」
「うん」

「で、えーとちょっとCCSDDに戻るんですけど」
「うん」
「えーとCCSDDの開発フローとしては、えー最初に初期化をして要件定義をして、でそれでその要件をもとに技術設計をして、でその技術と仕様と要件をもとに実装タスクを分解して実装していくっていう流れでまあざっくり開発が進んでいきます」
「うんうん」
「で、まあここまでがCCSDDのまあざっくりとした話ですと」
「はい」
「まあなのでそのCCSDDの使い勝手としては、あのーまあ例えばClaudeコード開いて、でCCSDDをインストールしてれば、えーとClaudeコードのコマンド、まあスラッシュ、キロ、スペック、リクアイアメントみたいな感じで、まあコマンドを打つとその要件定義ができるみたいな」
「うんうん」

「まあそんなライブラリになってるんですけど」
「うん」
「このライブラリって中身どうなってると思いますか」
「やっぱプログラミングが書かれてるんじゃないですか」
「プログラミングが書かれている、プログラムが、プログラムがね、書かれているんじゃないですか」
「プログラムが書かれてるんじゃないですかね、やっぱ」
「はい」
「で、あとReadmeとかが入ってるんじゃないですかね」

「はいはいはい」
「え、なん、ちなみに何、中身って動作のこと?」
「えーっとなんて言うんだろうな。うーんと、SDDライブラリ作ってくださいって言われたら何が必要なんだろうっていう話ですかね」
「やばい。分かんな、え、でもまずそのコマンドを受け取って解釈するための部分が必要ですよね?」
「そうですね、はい」
「で、その解釈に応じて、えー必要なものがあると思うんですけど」
「はい」
「その時点からもうすでにLLMと通信しなきゃいけないのか。うん、しなきゃいけないな、多分」

「うん」
「で、えー多分チェックリストみたいなやつを裏で持っていて」
「うん」
「えーこういうのを用意すると大体なんかいい感じに仕様書できるよ、チェックリストみたいなやつがあって、それをもとにえー仕様を立てていくはず。でもし足りない情報があったらユーザーに聞き返すみたいなシステムプロンプトが入っている」
「うん」
「のかな」
「今の話だと、なんかプ、プロンプトだけで構成されてるみたいなイメージですかね」
「あ、いや、まあプロンプトだけではないと思ってます」

「はいはいはい」
「いや、プロンプトだけでも気合いでいけるっちゃいけるのか。でもなんかイメージだけど、あのスキルズみたいなのが入ってるんじゃないかなと思ってるんですけど」
「うんうんうんうん」
「で、えーそのスキルズを適宜LLMが呼び出して、えー必要なファイルを作ってって、中身はLLMで生成したものを突っ込んでいるんじゃないかな」
「うんうんうんうん。はい。まあ小野の予測はあると思うんですけど」
「おっす。おっす」
「はい」
「はい」

「はい。で、えーまあ実際見てみると」
「うん」
「えーとまあCCSDDのリポジトリとか、まあざっくり見ると、えーとTypeScriptと、あとはまあプロンプトが並んでますと」
「うんうんうん」
「TypeScriptの中、まあスクリプト集みたいなもの。と、あとは各コーディングエージェント向けのプロンプト集みたいな」
「うんうんうんうん」
「まあエージェントファイルっていうんだかな」
「エージェントファイル」

「スキルズとか」
「はいはい」
「えーエージェントゥとか」
「うん」
「と呼ばれるプロンプトのファイルが、テンプレートがファイルで、ん?テンプレートファイルがまあいっぱい並んでるんですけど」
「うんうん」
「で、CCSDDのそのリポジトリの中身としては。NPXCCSDDでインストールするんですよ」
「NPXCCSDDでインストールする?」

「はい。なので、えーと別になんかスクリプト屋とかなんか置いてるわけではなくて」
「はい」
「実態はその例えばClaudeコードだったら、ドットClaudeディレクトリ配下に」
「うん」
「Kiroコマンド用のプロンプトを」
「うん」
「置いている」
「うん」

「だけ」
「うん、ということだ」
「そのCCSDDでコマンド使うって言ったじゃないですか」
「はい」
「で、そのコマンドを呼び出したときにどんなことをするべきかというプロンプトを置いているだけ」
「なんやって。そんなシンプルな作りなの?」
「はい」
「へー」

「なので、これあのCCSDDっていうなんかすご開発フローの万人みたいなやつがまあいると思ってたんですけど」
「うん」
「まあ結局あのなんか、これはちょっと僕の脳内変換入ってるんですけど」
「うん」
「1等身ぐらいのサイズ感の」
「うん」
「CCSDDくんが」
「うん」

「一生懸命Claudeコードに」
「うん」
「これってこうやるんだからね、絶対こうだからねって言い続けてるっていうのがCCSDDの実態になります」
「なるほどね」
「はい」
「あー、じゃあ確かに健気な感じするな」
「そう」
「はいはいはい」

「だいぶ健気」
「うん」
「なんすよ。で、まあちょっと具体的になんか今言ったその要件定義とか、であと設計、実装みたいなのがありましたけど」
「うん」
「まあその中でどんな指示をしているかっていうところを次ちょっと見ていこうかなと思います」
「はい」
「で、まあここもそんなに時間かけずにさくっといくんですけど」
「うん」

「えー、まず今日紹介するのは要件定義と設計と、あとは実装の部分、抜粋して簡単に紹介します」
「はい」
「で、プロンプト自体もそんなに長くなくて、やっぱりそのあんまり長いの投げても守ってくれないとかってやっぱあると思うので」
「うん」
「まあ気になったらぜひリポジトリのほうをのぞいてみていただければなと思うんですけど」
「はい」
「まあまず設計ですね」
「うん」

「えーと、で、あとすいません、今日紹介するのはClaudeコード用のやつなんで、えー、ほかのやつだとちょっと違うかもしんないですという前置きしながら」
「おー、ツールによってね、もしかしたらって感じか」
「はい。違うかもっす」
「うん」
「で、え、まず、えーっと要件定義なんですけど」
「はい」
「えーっとざっくり3つあって」
「うん」

「イヤーズ記法で書きましょうっていう、まあとりあえず書式を指定してます、書き方、要件の」
「イヤーズ記法?」
「はい。えーっとこれはですね、具体例を言ったほうがいいんですけど」
「逆ポーランド記法しか知らないからな」
「〇〇のとき、これこれは何々しなければいけないみたいな」
「条件分岐ってこと?」
「なんて言うんでしょうね、なんかその、書き方が決まってるんですよね、なんか」
「え、な、何で使われるやつですか、普段?」

「要件定義ですね、えっとイヤーズ記法ってeasyapproachtorequirementssyntaxっていう」
「い、easyapproachtorequireandsyntax?」
「リクアイアメンツシンタックス、まあなんでだから要件を」
「はいはい」
「まあ一貫して書くための文法みたいな」
「へー、そんなのあるんだ」
「はい。まあなのでなんか、なんでしょうね、同じことを表現するときにほんとに近い書き方になるような書き方っていうんですか」
「同じことを表現するときに近いものになる書き方」

「近い、なんて言うんでしょう、日本語って語順めっちゃ重要じゃないですか」
「はいはいはい」
「はい。そういうことが発生しないです」
「あー、そういうことね。え、じゃあ結構何、日本向けのやつってこと、それ?」
「いや、そんなことはないと思います」
「そんなことはないんだ」
「海外と」
「うんうん」

「が、まあ世界標準的なものだと思うんですけど」
「うん」
「はい。まあとにかくこれはなんか書き方が決まってるのがすごい大事ですと」
「うんうんうん」
「で、これなんで大事かっていうと、書き方が固まってて、で、何々がこうなったときにこれが起きるみたいな感じの書き方をされるので」
「うんうん」
「実装したあとにこの要件満たしてるかっていうのを検証しやすいですと」
「なるほど」

「書き方がそろってないとmeasyじゃなくなるし」
「うんうん」
「えー検証もしづらくなるから、イヤーズ記法で書くことによってテスト可能な要件を書くという仕組みになってます」
「なるほどね。まああとこれあれだね、多分LLMにとってもコンテキストを渡しやすいだろうね」
「そうなんですよね」
「うん」
「はい。なのでなんかいいんだろうなと思って僕は好んでます」
「うんうん」

「であとは、えー次、whatを書きましょうと。howではないですと」
「うん」
「これはあくまで要件だからどうやってやるかじゃなくて、何をしたいかを書き、書きましょう」
「はいはい」
「で、まあさい、最後まあざっくり、まあユーザーとフィードバックをもらいながら修正しましょうねっていう。勝手にいろいろ書き進めるんじゃなくて、分からんことは聞けと」
「おー、なるほどね」
「はい。まあみたいなことが、えーと要件部分で書かれてます」
「うんうん」

「まあなので、なんて言うんでしょうね、この今のところその最初にそのプランモードと比較してみたいな話したんですけど」
「うん」
「まあこの要件部分で見えるところで言うと、このイヤーズ記法で書かれてて、あとからその要件を検証しながら、なおかつその検証した履歴を残しながら」
「うんうん」
「まあ進められるっていうところが、まあプランモードにはない特徴なのかなというふうに思ってます」
「うん。確かに」
「はい。で次」
「はい」

「えーっと設計のほうですね」
「うん」
「えー設計のほうについては当たり前ですけどコンテキスト、えっと要件とか既存コードを把握しながら設計しましょうねっていうのが1つ」
「うん」
「で2つ目は、えー設計に対する判断をするときに複数の選択肢を調査して並べたうえで、これにこうこうこういう理由でしましたっていう」
「うんうん」
「なんかADR的なものを残しましょう」
「うわー超大事それ」

「そうですね。それあるとさ、こっち側が判断しやすいよね」
「安心しますよね」
「うん」
「なんか疑心暗鬼にならないで済むっていうんですか、なんか」
「うんうんうん」
「これほんとに合ってんのか、これほんとに合ってるんじゃないのかみたいなところじゃなくて、なんか気にしなきゃいけないポイントを」
「うん」
「まあ押さえてくれてるんで、まあ逆に見逃しが増えるのかもしんないですけど」

「なんかさ、AIの動きをさ、検証するときに必要なことじゃない、なんかそれって」
「うん」
「思考過程をちゃんと書かせるみたいなところ」
「そうですね」
「うん。ドキュメントに、まあその通しで、SDD通しで言えるのは、まあプランモードと違って、なんかドキュメントを残しながらやってくれるんで」
「うんうん」
「まあ検証しやすかったり、あとはまあコンテキストっていうか情報量が多かったとしても、まあ扱いやすい状態にはなっている」
「うん」

「ですね。プランモードとかだとチャットの量に応じては、なんかコンテキスト圧縮したりもしたりするんで」
「うんうんうん」
「まあそこも注意しながらやる必要がありますよね。あとはまあ型安全絶対使いましょう。型安全強制して絵に使うなとか。型ヒント使いましょうとか」
「うんうん」
「なんかそういうのが書かれてましたね」
「へー、そんなあれなんだ。なんかプロジェクトによりそうな部分までやってくるんだね」
「結構なんて言うんでしょうね、そのそれぞれの開発チームが作り込むであろうclaud.mdとか、あとはskillsとか、なんかそのへんを」
「うん」

「具体的なことをもうすでに書かれてる」
「うん」
「イメージですね」
「うんうんうん」
「まあだから逆に僕は楽なんですよね。なんかこれでやっときゃいいんだろうみたいな」
「あー確かに」
「気持ちになるんで」
「うん」

「まあただただのプロンプト集なんで、まあもしチーム内でアレンジしたいものがあれば、まあそれも簡単に追記できますし」
「うん」
「あとはccsdt使ってるからといって既存のclaud.md読まないわけではないので」
「うん」
「まあそっちに書いてもいい、いいんだろうなとは思ってます」
「うんうんうん」
「はい。で最後、えー実装部分ですね。これあの実装部分がですね、なんか非常に僕かわいいなと思ってて」
「あれここ?そこなんだ」

「はい、実装ちょっとかわいいんですよ」
「はい」
「まあ最初はあの当たり前なんですけど、その要件設計タスクとか、なんか今まで作ったもの全部読み込みながら実装しましょうねっていうことが書かれてるんですけど」
「うん」
「ちょっとかわいいポイントはですね」
「はい」
「えーとまずtddを使ってやってくださいと」
「おー」

「で、tddって言ってもケントベックのtddだからね」
「なるほどね」
「はい」
「はいはい」
「あ、で、ケントベックのtddっていうのは、レッド、グリーン、ディファクター、バリファイってなんかこういう流れでやるもんだからね」
「あ、ちゃんとそこまで言ってんだ」
「はい」
「おー」

「これすごいもうしつこく繰り返し書かれてるんですよね」
「へー。え、繰り返し書かれてんの?」
「繰り返しというか、なんて言うんでしょうね、その各セクションっていうんですか、その概要、え、絶対に守らなきゃいけないこと、開発の流れみたいなところじゃなくて、なんかもういちいち書かれてるんですよね」
「へー」
「これがね、もう多分ね、t、ccsdtくんはね、もう非常に手とか足とかなんかボディーランゲージを駆使しながら頑張ってClaudeコードに伝えてる様が垣間見えてですね」
「うん」
「非常に愛らしいなという気持ちになりました」
「いやー、なるほどね。いやー、でもどっちなんだろうな、それ。いや、僕あのー、ConsoleRuleガチ勢だったときがあるんですけど」

「はい」
「そのときはあまりにも守ってくれなさすぎていっぱい書いた記憶あるんで。その裏には怒りが隠れてそうだなっていうのもちょっと思う」
「いや、そう思いますよ。あのー、LLMっていうかAI、てかコーディングエージェントか」
「うん」
「tddって言ってもtddやってくんないですからね」
「うんうんうんうんうん」
「うん。そう」
「で、ちなみに今日僕、ConsoleRulesの見直しして、すっごい圧縮したんですけど」

「はいはい」
「なんか最近のモデルに合わせて書いてっつって、まあConsoleでか、書き直させたんすね」
「はい」
「で、そしたらね、なんかこう繰り返し、何々しないでねみたいなやつはもう最近だと意味ありませんって言われて消された」
「へー。それは、まあでも正しい判断なんだろうな、きっと。誰か、こ、Codexとかがやったんすか」
「それはね、Codexでや、あー、違うな、Opus4.6でやったかな」
「うーん。まあでもそうなんだろ、そうなんだろうな、Opusが言うなら」
「うーん、まあでもね、ちょっとまだ、あのー、その後動かしてないんで分かんないですけど、こっからバグみたいな動きし始めたらちょっとそれだめじゃんってなるけど」

「そっすね」
「うん。はい。まあみたいな感じで、まあ中身の実態はまあプロンプトが入ってるもので。で、えーとその中で、えーっとデフォルトでっていうのかな、ccsddの中のプロンプトで、まあhowのほう、howのほう、howのほうというか実装するときにこういう流れに乗っとると、仕様書とか、えーっとタスク数とか、なんかその実装したいものから外れずに検証しながら進めてくれるよねみたいなプロンプトが入ってると」
「うん」
「まあいうのがccsddの実態になりますと」
「うんうん」
「で、今までちょっとこのccsddの中身を少しのぞいてきたわけなんですけど。で、これを踏まえてなんかプランモードとの比較がちょっとできるのかなと思っていて」
「うん」
「えー、で、プラン、プランモードちょっと僕Claudeコードのものしか触ったことない、ほぼ」

「はいはい」
「そのぐらいなんで」
「うん」
「なんかのりさんにもConsoleだとこんな動きするよみたいなところちょっと教えてほしいんですけど」
「はい」
「まあClaudeコードだと、まあでもそんなにイレギュラーないんですけど、まあ大体依頼を投げます」
「うん」
「実装計画作ってくれます」

「うん」
「で、その実装計画に対して、まあフィードバックして」
「うん」
「で、なんか修正してくれて。で、多分その実装計画は、えーとなんかマークダウンかなんかに、多分一時的に書き起こしてて、で、オッケーって言うとそっから最初から最後まで走ってくれてものができる」
「うん」
「で、まあドキュメントは別に残してくれるわけではないけど」
「うん」
「まあccsddよりはフローがシンプル。で、えーやってくれるみたいな」

「うん」
「なんかそんなイメージの機能なんですけど」
「はい」
「なんかイメージ合いますか」
「イメージはそんな感じかな。でもなんか、えーとやりたいこと投げて、そのあと1回コードをなんかすげースキャンしてる動きしてますね」
「そうですよね」
「うん」
「うん。で、それを元に、えーと設計し始めるんだけど不足ち、不足点あったら、えーとその場でこっちにね、なんか三択みたいな質問投げてきますね」

「あーはいはいはいはいはい。あー分かる分かる」
「で、いつもモヤモヤするのは、いやAでもBでもCでもないんだよなーみたいなのがたまにあって」
「なるほど」
「どうしたらいいのってなるときあるね」
「最近Claudeコードだとなんか自由記述できるようになったんすよね、それ」
「マジで?」
「うん。なんかそ、その他みたいな選択肢出てきて」
「うん。絶対そっちのほうがいいよな。なんかこっち今諦めて、とりあえずなんか適当に選んであとで修正指示出すみたいな」

「まあそうなりますよね」
「うん」
「まえ、前そうでしたわ、Claudeでも」
「あーマジ?」
「うん」
「そうね、でー」
「もしくは1回止めて」
「うん」

「Control+Cかなんかで止めて、そこでチャット入れて続きやってっていうみたいな」
「あーそっか、そういう、そういう妨害もで、妨害というか割り込みもいけんのか」
「そうですね」
「うんうん」
「うん。ちょっと正しい動きしないとかあるのかもしんないですけど、そうやってましたわ。はい。っていうので」
「はい」
「まあプランモード、まあこれもすごい便利で」
「うん」

「えー今言ったとおり、うんとSDDと比較すると、まああの流れは一緒なんすよ、結局」
「うん」
「計画立てて、AIと一緒に計画立てて実装してもらって、でその検証はまあ後々自分プラスAIでやってくみたいな。流れは一緒なんすけど」
「はい」
「えーとドキュメントが残らなかったりとか」
「うん」
「あと計画がの永続性がないっていうんですか、そのチャットがなくなったら消えちゃうし」
「うん」

「あと基本的になんかひまたぎでやれるようなものでもないと思います、プランモード」
「うんうんうん」
「まあ別にチャット残ってたら続きからやれるんすけどね」
「うんうんうん」
「であとは、えーと、なんでしょうね、プランモードができ上がったあとの実装フェーズで、これちょっと嘘だったら申し訳ないんですけど」
「はい」
「多分プランモード中に、プランモ、プランの計画中に作ってたものの、なんか最終的な成果物以外の、なんか、なんだろう、細かいところとか、まあいろいろ検証しながら実装してるわけではなくて、もうプランモードの、プランができたらもうそれに乗っ取って進めてくようなやり方をしている気がする」
「うんうんうん」

「うん。まあみたいなのが、まあ比較として違うかなと思ってて」
「うん」
「で、ただこれはどっちがいい悪いではなくて、まあ使い分けだと思ってますと」
「うんうん」
「で、使い分けは、まあプランモードのほうが、まあ割とシンプルな機能に向いてるのかなっていうふうに思っていて」
「はいはい」
「まあバグ修正だったり、あとは機能更新とか機能実装とかシンプルなものに向いてると思ってて」
「うん」

「SDDは、なんか継続的な開発が必要なものだったり、あとなんか仕様がちょっと複雑なもの」
「うん」
「に向いてるのかなと思ってます」
「うんうん」
「で、SDDは結局そのドキュメント化ができて、でそのドキュメントが合ってるかを検証しながら実装してほしいようなもので向いてるよねっていうのが、まあなんかSDDなのかなと思うんですよ」
「なるほどね」
「はい」
「ちなみにそのなんでしょう、えーとccsddが作る、うードキュメント系あるじゃないですか」

「はい」
「それとかを例えば、うーステークホルダーというかビジネス側にこう見てもらうみたいなこととかってやってるんすか」
「えっとー僕はやってないです」
「はいはいはい」
「はい。が、POと一緒に要件定義とかを見ながら開発を進めるっていうのが、まあ一応あるべき姿というか。やってるところも知ってますね」
「うーん」
「うん」
「なんかそれできたらすげーいいなってのはちょっと思いましたね」

「うん」
「プランモードってやっぱさすがにそれに向いてないというか」
「うん、そうっすね」
「うん」
「ただそうだったときにね、イヤズ記法ってちょっとハードルだったりするんすよね」
「あーそうなんだ。ちょっと小難しい感じになっちゃうというか」
「なんか、ふ、見慣れた日本語ではないので」
「うんうんうん」

「うん。まあな、お互いに慣れればいいだけなんですけど」
「うんうん」
「ま、その点なんか、まあKiloとか別のSDDツールだとイヤズ記法じゃなかったりするみたいなんで」
「へー」
「そっちのほうがいいよねっていう話もあるかもしんないですし」
「うんうん」
「ま、個人的には、ま、これも別に検証したわけじゃないんですけど、イヤズ記法のほうがいい気がするって思ってるだけなんで」
「うんうん」

「うん。まあでもそう、一応そのAWSが提唱してるAIDLCとかも、ビジネスサイドの人間と一緒に設計書を眺めて、でオッケー出てから実装してくみたいな」
「うん」
「フローを想定してると思うので」
「うんうん」
「ま、あるべき姿としてはそうですね」
「なるほどねー」
「はい。まあみたいな感じで」
「うん」

「す、ちょっと時間もまあまあいったんでそろそろ締めてこうかなと思ってるんすけど。ま、なのでなんかその、ま、今日のこの話を通じて多分SDDのことがかわいく見えてくる人は一部いたのかもしんないですけど」
「うん」
「まあ大体どんなことやってるんだなっていうのはなんかちょっと見えたと思うんすよね」
「うんうん」
「ま、なんか多分よく知らんけど難しいフローをいい感じにやってくれるんでしょ、みたいなところから、ま、なんか、あ、具体的にこういうことを守りながらやってくれるんだなっていうのが見えたと思うので」
「うん」
「ま、やってほしいのが、ま、今あの開発しているプロジェクトに、もうこれは別にデベロップにマージしなくていいんで」
「うん」

「一旦このnpxccsdd@latestなんとかこんとかで1回入れてみて」
「うん」
「で、ちょっとコマンド叩いてみるといいのかなと思ってるんすよ」
「うーん」
「で、今日ちょっと紹介できてないんですけど、ステアリングっていうコマンドがあって」
「ステアリング?」
「はい。ハンドルのステアリング」
「はいはいはい」

「これやるとあのプロジェクトを読み込んで、えーとプロジェクトの中身をドキュメントにしてくれるものがあるので」
「はい」
「一旦それ動かしてみて」
「うん」
「はえーこうやって動くんだっていうのをちょっと試してみて、え、それでなんか、あー実装のときも使ってみたいなって思うんだったら」
「うんうん」
「なんかこっそり、あのーなんて言うんでしょうね、普通の自分の実装タスク受けつつこっそりちょっとccsddで実装してみて」
「はいはい」

「それで早く終わるのか遅く終わるのか。ま、そんな遅くなることは正直ないのかなと思ってるんすけどね、個人的には」
「え、ステアリングは何、あのーccsddについてるコマンドのなんかですか」
「あ、そうです、はい」
「はい」
「さっき紹介したそのスペックリクアイアメントとか要件定義とかとの横並びで、ま、開発フローに入ってないんですけど」
「うん」
「プロジェクトのドキュメント、コンテキストを作るための、そのプロジェクトのドキュメントを作るコマンドでステアリングっていうのがあって」
「へー」

「で、このプロジェクトは、あの、こういう目標、機能を持ってて」
「はいはい」
「使用言語はこうで、フレームワークはこうで、デザインパターンはこうで、ディレクトリ構成はこうなっててみたいな、なんかその開発するときに必要そうな情報を抽出してくれるコマンドがあるんすよ」
「うーん」
「で、ま、基本的にccsdd使うときには最初にステアリング使って、で、そのプロジェクトの情報を渡しやすい状態にしてから、えー開発フローを回してくみたいなのが、ま、鉄板だったりするんで。で、そのステアリングも結構おもしろいんでやっぱり」
「うん」
「あーこここうやって抽出してんだみたいなのが、ま、見えやすいし、あとプロジェクトに害ないし、ぜひ試していただければなと思います」
「なるほどねー。結局、結局Gemみたいなもんだな、なんかイメージ。一気にそっちのイメージになったわ」

「そうですよ。ほんとにそうです」
「うん」
「ほんとにそうです、ほんとにそうっす。なんで頭のいい人が考えたプロンプトをいい感じに組み合わせて使えるっていう」
「そうだよね。だからエンジニアライクなインターフェースの、ま、プロンプト集みたいなことだよね」
「うん」
「へー、そのとおり」
「もうかるのかな、これ」
「はい」

「え?」
「いや、もうかるのかなと思って」
「うーん、あんまりね、お金要求してるとこはもうAWSぐらいですよね」
「あー」
「それで言うとなんかClassメソッドさんとかも出してましたよね、OSSで」
「あ、そうなんだ」
「はい。なんかもうかるやしないと思いますけどね。なんかOSSの質高いしね」
「うんうんうん」

「うん。逆にエンジニアじゃないところにはもうかるかもしんないですね。なんかこのエンジニアじゃないところに対してSDDみたいな仕組みを作って」
「うん」
「プロダクトにするのはあるかもしんないですね」
「確かにね」
「うん」
「いや、だからまあこれからのシステム作り、結構そういうプロンプトを組み込んだアプリケーションも増えるだろうしな」
「そうですね」
「うん」

「うん」
「なるほど」
「はい」
「ありがとうございます」
「はい、今日はccsddが、ま、少しかわいく見える話とプランモードとの比較みたいなところをちょっとお話してみました。まあまだまだ僕は勉強中で。えーとこれからもどんどん試してこうと思うので、ま、ぜひなんか試、なんか試したらお話ししますし、なんかこんなんおもしろい質問とかあったらぜひお便りとかで送っていただけるとありがたいです。お願いします」
「ちなみにプランモードで、なんかこう」
「はい」
「物足りないなって感じることって結構あります?」

「それこそ、あのー複雑な機能実装するときに思います、僕は。なんかここの式1こうとか、えーとこういうときにこうしてほしいとか」
「うん」
「で、あとはなんかアーキテクチャどうするみたいな。アプリケーションの中身の」
「うんうんうん」
「で、あとはそうですね、えっとあとはなんか実装する機能の、あ、ここ考慮しなきゃいけなかったんだみたいなのがその要件とか設計の中で見えてきたりするので」
「はい」
「なんかプランモードだとそこまではやれなかったなって。なんか実装し終わってから気づくところを、えーと設計とか要件段階で、あーここ定義してないとか」
「うん」

「ここなんか思ってるのと違うっていうのをなんか気づけたときには、あーなんかSDD使っててよかったなって思うことはあるって感じですかね」
「うん。なんかちょっと1個気になってたのは、なんかそのがっつり設計するからやっぱかかる時間は少しなんかプランよりかかるのかなと思ってて」
「あーかかりますかかります」
「なんかそこのこうトレードオフ的なところのなんか境界線とかどういう感じなんだろうなと思ってたんだけど」
「うん」
「多分簡単な機能だったら多分プランでサクサクやってったほうが早いし」
「はい」
「まあ精度面でもそんな損しないってことっすよね」

「うん、絶対そう」
「で、ただ複雑な機能とか、まあそういうのをやってくってなったときは、ある程度その仕様書作ってあげたほうが、えーと完成品も満足いくものになるけど、まあプランのところはちょっと時間かかるよねみたいな感じか」
「そうですね。なんか、い、う、のりさんで言うと、以前やってたなんかGeminiと壁打ちしながらなんか仕様を固めていくみたいな話あったと思うんですけど」
「はい」
「あれをccsddのフローの中でやってくようなイメージですね」
「なるほどね。あーそっか」
「だと思います」
「うん。わかりました」

「なんで僕が割と実装するときも、そのか、仕事でやったときもそうですし、趣味でやってるときもそうなんですけど」
「うん」
「なんかこんな機能ほしいなっていうぐらいで最初要件定義始めて」
「うん」
「で、具体化してく中で、あ、ここ考えなきゃみたいなのをやりながら要件と設計作ってって、よっしゃできたってなったらもう実装したらもうすぐ終わるみたいな」
「うーん」
「イメージですかね」
「なるほどね」

「はい」
「わかりました。ありがとうございます」
「はい。えーでは最後に、えーお知らせでハッシュタグひまじんプログラマーでSNSのXでフィードバック募集してますので、本日のエピソードの感想とか、あとはなんかノウハウ、えーおもしろい話あったらぜひお気軽にポストお願いします」
「最近のおすすめツールとかもぜひお願いします」
「まじ気になる。あとはポッドキャストの説明欄からGoogleフォームで番組の要望、感想、質問お待ちしてます。で、エピソード説明欄のほうからSlackオンラインコミュニティ、ひまプロ談話室の参加申し込みフォームがございますので、えーそちらからエンジニア友だち作りたかったり、まああとはより成長機会がほしいって言っていいのかな。ま、ちょっとなんか成長したいというか刺激がほしい人ですね」
「うん」
「なんか刺激がほしい人とかいたらまずは入ってみて。えーなんかいろんな人いるなっていうのをちょっと見ていただけると刺激になるかなと思うので、お気軽にお願いします」
「刺激中読者におすすめです」

「ちょっと公平があるみたいですね」
「そうなるとね。はい。ま、ゆ、ゆるいのかな」
「まあ」
「意識高いのかな、どうなんでしょうね」
「まあ、なんかピリピリはしてないよね、別に」
「ま、そうっすね。ピリピリはしてないですね」
「うん」
「はい。で、最後に各種ポッドキャスト、プラットフォームのフォロー、高評価もお願いします」

「お願いします」
「それではまた次回」
「ばいばい」
「さあ皆さん、次の商品は目玉商品です。こちら、めちゃくちゃでかいエンターキー」
「うわー、おっきい」
「これがあるとストレス発散、生産性アップ、快適な睡眠も」
「え、枕にしちゃうんですか」
「こちらの商品はお値段なんと1,024円」

「わーお、2の10乗」
「そして今、番組終了1時間以内にGoogleフォームよりお便りを送った方はちっちゃいスペースキーも付いてきまーす」
「ポケットに入れて持ち運べますね」
「番組の高評価、フォローもすると会員割引なんと90%オフ」
「え、ほぼタダー」
「今すぐご応募を」