« 2026年8月 | トップページ | 2026年10月 »

2026年9月

2026/09/27

ふりかえり手法にジョハリの窓を使って自己開示と他者フィードバックを得る

「ジョハリの窓」をどう活かすか悩んでいた。
「自己開示」と「他者フィードバック」を組み込んだふりかえりこそが、自分も知らない「未知の自分」を引き出す。体験学習の実践から見えた、自分の思い込みを捨て自己省察を深めるふりかえりの本質を考えてみた。

【1】ジョハリの窓というフレームワークの使い方を以前はよく分からなかった。
カンセリングで使うと聞くが、プロジェクトマネジメントにいるのかな?とか思ってた。

【2】FAJ関西の体験学習のラボトリーに4月から参加していて疑問に思ったことがある。
このプログラムにはふりかえりが2回も含まれているのは何故なのか?

スタッフから、ジョハリの窓の説明を聞いてその意図が分かった。
このワークショップのふりかえりでは、体験前と体験後の2回で、自己開示と他者フィードバックを故意に入れ込んでいるのだ。

【3】ジョハリの窓はカウンセリングで使われる技術と認識してる。
自分が知っている&他人も知っているエリアをベースに、自分は知っているが他人は知らない自分を他者に自己開示する。
ここは、ふりかえりでは、自分の意見を述べるプロセスに相当する。
次に、他人は知っているが自分は知らない自分を、他者からフィードバックで得る。
ここは、ふりかえりでは、他者が自分の言動をどのように見ていたのか、をフィードバックするプロセスに相当する。

すると、自分が知っている&他人も知っているエリアが縦軸と横軸より外側に広がることになる。
すると、自分が知っている&他人も知っているエリアが外側に広がった領域では、自分も知らないし他人も知らない自分と重なる領域が現れる。
これこそが第4の領域、自分も他人も知らない自分である未知の領域だ。
つまり、何らかの体験という行動を誘発させて、自己開示と他者フィードバックにより、自分も他人も知らない自分である未知の領域を初めて外部に提示される。
この領域は自分も初体験なので、自分も初めての自分を経験するし、他人もこの人はこんな行動を取るんだなというフィードバックを伝えることになる。

【4】ジョハリの窓は、社内研修でもやった経験があり、個人的には非常に面白かった。
自己開示と他者フィードバックを経験できるので、自分の言動はこういうふうに見られているんだな、という気づきが貴重だった。
一方、FAJ関西支部のワークショップでは、毎回、自己開示と他者フィードバックが必ずあるので、他人から自分の振る舞いや言動がどのように見られているのか、を故意に見せつけられるのはとても貴重だ。
自分は、自分が思っているほどロジカルでもないし、卑屈でニヒリストっぽく振る舞っているわけでもない。
そういう気づきが貴重だった。

【5】FAJ関西で行うふりかえりは、コルブの経験学習モデルに近い気がする。
コルブの経験学習モデルは、自己省察を重視して、自分の体験を分析して知識化し、次の経験で活かす。
その流れがFAJ関西のふりかえりと似ている。
経験した事実に対し、自己開示と他者フィードバックにより、自己省察のレベルを深めることができる。
そんな体験を大切にしたいと思う。

| | コメント (0)

2026/09/21

Redmineのブロッキング機能で工程単位Redmine運用とトレーサビリティを解決するアイデア

かつてアンチパターンとされたRedmineの工程別プロジェクト運用。
だが、A-SPICEなど厳格なトレーサビリティが求められる現場では、ブロッキング機能(FF関係)による制御が強力な武器となる。
製造業の複雑な階層構造に挑む、Redmineの新たな運用アプローチを探る。

Redmineプロジェクトを工程別に分けて運用したい意図を理解したのでメモ。
ラフなメモ書き。

【参考】
Redmineのブロッキング機能はどこで使うのか?~FF関係で使うべきだ!: プログラマの思索

【1】Redmineプロジェクトを工程別に分けて運用したいケースがある。

WF型開発で要件定義、設計、開発、テスト、移行の順に工程ごとにタスクが分かっていて、各タスクは上位の工程から派生して関連付けられて追跡できる前提とする。
たとえば、組み込みソフトウェア開発において、ISO規格、A-SPICEなどの規格に沿って開発し、その結果を商標と残すべき要求があるとする。

特に、A-SPICEのソフトウェア開発プロセスではV字型モデルで定義されていて、各工程のエビデンスをきちんと残すことを義務付けられている。

では、Redmineではどのように仕組みを実装すべきか?

一つのやり方として、工程別にRedmineプロジェクトを作り、各工程プロジェクトにタスクを作り、下位チケットは上位チケットに関連付けて作成する運用とする。
たとえば、要件定義チケットがあれば、そこから画面設計、機能設計、I/F設計、帳票設計、DB設計などの下位チケットが作られるだろう。
それら下位チケットは、上位の要件定義チケットに関連付けたタイミングで新規作成する。
すると、下位チケットを作成するタイミングで作業開始出来たことが分かる。

一番重要な点は、トレーサビリティが確保できることだ。
設計、開発、テスト、移行工程の各チケットは、必ず上位工程のチケットから関連付けられて作成するので、たとえば、リリース後に不具合が発生すれば、過去のチケットから上位工程に遡って影響調査することが簡単になる。
また、A-SPICEなどの規格では、ソフトウェア監査においてトレーサビリティをすごく重視するので、関連チケットを追跡できれば監査エビデンスを探し出す時に非常に有効になる。

つまり、工程別プロジェクトの運用では、「下位工程の作業チケットは上位工程の作業チケットに関連付けた時に新規作成する」制約条件が発生する。

【2】では、この工程別プロジェクトのRedmine運用において、他の重要な制約条件は何があるだろうか?

最も重要な制約条件は「上位工程の作業チケットが完了していなければ、関連付けられた下位工程の作業チケットは完了できない」だ。

たとえば、外部設計において、一つの要件から画面帳票設計、I/F設計のタスクが関連付けられて、どれかのチケットが作業完了できる状態になったとする。
しかし、1つの要件のチケットにおいて、顧客要求から要件定義がきちんと完了し、要件チケットをクローズできなければ、次工程の作業を完了に出来ない。
なぜならば、顧客要求からまだ要件定義が完了できていない状態は、まだ漏れている要求があるかもしれないし、非機能要件の品質特性を全て洗い出したとは言えないからだ。
漏れている要求があれば、下位チケットにはその要求は反映されていないのは当然だ。
ソフトウェア開発において、機能の実装漏れが出てくる場合は、たいていこんな単純ミスから発生する。

よって、下位チケットをクローズする時に、上位チケットのステータスを見て、クローズ条件を制御する必要がある。

この条件は、PMBOKで言う「FF関係」に相当する。
つまり、「上位チケットが終了できなければ、下位チケットも終了できない」条件に相当する。

利用シーンとしては、ガントチャートでタスクの依存関係に「完了の同期」を強制させたい場合がある。

【3】では、この機能はRedmineではどのように実装されているのか?

具体的には「ブロック元のチケットがクローズできなければ、ブロックされているチケットはクローズできない」機能になる。
この機能はまさに、Redmineのブロッキング機能に相当する。

Redmineのブロッキング機能はどこで使うのか?~FF関係で使うべきだ!: プログラマの思索

関連するチケット ? Redmine用語解説
チケット同士の関連づけ | Redmine.JP Blog

たとえば、FF関係にある2つのチケットは、「ブロックしているチケット#11のステータスが終了でなければ、ブロックされているチケット#12のステータスを終了に変更することができない」例がある。

よくある例は、リリース判定レビューのチケットがあるだろう。
リリース判定レビューをクローズさせるには、もちろん、要件定義~移行までの全てのタスクを終わらせる必要がある。
たとえば、バグ修正が追いつかず、バグが1間残っています、とか、全部テストできておらず10件のテストケースが残っています、みたいな状態でリリースできるわけがない。

一方、炎上案件では、まだテスト中、バグ修正中だが、並行作業でリリース判定レビューを実施して、後追いでリリース判定の承認を得たい場面が割とある。
PMOレビュー事務局を経験した人ならよく分かるだろう。

すると、リリース判定レビューでは、テストケース残件が0件、バグ未解決件数0件ならばリリースを認めるといった、条件付きOKの判断が下る場合が多い。
案件のPMもPLも担当者も、リリース判定レビューの後も、必死になってテストしてバグを潰して、その結果をPMOレビュー事務局へ送って、その結果がOKならば、テストや移行作業のチケットが全て完了にできる。
そして、テストや移行作業のチケットが全て完了になった状態で、初めて後続のリリース判定レビューチケットをクローズできて、ようやくリリース承認が降りるわけだ。

このような制御をRedmineチケットに課すことで、実際の運用ルールを知らなくても、監査プロセスをRedmine上に実装できる。
僕は、Redmineのブロッキング機能をFF関係として使うケースを知らなかったので、本当に面白いなと思う。

一方、Redmineのガントチャート画面では、【FS】関係は、先行・後続の関係=青矢印、【FF】関係はブロック元・ブロック先の関係=赤矢印で図示される。
つまり、Redmine標準機能として、FS関係とFF関係の矢印の色が異なるように実装されているので、ガントチャート画面を見れば、チケットの依存関係を把握できる。
LycheeRedmineでは、ガントチャート画面上でマウスをD&DすることでFS関係を付けれる機能があり、そのタイミングで、ブロッキング機能をチェックするかどうか選ぶダイアログが出てくる。
つまり、LycheeRedmineでは、FS関係やSS関係を簡単につないで、まるでMSProjectみたいにガントチャート画面上で制約条件を正確に表現できる。

Redmineのブロッキング機能はどこで使うのか?~FF関係で使うべきだ!: プログラマの思索

Redmineはとても奥深い。

【4】以前の僕は、Redmineを工程別プロジェクトを作るやり方は悪手だと思っていた。
その理由は10年以上前にたくさん書いた。
つまり、理由は、アジャイル開発のイテレーション、スプリントに紐づけることが単純でないこと、工程単位のプロジェクトが乱立して1人の担当者が複数のRedmineプロジェクトを渡り歩いて見る必要があってチケット管理が面倒になるからだ。

TiDD初心者が陥りやすい罠part2~工程単位のRedmineプロジェクトやリリース予定バージョン: プログラマの思索

【続】TiDD初心者が陥りやすい罠part2~工程単位のRedmineプロジェクトやリリース予定バージョン: プログラマの思索

チケット駆動開発の適用範囲part5~どの工程をカバーするのかという質問: プログラマの思索

チケット駆動開発のFAQ: プログラマの思索

【事前公開】【第16回Redmine大阪】RedmineのFAQとアンチパターン~親子チケットの功罪: プログラマの思索

チケット駆動開発の適用範囲Part2~チケット駆動開発の運用パターン: プログラマの思索

チケット駆動開発がもたらした新しい観点part1~Redmineプロジェクトへ案件や組織構造を反映する: プログラマの思索

Redmineをもっと強化できるポイントpart1~上流工程のトレーサビリティ強化: プログラマの思索

しかし、上記のように、Redmineブロッキング機能を使って各工程チケットのトレーサビリティを確保したい場合、工程別プロジェクトを作りたい意図は理解できる。
また、Redmineブロッキング機能は所詮、Redmineの関連チケットの一種に過ぎないので、担当者にとってもチケット操作は簡単であり、運用ルールに乗せやすい。

こういう使い方もありだなと思う

【5】一方、留意点としては、複数プロジェクトをまたいでチケット同士のブロッキング機能を使うには、「管理」→「設定」画面内「チケットトラッキング」タブ内の設定「異なるプロジェクトのチケット間で関連の設定を許可」を有効にする必要がある。
この設定がなければ、プロジェクト内で閉じたチケット同士でしか、ブロッキング機能が使えない。
先行・後続関係の機能も同様だ。

Redmineで異なるプロジェクトのチケット同士を関連づけたい ? Redmine.JP

他方、「異なるプロジェクトのチケット間で関連の設定を許可」を有効にするデメリットは、情報セキュリティの高い案件のRedmineプロジェクトのチケットが関連付けられてしまうケースが考えられる。
本来は、ある案件の親PJがあり、要件定義~移行の子PJが作られて、親子PJの関係が付けられている範囲内でのみ、ブロッキング機能を有効にしてほしいのだ。
製造業のように、製品開発の案件は機密性が高いので、情報セキュリティ上、他案件のチケットが無関係の社員に見せることはしたくないからだ。

すると、「プロジェクトツリー内のチケットはで関連チケットの設定を許可する」「プロジェクトツリー内でカテゴリ、カスタムクエリ、ユーザを継承できるようにする」機能が欲しくなる。
そのアイデアは既に書いた。

製造業DXを支える工程管理とは?Redmineの大規模プロジェクト階層化における課題:プロジェクトツリーの設定継承と関連チケット制限の壁: プログラマの思索

@g_maedaさんにXで聞いたら、そんな機能はありません、の一言で終わったけれど、正直実装してほしい機能だ。
なぜならば、製造業では、親子PJを使って階層化したRedmineプロジェクトが自然に出てくるケースが多いので、プロジェクトツリー内の各プロジェクトの各チケットに対し、親PJの設定を子PJへ継承させたいケースが多くなるからだ。

たとえば、製造業では、上記のように工程単位プロジェクトが自然に出てくる。
工程単位プロジェクトが自然な理由は簡単で、製造業では工程ごとに専門部署が割り当てられているからだ。
実際、プロトタイプ製品を作る企画フェーズならR&D部、設計工程では設計部門、製造工程では工場の製造部門や生産管理部門、試験工程では品質管理や品質保証部門、サービス保守では営業部門や保守部隊などに分かれる。
製造業は、高度に専門化された知識が必要なので、機能別組織になりやすく、工程別にノウハウを集約し蓄積する機能別組織になりやすい。

また、たとえば、複数の製品を組み合わせて一つのシステムを作り、それをパッケージングして販売するSystemOfSytems(SoS)のようなサービスも製造業ではよくある。
たとえば、医療システム、防衛宇宙システムの業界ならよくあるだろう。
すると、SoSの親PJが案件に相当し、子PJには各製品や各システムが作られて、さらに孫PJは工程単位のプロジェクトが作られる。
つまり、親子孫という3階層のプロジェクトツリー構造を持つRedmineが自然に現れる。
よって、SoSの案件をRedmineで運用する場合、かなり複雑な構造をRedmine自体が持つ。
実際、プロマネが1個のRedmineプロジェクトでチケット管理できないマネジメントレベルならば、そもそも3階層のRedmineプロジェクトを持つ高度なチケット管理はできないだろう。
すなわち、SIerで僕が経験してきたアジャイル開発のRedmine運用よりも、製造業のRedmine運用のほうがはるかに難易度は高いと考える。

製造業のRedmine運用がかなり難しい理由は、実はこんな点にあるのかなと思う。
今後も製造業のRedmine運用を探っていく。

| | コメント (0)

2026/09/20

2026年9月現在におけるAI開発の動向

2026年9月現在において、AI開発の動向が急激に変化している。
自分が理解するためにメモ。

【参考】
なぜAIを最も速く作っている人たちが、突然「速すぎる」と言い始めたのか|大隈横川

Xユーザーのテックなキノコ(中国ウォッチ中)さん: 「強烈だなこれ この人はOpenAIとAnthropicの両方で、約3年間にわたりAIモデルの事前学習研究に携わってきた人で、先日辞任した 理由として本人は、 「どちらの会社も責任ある行動をしていない。自己改善する超知能に向かって競争し、私たちの命を賭けている」 とかなり強い言葉で批判している」 / X

X 一部ダリオ・アモデイ氏:「私たちはフロンティアのペースを落とさなければならない:AI業界が減速すべき理由と、そのための3つの計画について、新しいエッセイを書きました。Anthropicは、これらのステップの最初のステップに一方的にコミットしています。第三者評価機関に、従業員レベルの永続的なアクセス権を提供します」 / X

X 一部ダリオ・アモデイ氏:「私たちはフロンティアのペースを落とさなければならない:AI業界が減速すべき理由と、そのための3つの計画について、新しいエッセイを書きました。Anthropicは、これらのステップの最初のステップに一方的にコミットしています。第三者評価機関に、従業員レベルの永続的なアクセス権を提供します」 / X

XユーザーのElon Muskさん: 「Dario is right」 / X

「AI研究者としての自分の賞味期限はあと1年」??AGI競争も終盤戦の様相を呈すシリコンバレーでは何が語られていたか|安野貴博

【1】9/13日の早朝に、アンソロピックのCEOが突然、AIの開発ペースを落とすべきだ、とツイートした。
そこから、OpenAIのCEO、イーロン・マスクまで、同意だと言い始めた。

いつものAI開発リスクのニュースに過ぎないと誰もが思っていたのに、急に拡散している。
その理由はなぜか?
たぶん、超先端AI開発企業ですら、AI開発を制御できなくなる事態になってきたのだろう。
もはや超先端AI開発者は、弱いAIではなく、強いAI、つまり汎用AIまで実現できる時代がもうそこにまで来ている、と感じているのだろう。
それすらもフェイクニュースのように思えるが、少なくとも9/13週の朝7時台のNHKニュースには、必ずAIテーマが入っていた。
たぶんAI開発の奥深さを知らないレガシーメディアですら、それを意識している。

【2】面白い点は、トランプ大統領の発言と中国公式意見の相違だ。

日曜夜のNHKニュース番組で、アンソロピックCEOやOpenAIのCEOがAGIの脅威を語りながら中国のAI競争に負けないように競争して開発している姿に対し、中国報道官は、むやみやたらに中国脅威論を語るべきではない。我々はAIを平和利用していると語っていた。
一方、トランプ大統領は、アンソロピックCEOやOpenAIのCEOの主張は大したことはない。米国の最も優秀な大統領がAIをコントロールできるから心配しないでいい、と語っていた。
双方の主張の隔たりが面白すぎる。

【3】では、そんなにAI開発が危険だとしたらどんな方向性に進むのだろうか?
AI開発が核開発と同等のリスク、人類滅亡のリスクを高めるものであるならば、国連のような第三者機関が各国とNPT締結協定を結んで各国の核開発を定期的に監視するのと同様に、AI開発拠点を持つ国々を第三者機関がモニタリング&コントロールするような仕組みへ規制がかかるかもしれない。
実際、国連総長も同様な発言をしている、とNHKニュースで聞いた。

しかし、人間は愚かで小賢しいので、AGIが危険と思っても開発はやめられないのかな、と思う。

| | コメント (0)

2026/09/06

第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka

AIが開発を自動化する現代、プロジェクトの文脈を知らないAIの暴走をどう防ぐか?
第23回Redmine大阪で語られたRedmineのMCPサーバー化や、制御工学に基づく『チケット駆動によるAI制御』を通じ、AI時代における人間の役割とプロセスのあり方を考えてみた。

【参考】
第23回Redmine大阪 - connpass

Redmine-osaka-023 - Redmine.Osaka

【1】1年ぶりのRedmine大阪のテーマは、やはり「AIxRedmine」だった。
AIがソフトウェア開発を飲み込んでしまって、AI無しのソフトウェア開発はもうありえない。
プログラミングはもちろん、テスト駆動開発・CI・CD・スペック駆動開発・コンテナ作成・インフラ基盤作成まで全てAIエージェントで自動化できてしまう。

おそらく、タスク管理のような単純なマネジメント作業そのものもAIで自動化されるだろう。
では、現代のAI時代では、何が問題になるのか?
現代のAI時代では、ソフトウェア開発のあるべき姿は何なのか?

【2】@haru_iidaさんの講演で興味を持ったことは、RedmineAIヘルパープラグインにより、RemdineそのものがMCPサーバの機能を持つことだ。
僕はこの意味が即理解できなかったが、 レイリーさん、@akahane92さんの説明により理解した。

RedmineサーバーにMCPサーバー機能をもたせることには2つの意味がある。
1つ目は、RedmineのI/Fがプロンプトを認識できることにより、ユーザはRedmineに自然言語で直接アクセス制御できることだ。
以前なら、REST APIでデータ取得更新するしかなかった。
つまり、REST APIの仕様に従って逐一PythonやRubyのプログラムを書くしかなかった。
しかし、RedmineがMCPサーバー機能を持つことにより、RedmineにあるチケットやWikiなどのPJ情報は、「期日間近のチケットを教えて」とプロンプトを投げればいつでも簡単に取り出せる。
よって、プログラミングを知らない初心者でも、Redmineのチケット情報、ナレッジを有効活用できる。
これはすごいことだ。

2つ目は、MCPサーバをローカルPC上に作成する必要がないこと。
以前なら、ClaudeCodeでRedmineにアクセスしたいならば、自分のPC上にMCPサーバを構築してそれを経由してRedmineやGitHub、Slackなどにアクセスするしかなかった。
逐一、MCPサーバをコンテナ作成するなど手間がかかった。
しかし、RedmineにMCPサーバー機能を持たせることで、ユーザは面倒な作業を除去できる。
この考え方は、一昔前のクライアント・サーバーモデルと同じだ。
クライアント側にビジネスロジックを持たせてサーバーと同期させたり、データの取得更新処理を実行するのではなく、サーバー側にすべての処理を集約させる考え方と同じだ。

一つ疑問点が浮かぶことは、レイリーさんの質問の通り、RedmineにMCPサーバを持たせることにより、セキュリティやアクセス権限制御は大丈夫なのか?という点だ。
どんなPCからも自由にRedmineを簡単に制御させられるのは危険だ。
@haru_iidaさんの回答では、Redmine側のログイン機能やアクセス権限弦制御に従うこと、最新バージョンならOAuth機能も付いているから大丈夫、とのことだった。

【3】@tokudiroさんの講演「AIxチケット駆動」は、僕が参加者と深く議論したかったテーマ「AIの暴走をチケット駆動で制御する」になる。
アイデアは既に書いた。

チケット駆動でAIを制御する仕組みのアイデア: プログラマの思索

@tokudiroさんの講演を改めて聞いて、ポイントは3つある。

1つ目は、AIは案件のコンテキスト、チームのコンテキスト、ローカルなコンテキストを知らないから暴走しやすいという根本問題だ。
AIはいくら優秀だとしても、彼らは、僕らの案件の詳細を知らないし、僕らの組織にある暗黙知を知らないし、僕らのチームメンバーの癖や暗黙知を知らない。
だから、AIは一般論で突っ走って、僕らが想定しない成果物を出してくる。
そこで、チケットを作業指示書とみなして、作業指示書にプロンプトや前提条件、制約条件を集約して、AIに実行させることでAIを制御する。
プロンプト実行後にAIが出してきた成果物、設計構想、検討結果に対し、人が取捨選択して意思決定し、その履歴はIssueログに残す。
Issueログには、意思決定の履歴が残る。
つまり、意思決定した時にどれを選択したのか、選択した基準は何か、却下した理由は何か、それらのログは全て残る。
それら暗黙知は、プロジェクトのコンテキストそのものだ。
AIはそれらを学習することにより、僕らの癖、価値観をAIは理解して、AIが出す成果物の品質基準を僕らの価値観にできるだけ合わせるように制御できるはずだ。

2つ目は、AIによる処理をチケット駆動で制御する発想は、制御工学の考え方や仕組みにとても似ていることだ。

チケットを作業指示書とみなして、AIの処理を実行させる。
AIの処理結果を人間がレビューして、誤差を検出しAIにフィードバックさせてAIにココが間違えているから直せと再実行させる。
そういうループ処理を回しながら、チケットに本来書き残した目標に近づけていく。
これは、制御工学そのものだ。
講演資料では「AIのプロセスを制御工学に見立てて、AIの思考に物理的なガードレールを設ける」とある。
つまり、AIは暴走しやすいので、チケットとGitHubリポジトリという物理的なガードレールを設けて、意識的にフィードバックループの制約をかけるわけだ。

一方、@hiranabeさんによれば、制御工学は、いわゆる工業製品では当たり前の考え方だ。
たとえば、お風呂の自動湯沸かし器。
お湯が指定した温度で一定量までお湯を張るようにフィードバックさせるが、一定量になれば止める。
お湯を止める制御がなければ、お風呂はお湯で溢れてしまって、水道代が無駄になるだろう。

@hiranabeさんによれば、モノの制御工学では、センサーにより定量的な数値をフィードバックさせて、アクチュエータが力に変えて水量を制御する。
一方、AIによる処理、あるいはScrumでは、ゴールは曖昧で揺れ動くものであるので、定性的なデータをフィードバックして制御するしか無い。
Scrumなら、フィードバックさせるものは人の経験であり、経験を深めることで、特定のコンテキストに対するナレッジを獲得して目標達成に近づける。

【4】懇親会で色々話して理解したことは、チケット駆動でAIを制御する仕組みは、LoopEngineeringとVibeCodingの間に位置し、AIにすべてを委ねず人間が関与すべきプロセスを明示した点だ。

いわゆるルーチンワークのような業務的意思決定は、もはやAIで全て自動化できるだろう。
しかし、事業戦略の判断、アーキテクチャの判断、我々が本来作りたいシステムのあるべき姿に対する戦略的意思決定は、AIは支援できてもAIに全てを委ねて、AIが自動化できることにはならないだろう。
すると、戦略的意思決定のプロセスでは、細かい作業や処理はAIで自動化したとしても、途中でポーズさせて、チェックポイント地点でゲートレビューを設けて、AIの成果物を人間がチェックして、判断するチェックポイントを入れる必要がある。
これこそがAI時代の本来のプロセス設計だろう。

LoopEngineeringでは、このプロセスが全てAIで自動化されるがやはり怖い。
そこで、人間がゲートレビューする出番をわざと作る。
実際、GitHubにおけるプルリクに対するコードレビューが相当するだろう。

この発想は、監査プロセスに対しAIによってどこまでAI自動化できるのか、という問題に発展するだろう。
製造業では、人命・品質に関する規格により、製品も製造プロセスも制御されている。
一定の品質の製品でなければ、人が怪我をしたり命に関わる事象に陥る。

製造プロセスをできるだけAIで自動化したとしても、AIが作り出した製品の機能が本当に品質担保できているのか?を人間が監査して承認を取る必要がある。
つまり、ゲートレビューは監査プロセスで必要だ。
しかし、監査でAIが作り出した成果物の中身を人間が全て理解してチェックできるのか?

@sakaba37さんや@hiranabeさんの意見を聞く限り、AIが出す成果物は膨大なので人間は全てをレビューできない。
しかし、監査プロセスという手続きが妥当であること、サンプルとして取り出したエビデンスが妥当であることが分かれば、AIの成果物の品質も妥当だと判断できるだろう、とのことだった。
つまり、監査とは結局、プロセス監査に過ぎないので、標準プロセスとして定めた監査プロセスが妥当であるならば、その手順に沿ってAIが実行されたことをチェックするだけに過ぎないわけだ。

すなわち、AI時代の監査プロセスは、従来通りのやり方で基本は残るだろうと考える。

【5】@kazuhitoさんの議論で面白かった点は、人がコードレビューしなくなる時代はもう近づいているだろうが、人がコードレビューしなくなる基準は何なのか?という点だ。

今まさに、AIがソフトウェア開発を完全に飲み込んでしまっている。
AIのソースコードは膨大なので、人はすべてを読めないし理解できない。
また、AIが出すソースコードの方が、自分が書いたソースコードよりも凄いぞ、と認識を改める場面も多くなっているだろう。
つまり、AIの成果物の方が品質が良いのだ。
すると、人はコードレビューする能力をそもそも持っているのだろうか?
コードレビューはもはや単なる承認する儀式に過ぎないのか?

@sakaba37さんの意見によれば、アセンブラの頃のプログラミングやテストに似ていると言う。
アセンブラは機械語なので人間には読みにくい。
しかし、デバッグが必要な場面もある。
すると、人は、あるチェックポイントでゲートレビューしてレポートを出させて、成果物そのもののアセンブラは見なくて、レポートだけで判断する。
そのレポートを見ながら、デバッグの指示を出しデバッグのフィードバックを繰り返して、期待する処理に近づける。

その話を聞いて、僕は、結局、AI時代の監査プロセスと同じだな、と思った。
結局、AIの成果物の中身まで人間は全てを把握することは諦めるしか無い。
人間は、手続きというプロセスが正しいことを信じて、承認という判子を押すだけの存在になるしか無い。
AI時代のプロセスは、プロセスの中で実行される処理を見るのではなく、処理を実行させる元のプロンプトに妥当性があることしか、人間はチェックできないだろう。

すると、コードレビューしなくなる基準は、AIによるコード生成のプロンプトによって実行されるプロセスそのものの妥当性が保証される状態を指すだろう。
つまり、プロンプト群から生成されるAIの処理に再現性があり、一定品質をクリアできるならば、もはや人間が関与する必要はない。

たとえば、自動運転技術が最たる例になるだろう。
人間が運転するよりも、AIで自動運転するほうが交通事故が少ないならば、その方が人命は安全だからだ。
つまり、人間が変にこだわって意思決定する行為は、もう無くなる可能性もある。

【6】@kazuhitoさんの話でもう一つ面白かった点は、AIとの付き合い方は、オフショア委託や下請け委託と同じように考えたほうがいいですよ、という主張だ。
たしかにそうだ。

今、ソフトウェア開発をAIで全振りした場合、発注者である自分は、AIに、これこれの機能を実装せよ、こういう品質をクリアせよ、とたくさんの制約条件や前提条件を書いて、指示を出す。
AIは、プロンプトという契約に沿って、成果物を作り出す。
AIが出して来た成果物を人間はレビューして、気に食わなければ、AIに突き返す。
AIはまた修正して、人間にレビューを依頼する。
AIと人間のループ作業によって、最終的に欲しい成果物が得られる。

この関係は、請負契約や業務委託契約に似ている。
AIが作り出す成果物が品質基準をクリアしなければ突き返すならば、請負契約と同じだ。
AIに壁打ちして、企画構想やアイデアを具体化していく作業を行うなら、AIに一定期間のコンサル業務を業務委託契約している感覚だ。

一方、AIは人間と違って、24時間365日フル稼働できるし、こちらの要望に沿ってすり合わせしてくれるので、優秀なオフショア委託ベンダーみたいなものだ。
他方、AIは責任を負わない。
たとえば、インドや海外のオフショア委託ベンダーが期限までに間に合わければ、発注者はペナルティを課し、損害賠償させる契約を結んでリスク回避させることもできるが、AIにペナルティを課して損害賠償させることは出来ない。
AIは、こちらが頼んだ成果物と違うといくら言っても、プロンプトを投げれば即座に成果物を作って送り返してくるので、納期までに間に合わないリスクは、結局、発注者である自分に戻ってくる。

そんなことを考えると、AIを上手く使いこなせる人は、発注者として下請けを上手く操れる手配師みたいな人の方が向いているのかもしれない。
でも、その考え方は何故かしっくり来ないけどね。

【7】AI時代のRedmineの課題は、今までの常識では通用せず、AIの処理の速さによりボトルネックが自分自身に跳ね返ってくる点にあるのだろうと思う。
問題となるボトルネックは、システムではなく、人間の思考や行為そのものに存在する。
たとえば、Redmineがいくらナレッジ基盤として優秀であっても、人間がチケット入力しないと意味がないし、チケット運用する必要もある。
本来はRedmineチケット管理でもっと管理作業を効率化したいのに、AIやRedmineがすごく優秀になりすぎると、人間自体がボトルネックになってしまうわけだ。

僕が考えているテーマは結局下記の2つだ。
現代のAI時代では、ソフトウェア開発のあるべき姿は何なのか?
監査プロセスに対しAIによってどこまでAI自動化できるのか?

この辺りの問題解決のアイデアは色々考えてみる。

| | コメント (0)

« 2026年8月 | トップページ | 2026年10月 »