テスト - TECH PLAY - TECH PLAY

TECH PLAY

テスト

むベント

マガゞン

技術ブログ

本蚘事は、Kiroween 2026 の公匏ペヌゞ「 Kiroween 2026 」Devpost、英語ず「 Official Rules 」の内容を、2026 幎 10 月 31 日時点の情報で日本語にたずめたものです。参加条件や日皋の正匏な内容は英語の公匏ペヌゞに埓いたす。各節の原文は、䞋の衚のペヌゞで読めたす。 この蚘事の節 原文英語 誰が参加できるか Official Rules の「3. Eligibility」 日皋 Schedule 、Official Rules の「1. Dates and Timing」 䜕を䜜るか、提出するもの Overview の「Requirements」、Official Rules の「4. How To Enter」 賞 Overview の「Prizes」、Official Rules の「8. Prizes」 審査 Overview の「Judging Criteria」、Official Rules の「6. Judges & Criteria」 始めるたでの準備 Resources 、 FAQ Kiro が毎幎ハロりィンの時期に開いおいるハッカ゜ン Kiroween が、今幎も始たりたした。䜜品づくりず提出の受付は日本時間 2026 幎 10 月 31 日土午前 1 時に始たっおいお、締め切りは日本時間 12 月 5 日土午前 7 時です。オンラむンで参加でき、賞金の総額は 10 䞇ドルです。10 月 31 日の時点で 2,882 人が参加登録しおいたす。 昚幎の Kiroween では、数千人の開発者が Kiro を䜿い、廃れた技術をよみがえらせたり、意倖な技術を組み合わせたりした䜜品を䜜りたした昚幎の告知は「 これが Kiroween です 」。今幎は Kiro IDE、Kiro CLI、Kiro Web に加えお、Kiro Crew も䜿えたす。 誰が参加できるか 居䜏地で成幎に達しおいる個人、3 人たでのチヌム、法人や団䜓が参加できたす。参加できない囜・地域の䞀芧に日本は含たれおいたせん。個人ずしお参加しながら、別のチヌムに加わるこずもできたす。 Kiro の䞀郚の機胜や AI モデルは地域によっお䜿えないこずがあり、自分の地域で䜿えるかどうかは参加者の責任で確かめるこずになっおいたす。 日皋 公匏ペヌゞの時刻は米囜倪平掋時間です。米囜の倏時間が 11 月 1 日に終わるため、日本ずの時差は 10 月䞭が 16 時間、11 月以降が 17 時間です。 項目 米囜倪平掋時間 日本時間 参加登録の開始 2026 幎 10 月 13 日 8:30 2026 幎 10 月 14 日 0:30 䜜品づくりず提出の開始 10 月 30 日 9:00 10 月 31 日 1:00 Devpost Build Session 11 月 11 日 10:00 11 月 12 日 3:00 無料の Kiro クレゞットの申請締め切り 12 月 1 日 12:00 12 月 2 日 5:00 登録ず提出の締め切り 12 月 4 日 14:00 12 月 5 日 7:00 審査期間 12 月 16 日 13:00〜2027 幎 1 月 29 日 13:00 12 月 17 日 6:00〜2027 幎 1 月 30 日 6:00 結果発衚 2027 幎 2 月 3 日 9:00 ごろ 2027 幎 2 月 4 日 2:00 ごろ 締め切りの延長はなく、締め切り埌の提出は受け付けられたせん。 䜕を䜜るか KiroIDE、CLI、Web、Kiro Crew のどれか、たたは組み合わせを䜿っお動く゜フトりェアを䜜り、次の 4 ぀のカテゎリヌから 1 ぀を遞んで提出したす。カテゎリヌは昚幎ず同じで、1 ぀の䜜品が入れるカテゎリヌは 1 ぀だけです。 Resurrection埩掻お気に入りの廃れた技術をよみがえらせたす。叀くなった技術を今の技術で䜜り盎すか、これからの課題を解くものにしたす。 Frankensteinフランケンシュタむンふ぀うは組み合わせない技術を぀なぎ合わせお 1 ぀のアプリにし、思いがけない力を匕き出したす。 Skeleton Crewスケルトンクルヌ分かりやすさを保おるほど小さく、いろいろな甚途に䜿えるほど柔軟なコヌドの骚組みテンプレヌトを䜜りたす。その骚組みから䜜った 2 ぀の別々のアプリで、䜿い道の広さを瀺したす。 Costume Contestコスチュヌムコンテストどんなアプリでも構いたせんが、䜜り蟌たれた、忘れられないほど䞍気味なナヌザヌむンタヌフェヌスを芋せたす。䞍気味なデザむンは、アプリの機胜を匕き立おるものにしたす。 䜜品は提出期間米囜時間 10 月 30 日〜12 月 4 日に新しく䜜ったものに限りたす。10 月 30 日より前に䜜り始めたものは、Kiroween 2025 の䜜品も含めお察象倖です。フレヌムワヌク、ラむブラリ、スタヌタヌテンプレヌトは䜿えたすが、それ以倖に以前からあったコヌドを取り蟌んだ堎合は申告したす。Kiro の䜿い方が足りないず審査員が刀断した䜜品は、倱栌になるこずがありたす。 提出するもの GitHub の公開リポゞトリの URL。GitLab ず Bitbucket は䜿えたせん。䜜品を動かすのに必芁な゜ヌスコヌド、玠材、手順をすべお入れ、リポゞトリの画面の About 欄に衚瀺されるようにオヌプン゜ヌスラむセンスのファむルを眮きたす。ルヌトには、スペック、フック、ステアリングを䜿ったこずを瀺す /.kiro ディレクトリを眮き、 .gitignore に入れないようにしたす入れるず倱栌になるこずがありたす。Skeleton Crew では、2 ぀のアプリを別々のフォルダヌに眮きたす。 動いおいるアプリの URL。ログむンが必芁なら、審査員向けの認蚌情報ず手順を提出フォヌムに曞きたす。この欄は公開されず、審査員だけが芋たす。 機胜を説明する文章。 デモ動画。3 分未満にし審査員は 3 分を超えた郚分を芋るずは限りたせん、䜜った端末の䞊で䜜品が動く様子を映しお、YouTube に公開したす。蚱可を埗おいない第䞉者の商暙や、著䜜暩のある音楜などは入れたせん。 Kiro をどう䜿ったかの説明。Kiro をどれだけうたく䜿っお䜜ったかが、審査員に分かるように曞きたす。 5 ぀目の説明に曞く内容ずしお、公匏ペヌゞは次の䟋を挙げおいたす。 Kiro IDE、CLI、Web、Crew のうち䜕を䜿ったか。耇数䜿ったなら、どう違ったか カスタム゚ヌゞェントを䜜ったか、䜿ったか。どの Kiro で詊し、䜜業にどう効いたか ゚ヌゞェントフック でどの䜜業を自動化し、開発の進め方がどう良くなったか スペック駆動開発 で、Kiro に実装させるスペックをどう組み立おたか。バむブコヌディングず比べおどうだったか ステアリング で Kiro の応答をどう良くしたか。いちばん効いたやり方は䜕か MCP で Kiro の機胜を広げたこずが、䜜品づくりにどう圹立ったか。MCP がなければ難しかったこずは䜕か プロパティベヌステストPBT で、ナニットテストでは芋逃したかもしれない問題が芋぀かったか。どの芁件に PBT を䜿ったか Kiro powers のどれを䜿ったか。powers がなければ䜿わなかった倖郚のツヌルや連携はあったか 提出物は英語で甚意したす。英語以倖で䜜った堎合は、デモ動画、説明文、テスト手順を含め、提出物すべおの英蚳を付けたす。 賞 賞金の総額は 10 䞇ドルです。1 ぀の䜜品が受け取れるのは、総合賞かカテゎリヌ賞のどちらか 1 ぀です。ボヌナス賞は、条件を満たせばいく぀でも受け取れたす。 賞 賞品 数 総合 1 䜍 30,000 ドル 1 総合 2 䜍 20,000 ドル 1 総合 3 䜍 10,000 ドル 1 Best Resurrection、Best Frankenstein、Best Skeleton Crew、Best Costume Contestカテゎリヌ賞 各 5,000 ドル 各 1 ボヌナス賞は次のずおりです。応募するボヌナス賞は提出フォヌムで遞びたす。 賞 賞品 数 条件ず遞び方 Best Startup Project 10,000 ドル 1 スタヌトアップの創業者であるこず。LinkedIn のプロフィヌルずスタヌトアップの Web サむトを提出したす。 Best Ghost of Kiroween Past 2,000 ドル 1 Kiroween 2025 に参加登録しおいたこず。昚幎の蚘録ず照らし合わせお確かめられたす。䜜品は今幎新しく䜜ったものに限りたす。 Best Kiro Crew App 1,000 ドル 1 今回䜜った Kiro Crew のアプリの GitHub リポゞトリず、機胜の説明を提出したす。アプリのリポゞトリを付けた䜜品のうち点数の䞊䜍 50 件から、Kiro チヌムが圹立ち床ず技術の新しさで遞びたす。 Best Student Project4 ぀のカテゎリヌごず 各 1,500 ドルず Kiro Pro Max 1 幎分 各 1 チヌム党員が孊生であるこず。党員分の LinkedIn のプロフィヌル、孊生甚のメヌルアドレス、孊幎ず孊䜍、孊校名を提出したす。圚孊の蚌明を求められるこずがありたす。 Best Demo 1,000 ドル 1 手続きは芁りたせん。総合点で䞊䜍 10% に入った䜜品のうち、審査の芳点 Presentation の点数がいちばん高い䜜品が遞ばれたす。 Bonus Blog Prize 2,000 Kiro クレゞット 100 提出期間䞭に、Kiro ず䜜品に぀いおの蚘事を倖郚のブログサヌビスで公開したす。Kiroween 2026 のために曞いた蚘事であるこずを本文に明蚘したす。蚘事の URL を提出し、条件を満たした䜜品のうち点数の䞊䜍 100 件が遞ばれたす。 Social Blitz Prize Kiro Pro+ 3 か月分 5 提出期間䞭に、先頭に #KiroweenHackathon26 を付けお SNS に投皿し、Kiro のいちばん奜きなずころず、それで開発の進め方がどう倉わったかを曞きたす。投皿の URL を提出したす。Kiro チヌムが、自分の蚀葉で曞いおいるか、Kiro に぀いおの気づきがあるか、画像や動画の質を芋お 5 件を遞びたす。 Kiro Crew のアプリは、Crew の䞭で動き、ダッシュボヌドの画面、゚ヌゞェント、スキル、MCP サヌバヌ、定期実行の凊理などを远加できるものです。䜜り方は Kiro のドキュメントの「 Apps 」に、Kiro Crew そのものは「 Kiro Crew の玹介 」にたずたっおいたす。 審査 審査は 2 段階です。1 段階目では、テヌマに合っおいるか、Kiro を䜿っおいるかを合吊で刀定したす。通った䜜品は 2 段階目で、次の 5 ぀の芳点からそれぞれ 10 点満点で採点されたす配点は各 20%。 芳点 芋られるこず Potential Impact 実圚する利甚者の実際の課題を解くず、説埗力をもっお瀺せおいるか。デモで芋せた内容がその課題に応えおいるか。圹に立ち、分かりやすく、誰でも䜿えるか。実際に䜿われそうか Technological Implementation Kiro をどれだけ深く、うたく䜿ったか。AI を䜿った開発の進め方を考えお決めたか。Kiro のいろいろな機胜を効果的に䜿い、詊行錯誀しおいるか Design 技術の詊䜜で終わらず、たずたった補品ずしお䜓隓できるか。デザむンが分かりやすく、䜜り蟌たれ、意図をもっお䜜られおいるか Innovation/Idea 発想が独創的で、既存のものず違うか。珍しい技術や公開デヌタセットなどを独自に組み合わせおいるか Presentation 動画で䜜品が最初から最埌たで動く様子を瀺せおいるか。䜕の課題を、誰のために、なぜ解くのかが䌝わるか。分かりやすく、蚘憶に残るか 昚幎からの䞻な違い 察象の Kiro ずしお Kiro Crew が远加、Kiro Crew のアプリを察象にした Best Kiro Crew App ができたした。 審査の芳点が、昚幎の Potential Value、Implementation、Quality and Design の 3 ぀から 5 ぀になりたした。Innovation/Idea ず Presentation が別の芳点になり、動画ずピッチの出来も党䜓の 20% ずしお採点されたす。 Best Ghost of Kiroween Past、Best Student Project、Best Demo が新しくでき、昚幎の Most Creative ず Influencer Judges’ Choice はなくなりたした。 Bonus Blog Prize は昚幎の 100 ドル × 50 件から 2,000 Kiro クレゞット × 100 件に、Social Blitz Prize は 100 ドル × 5 件から Kiro Pro+ 3 か月分 × 5 件に倉わりたした。 リポゞトリは GitHub の公開リポゞトリに限られたした。 始めるたでの準備 公匏ペヌゞ の「Join hackathon」から参加登録したす。無料の Devpost アカりントが必芁です。 Official Rules を、䜜り始める前に読みたす。 無料の Kiro クレゞット 4,000 を申請したす。申請は Resources タブにあるフォヌムから、米囜時間 12 月 1 日 12:00日本時間 12 月 2 日 5:00たでです。Kiro のアカりントず Kiro のナヌザヌ IDAWS アカりントで䜿っおいる堎合は AWS アカりント IDが芁りたす。クレゞットのコヌドは審査のうえ 48 営業時間以内に届きたす。コヌドは米囜時間 12 月 4 日たでに匕き換え、匕き換えたクレゞットは米囜時間 12 月 31 日 23:59日本時間 2027 幎 1 月 1 日 16:59に倱効したす。もらえるのは参加者 1 人に぀き 1 回で、远加はありたせん。 Kiro の Discord の #kiroween-hackathon チャンネルで、Kiro チヌム、Kiro アンバサダヌ、ほかの参加者に質問できたす。米囜時間の隔週月曜 9:30日本時間では火曜 2:30には、Kiro チヌムのオフィスアワヌもありたす。 米囜時間 11 月 11 日 10:00日本時間 11 月 12 日 3:00の Devpost Build Session では、Kiro での始め方が玹介されたす。10 月 31 日の時点では、申し蟌みの受付はただ始たっおいたせん。 チヌムで出る堎合は、Participants タブで仲間を探せたす。チヌムは 3 人たでで、代衚者 1 人がチヌムずしお提出したす。 提出フォヌムの「Enter a Submission」は早めに開いお、䞋曞きをこために保存したす。締め切り埌は提出内容を線集できたせん。 䜜品の発想に迷ったら、 Kiroween 2025 の䜜品ギャラリヌ で昚幎の䜜品を芋られたす。登録ず提出は Kiroween 2026 の公匏ペヌゞ から行い、締め切りは日本時間 12 月 5 日土午前 7 時です。 著者に぀いお 皲田 倧陞 – いなりく AWS Japan で働く Kiro をこよなく愛す゜リュヌションアヌキテクト。普段は補造業のお客様を支揎しおいたす。その掻動の傍ら、最近は AI 駆動開発ラむフサむクル (AI-DLC) の日本のお客様ぞの垃教掻動もし぀぀、 Kiro のブログ などを執筆しおいたす。
本蚘事は 2026 幎 10 月 30 日に Kiro ブログで公開された「 Spec it safe: shift left and harden your specs with security requirements 」を翻蚳したものです。 SDD の広がりず、その死角 仕様駆動開発 (SDD) は、倧芏暡なチヌムの゜フトりェア開発のやり方を倉え぀぀ありたす。プロンプトだけに頌るのではなく仕様を曞き、それに沿っお AI コヌディング゚ヌゞェントに蚭蚈、タスク、実装を進めさせたす。本蚘事ではこの流れを Specify → Plan → Execute ず略しお曞きたす。ただし、ほずんどの 仕様に曞かれおいるのは、゜フトりェアが䜕をすべきか、぀たりナヌザヌが目にしお実際に䜿う機胜です。誀甚されたずきにどう耐えるかは曞かれおいたせん。機胜芁件は、もずもず動かせば正しさが分かりたす。ログむンが壊れおいれば、誰かが気づきたす。セキュリティ芁件はそうでないこずが倚く、むンゞェクションや認可の欠陥が開いたたたでも、アプリはすべおの機胜チェックに通るこずがありたす。倱敗するケヌスを誰も詊さないからです。そのため、仕様にセキュリティの制玄が欠けおいるず、゚ヌゞェントにはセキュリティを目暙に䜜り蟌み、繰り返し改善しおいく察象がありたせん。゚ヌゞェントはフレヌムワヌクの既定の動䜜に頌りたす。それで足りるこずもあれば穎が残るこずもあり、仕様にはどちらなのかを問う蚘述がありたせん。 このギャップを埋める方法は、より良いモデルを足すこずでも、最埌にセキュリティレビュヌを付け足すこずでもありたせん。䜜業を前倒ししお、自分で完党にコントロヌルできる局、぀たり仕様に移すこずです。仕様にセキュリティ䞊の矩務を曞けば、コヌディング゚ヌゞェントには䜜り蟌み、繰り返し改善しおいく具䜓的な目暙ができたす。コヌドができあがっおからレビュアヌが芋぀けるのを埅぀必芁はありたせん。これは、蚭蚈が固たっおからセキュリティを埌付けする考え方から、最初からセキュリティを前提に蚭蚈する考え方ぞの転換です。たいおいはアヌキテクチャにも良い効果がありたす。セキュリティ芁件を早い段階で曞いおおくず、よりすっきりした蚭蚈に぀ながるこずがありたす。埌から改修するのではなく芁件を前提に組み立おるので、芁件を満たすのが簡単になるからです。仕様の品質は、コヌドが 1 行も無いうちから䜜り蟌めたす。仕様のハヌドニング (specification hardening) は、そのために蚭蚈したした。 仕様のハヌドニングのご玹介 仕様をハヌドニングする Kiro Power を玹介したす。SDD のワヌクフロヌにステップを 1 ぀远加するプラグむンです。機胜芁件を曞き終えおから蚈画を始めるたでの間に、EARS 圢匏の芁件を読み、その曞き方から想定される脆匱性の皮類を指摘しお、远跡ずテストができるセキュリティ䞊の矩務を提案したす。提案は、CWE の脆匱性タむプを再利甚できるセキュリティ䞊の矩務に察応付けた、厳遞したラむブラリから䜜られたす。そのため、仕様のハヌドニングの提案はモデルの掚枬ではなく、既知の脆匱性に基づいおいたす。提案が的倖れにならないのは、芁件そのものから導くからです。仕様のハヌドニングが矩務を提案するのは、ナヌザヌ入力、認蚌、デヌタの扱いなど、最初の曞き方がその矩務で察凊する脆匱性を瀺しおいるずきだけです。そのため、アプリケヌションが実際に行うこずに合った制玄だけが提瀺されたす。セキュリティは埌のコヌドレビュヌではなく仕様そのものに入りたす。それでも、埌段にセキュリティレビュヌのステップを入れるこずを匷くお勧めしたす。 図 1: spec のハヌドニングは、Kiro の Specify → Plan → Execute の流れに、コヌドを曞く前の早い段階の管理ポむントずしお、ハヌドニングのステップを 1 ぀挿入したす。 仕様のハヌドニングは 䞊流の管理ポむントであり、実行時のセキュリティ境界ではありたせん。 よくある脆匱性タむプが抜け萜ちる可胜性を枛らし、セキュリティの意図を明瀺的で、远跡でき、テストできる圢にしたす。生成されたコヌドを怜蚌したり、脆匱性が無いこずを蚌明したりはしたせん。SAST、DAST、䟝存関係のスキャン、人によるレビュヌの代わりにもなりたせん。 仕様のハヌドニングが察象ずするもの 芁件ずしお衚珟でき、か぀ EARS の曞き方から怜出できる脆匱性タむプです。むンゞェクション、認蚌の欠劂、匱い認蚌情報の保存、゚ンコヌドされおいない出力、そしおこれらに類する抜け挏れが圓おはたりたす。 仕様のハヌドニングが察象ずしないもの デヌタフロヌやコヌドレベルの解析が必芁な脆匱性、字句䞊の手がかりが無い認可の抜け、実行環境、むンフラストラクチャ、䟝存関係に関するものすべおです。これらには匕き続き、人のレビュアヌず埌段のツヌルが必芁です。 仕様ハヌドニング゚ンゞンの䞭栞CWE から仕様ぞの察応付けラむブラリ すべおの脆匱性を仕様で盎せるわけではありたせん。倚くはアヌキテクチャに起因するか、コヌドでしか芋えたせん。しかし、 芁件ずしお衚珟できる CWE クラスを遞んで、再利甚できるセキュリティ䞊の矩務に察応付けるこずはできたす。 この矩務を正しく実装しお怜蚌すれば、それぞれの脆匱性のよくある圢を緩和できたす。仕様のハヌドニングは、この察応付けを決定的に動く TypeScript のラむブラリず CLI ずしお提䟛しおいるので、どの制玄も再珟できたす。 CWE 脆匱性 トリガヌ条件 必芁な EARS 制玄 CWE-89 SQL むンゞェクション 芁件が倖郚入力を䜿っおデヌタベヌスを照䌚する すべおのク゚リをパラメヌタ化ク゚リ / プリペアドステヌトメントだけで実行し、文字列の連結は決しお䜿わない。 CWE-862 認可の欠劂 プリンシパルが所有するリ゜ヌスを返す、たたは倉曎する 芁求元のプリンシパルがリ゜ヌスを所有しおいるか、明瀺的な蚱可を持っおいるこずを確認する。 CWE-306 認蚌の欠劂 ゚ンドポむントやリ゜ヌスを公開する 凊理の前に、有効な認蚌枈みセッションたたは眲名付きトヌクンを必須にする。 CWE-79 クロスサむトスクリプティング ナヌザヌが入力したコンテンツをブラりザで衚瀺する すべおの出力をコンテキストに応じお゚ンコヌドし、倚局防埡ずしお Content Security Policy ヘッダヌを远加する。 CWE-522 䞍十分な認蚌情報の保護 パスワヌドを保存たたは怜蚌する 匷力な適応型関数でパスワヌドをハッシュ化する (平文や元に戻せる圢匏は決しお䜿わない)。 CWE-434 無制限のファむルアップロヌド ファむルのアップロヌドを受け付ける マゞックバむトを MIME の蚱可リストず照合し、サむズに䞊限を蚭け、Web ルヌトの倖に保存する。 CWE-639 IDOR / BOLA 呌び出し元が指定した識別子でオブゞェクトを取埗する 返す前に、オブゞェクトを所有するテナントが認蚌枈みの呌び出し元ず䞀臎するこずを確認する。 ラむブラリには、 8 ぀のセキュリティ領域にわたる 60 の CWE の察応付け が含たれおいたす (むンゞェクション、認蚌、認可、デヌタの露出、暗号、入力の怜蚌、セキュリティの蚭定ミス、ビゞネスロゞック)。脆匱性は MITRE の Common Weakness Enumeration (CWE) から取っおいたす。どれを遞ぶかず怜出パタヌンは、䞻に OWASP Top 10:2021 ず Amazon Q Developer Detector Library (旧 CodeGuru) をもずにしおいたす。各察応付けには、OWASP のカテゎリヌず、人が割り圓おた深刻床が付いおいたす。衚の制玄は代衚的な䟋を蚀い換えたもので、どのアヌキテクチャにもそのたた䜿える完党な察策ではありたせん。 ゚ンゞンの仕組み 仕様のハヌドニングは、芁件ファむルごずに 3 段階のパむプラむンを実行したす。゚ンゞンの動䜜は決定的です。ツヌルのバヌゞョン、察応付け、オプション、ハヌドニング前の入力が同じなら、同じ仕様には垞に同じハヌドニングが斜されたす。その埌に続く゚ヌゞェントの意味的なレビュヌ (図 2) は決定的ではありたせん。 1. トリガヌの怜出 ゚ンゞンは、2 皮類の字句䞊のシグナルを䜿っお、各芁件を 60 の CWE の察応付けず照合したす。郚分文字列のキヌワヌド (「database」「upload」「session」) ず、正芏衚珟のパタヌンです。ヒットを組み合わせお䞊限のあるスコアにし、スコアがしきい倀 (既定は 0.3) を超えた CWE に印を付けたす。照合は意味ではなく字句に基づくので、曞き方に明瀺されおいない脆匱性は芋逃すこずがありたす。 2. カバレッゞの確認 ゚ンゞンは、印を付けた CWE ごずに、必芁な基本芁玠がすでに仕様に曞かれおいるかを確認したす。たずえば、パラメヌタ化ク゚リの条項、所有者の確認、出力の゚ンコヌドです。提案が䜜られるのは、ただ察応されおいない抜けだけです。確認はファむル党䜓を察象に字句で行うので、ある芁件に曞かれた察策によっお、別の芁件ぞの提案が出なくなるこずがありたす。 3. 制玄の提案 ゚ンゞンは凊理を止めるのではなく、足りない制玄を EARS の項目ずしお 1 ぀ず぀挿入したす。プレヌスホルダヌは、可胜なら元の芁件の蚀葉で埋め、できないずきは䞀般的な蚀い方 (「a user」「the resource」) にしたす。挿入した各行には提案 ID ず [SECURITY: 
] タグが付くので、䜜成者は倉曎を差分ずしおレビュヌできたす。耇数の察策を重ねる察応付けもありたす。CWE-89 では、パラメヌタ化ク゚リの条項ず入力の怜蚌の条項の䞡方が远加されたす。プログラムから䜿う API は、各制玄の CWE、優先床、根拠をたずめた構造化レポヌトを返したす。CLI は制玄をファむルに盎接曞き蟌み、このレポヌトは保存したせん。 仕様のハヌドニングが読むのは仕様だけで、コヌドは読みたせん。芁件の文面が瀺す、CWE に由来する制玄を提案し、䜜成者がそれを実際に動いおいるシステムず照らし合わせお確かめたす。こうした䞍倉条件を明瀺しおおくず、守り続けるこずもテストするこずも容易になりたす。 図 2: ゚ンドツヌ゚ンドのワヌクフロヌ。゚ンゞン (玫) は各芁件を 60 の CWE の察応付けず照合し、足りない制玄を EARS の [SECURITY:] 項目ずしお曞き蟌みたす。゚ヌゞェントの意味的なレビュヌ (オレンゞ) は、認可に関する匱いヒットを確認し、確認できた抜けごずにその分野に合った制玄を远加したす。仕様が倉わったら、同じファむルで゚ンゞンを再実行するず、新しい芁件ず倉曎された芁件だけがハヌドニングされたす。どの芁件をレビュヌ枈みかは、レビュヌマヌカヌで゚ンゞンに䌝わりたす (点線のルヌプ)。 具䜓䟋患者蚘録の怜玢 これがなぜ重芁かを理解するいちばん簡単な方法は、同じ機胜を 2 回リリヌスしおみるこずです。1 回目は機胜だけを曞いた仕様から、2 回目は仕様ハヌドニング゚ンゞンでハヌドニングした仕様からです。あるデゞタルヘルスのスタヌトアップが、医垫が患者名で蚺療蚘録を怜玢できる患者ポヌタルを䜜っおいたす。プロダクトマネヌゞャヌは、倚くの人が曞くであろう芁件を曞きたす。 芁件最䜎限の機胜だけで、セキュリティには觊れおいない (EARS、むベント駆動) WHEN a physician searches for clinical notes by patient name, THE SYSTEM SHALL return all matching clinical notes from the records database. 䞀芋するず完党に芋えたすが、 最䜎限の機胜 しか曞かれおいたせん。どう䞀臎させるか、ペヌゞング、結果が空のずき、どのフィヌルドを返しおよいか、誰が実行できるかに぀いおは䜕も曞かれおいたせん。コヌディング゚ヌゞェントは、次のような Express.js の゚ンドポむントを生成するかもしれたせん (説明甚の疑䌌コヌド)。 明瀺的なセキュリティの制玄が無い堎合 (説明甚の疑䌌コヌド) // Agent-generated code from the security-silent spec app.get('/clinical-notes/search', async (req, res) => { const { patientName } = req.query; const notes = await db.query( `SELECT * FROM clinical_notes WHERE patient_name LIKE '%${patientName}%'` ); res.json(notes); }); ここには 2 ぀の脆匱性が埋め蟌たれおいたす。SQL 文に文字列を埋め蟌んでいる箇所は、教科曞どおりの CWE-89 (SQL むンゞェクション) です。 %' OR '1'='1' -- のような入力を䞎えるず、垞に真になる条件が远加されお残りがコメントアりトされ、すべおの行が返されたす (正確な構文はデヌタベヌスによっお異なりたす)。そしお、この゚ンドポむントには認蚌の確認がたったくありたせん。これは CWE-306 (Missing Authentication for Critical Function、重芁な機胜に察する認蚌の欠劂) です。3 ぀目のより根の深い問題、぀たり認蚌枈みの臚床医がすべおの患者の蚘録を芋およいのかずいう問題は、埌で取り䞊げたす。抜け萜ちは芁件の段階で起きおおり、実装も既定では防埡的になっおいたせんでした。 では、同じ芁件を仕様ハヌドニング゚ンゞンにかけおみたす。字句ベヌスの怜出噚は 2 ぀の脆匱性タむプ (CWE-89 SQL むンゞェクションず CWE-306 認蚌の欠劂) に印を付け、枝番付きの EARS 制玄を 7 ぀芁件に曞き戻したす。䞋に瀺すずおり、それぞれに远跡できる提案 ID ず [SECURITY: 
] タグが付きたす。3 ぀以䞊の芁件で提案された条項は、共通の ## Security Baseline (Cross-Cutting) セクションに 1 回だけ移されたす。これはヒュヌリスティックなので、差分で確かめおください。 レビュヌ埌に requirements.md に曞き戻された、仕様のハヌドニングの出力。゚ンゞンは 2 ぀の CWE にわたっお 7 ぀の矩務を远加したす。CWE-89 (パラメヌタ化ク゚リ) の 1.1〜1.2、CWE-89 (入力の怜蚌) の 1.3〜1.4、CWE-306 (認蚌) の 1.5〜1.7 です。続いおレビュヌの工皋 (Power では Kiro ゚ヌゞェントが、CLI では自分で行いたす) で、1.8 (デヌタの最小化、CWE-200) ず 1.9 (蚺療関係に基づく認可、CWE-862) を远加したす。ここでは代衚的な条項だけを瀺し、残りは省略しおいたす。プログラムから䜿う API は、゚ンゞンが远加した各制玄の CWE、優先床、根拠をたずめた構造化レポヌトも返したす。CLI はこのレポヌトを保存したせん。 1. WHEN a physician searches for clinical notes by patient name, THE SYSTEM SHALL return all matching clinical notes from the records database. 1.1. SEC-REQUIREMENTS-REQ-1-EC-89-1-1 [SECURITY: parameterized-query] THE SYSTEM SHALL execute all database queries using parameterized statements or prepared statements only. 1.5. SEC-REQUIREMENTS-REQ-1-EC-306-1 [SECURITY: authentication-required] IF a request that the specification does not explicitly allow without authentication arrives without a valid authenticated session or signed token, THEN THE SYSTEM SHALL reject the request. 
 engine clauses 1.2–1.4 and 1.6–1.7 omitted for brevity. 1.8. SEC-REQUIREMENTS-REQ-1-SEM-200-1 [SECURITY: data-minimization] THE SYSTEM SHALL return only the patient name, note date and summary fields of each matching clinical note. 1.9. SEC-REQUIREMENTS-REQ-1-SEM-862-1 [SECURITY: ownership-verification] THE SYSTEM SHALL return clinical notes only for patients with whom the requesting physician has an active care relationship. ID は次のように読みたす。 SEC-REQUIREMENTS-REQ-1-EC-89-1-1 は巊から順に、 SEC (セキュリティの制玄)、 REQUIREMENTS-REQ-1 ( requirements.md の 1 ぀目の芁件。「Requirement N」ずいう芋出しのある仕様では、Requirement 1 の基準 1 を衚す REQ-1.1 になりたす)、 EC-89-1 (CWE-89 の察応付けにある 1 ぀目の EARS 制玄テンプレヌト) を衚したす。末尟の 1 は条項の番号で、1 ぀のテンプレヌトが耇数の EARS の行に展開されるずきだけ付きたす。条項が 1 ぀だけの EC-306-1 に末尟の番号が無いのはこのためです。レビュヌで远加した条項では、 EC の代わりに SEM を䜿いたす (䟋 SEM-862-1 )。 開発者はハヌドニングされた仕様の差分をレビュヌし、条項ごずに刀断したす。゚ンゞンの条項はむンゞェクションず認蚌をカバヌしおいたすが、返すフィヌルドを絞るべきだず瀺す蚀葉は芁件に無かったので、レビュヌで 1.8 を远加したす ( --semantic-all を付けお実行するず、CWE-200 も候補ずしお衚瀺されたす)。仕様に問題が無ければ、゚ヌゞェントはそこからコヌドを生成し、掚枬ではなく明瀺された矩務に沿っお䜜りたす。次の実装候補は、フェむルクロヌズの 401 で゚ンドポむントを保護し (1.5〜1.7)、怜玢語を怜蚌し (1.3)、明瀺的な LIKE の゚スケヌプを付けおパラメヌタずしおバむンドし (1.1〜1.2)、1.8 が挙げたフィヌルドだけを返したす。 適合性を確かめるための䞋曞きパラメヌタ化ク゚リ (1.1〜1.2)、入力の怜蚌 (1.3)、認蚌 (1.5〜1.7)、デヌタの最小化 (1.8) の条項を満たしおいたすが、ただ実際の患者デヌタに䜿えるほど安党ではありたせん。1.9 をただ守っおいないからです。 // Implementation candidate for the security clauses above. authenticate, req.user, // and the schema are application-specific placeholders; still NOT object-level authorized (1.9). app.get('/clinical-notes/search', authenticate, async (req, res) => { // 1.5–1.7: fail closed if the request is not authenticated; return no data if (!req.user) return res.status(401).end(); const raw = String(req.query.patientName ?? '').trim(); // 1.3: reject blank or too-short terms so an empty search cannot match every row if (raw.length < 2) return res.status(400).end(); // 1.1–1.2: parameterized query; escape LIKE metacharacters incl. the // escape char itself, with an explicit ESCAPE clause const term = `%${raw.replace(/[\\%_]/g, c => '\\' + c)}%`; // 1.8: return only the fields the requirement names (data-minimization) const notes = await db.query( `SELECT patient_name, note_date, summary FROM clinical_notes WHERE patient_name ILIKE $1 ESCAPE '\\' ORDER BY note_date DESC`, [term]); res.status(200).json(notes.rows); }); 同じくらい重芁なのは、ツヌルが印を付けたのに曞き蟌たなかったものです。認蚌枈みの医垫なら誰でも、どの患者の蚘録でも読めおしたいたす。蚺療関係の確認が無いからです。これは認可の確認の欠劂 (CWE-862) ですが、スコアがしきい倀を䞋回っおいたす。ツヌルはこれを曞き蟌む代わりに、レビュアヌが確かめるべき意味䞊の候補ずしお瀺したす。Kiro Power でぱヌゞェントが、CLI では自分がレビュアヌです。確認された抜けは、その分野に合わせた条項 1.9「芁求しおいる医垫ず有効な蚺療関係にある患者の蚺療蚘録だけを返す」になりたす。するずク゚リは、認可の範囲に絞られたものになりたす。 認可の範囲に絞ったク゚リパラメヌタ化された認蚌枈みの読み取りに、レビュヌで远加した蚺療関係の条件 (1.9、CWE-862) を加えおいたす。必芁な ILIKE の動䜜をする PostgreSQL のロケヌルず照合順序を前提にしおいたす。スキヌマずポリシヌは説明甚です。 // Authorization-scoped query (1.9): parameterized, authenticated read plus the review-added CWE-862 // care-relationship constraint. Schema and policy are illustrative. EXISTS enforces // an ACTIVE relationship without duplicating notes when several rows match. const notes = await db.query( `SELECT cn.patient_name, cn.note_date, cn.summary FROM clinical_notes cn WHERE cn.patient_name ILIKE $2 ESCAPE '\\' AND EXISTS ( SELECT 1 FROM care_relationships cr WHERE cr.patient_id = cn.patient_id AND cr.physician_id = $1 AND cr.status = 'active') ORDER BY cn.note_date DESC`, [req.user.physicianId, term]); この䟋では、決定的なハヌドニングによっお、2 ぀の CWE にわたる 7 ぀の矩務が明らかになりたした。デヌタの最小化のルヌルず、その分野に固有の認可のルヌルは、やはりレビュヌから生たれおいたす。 仕様のハヌドニングはセキュリティの刀断を補うものであり、眮き換えるものではありたせん。 実行方法 仕様のハヌドニングは Kiro Power ずしおパッケヌゞ化されおおり、 GitHub の sample-kiro-spec-security-hardening リポゞトリ で入手できたす。実行方法は 2 ぀ありたす。 Kiro Power から実行する。 機胜芁件が固たったら、Kiro に「harden my specs」ず頌みたす。 harden-spec スキルは次のこずを行いたす。 同梱の゚ンゞンを芋぀け、初回の利甚時にビルドしたす。 .kiro/specs/*/requirements.md に察しお゚ンゞンを実行したす。 キヌワヌドの照合では芋えない認可の確認の欠劂に぀いお、意味的なレビュヌを行いたす。 远加した制玄ず、泚意が必芁な譊告をたずめお報告したす。 CLI から実行する。 cwe-to-spec-mapping-library/ で npm install を 1 回実行しおビルドしたす。その埌、コンパむル枈みの CLI に spec ファむルか specs ディレクトリを絶察パスで指定したす。 node dist/cli/harden-requirements.js /abs/path/to/.kiro/specs/ --semantic-candidates --semantic-candidates フラグを付けるず、認可に関する匱い䞀臎をレビュヌ甚に衚瀺したすが、ファむルには曞き蟌みたせん。 どちらの方法でも、 requirements.md をその堎で線集したす。そのため、ハヌドニングをバヌゞョン管理ずコヌドレビュヌの流れに組み蟌めたす。゚ンゞンは行を远加するだけで、芁件を倉曎、分割、䞊べ替えするこずはありたせん。厳密な EARS になっおいない芁件は、曞き換えずに報告したす。git の差分は必ずレビュヌしおください。再実行では差分だけを凊理したす。隠れたレビュヌマヌカヌにハヌドニング枈みの芁件が蚘録されおいるので、仕様のハヌドニングは新しい芁件ず倉曎された芁件だけをハヌドニングし、レビュアヌが削陀した制玄を再び提案するこずはありたせん。今ある仕様にそのたた実行しおください。ハヌドニング前のコピヌを取っおおく必芁はありたせん。 図 3: Kiro IDE にむンストヌルした仕様のハヌドニングの Power。 図 4: Kiro IDE で仕様のハヌドニングの Power を呌び出す。 図 5: ハヌドニングした芁件に察しお Requirements Analysis を実行する。 仕様のハヌドニングの䜿いどころグリヌンフィヌルド、ブラりンフィヌルド、モダナむれヌション 仕様のハヌドニングはコヌドではなく仕様に察しお働くので、同じハヌドニングのステップを 3 皮類の䜜業に組み蟌めたす。違うのは、芁件がどこから来るかず、仕様のハヌドニングをい぀実行するかだけです。 グリヌンフィヌルド (新芏プロゞェクト)。 ハヌドニングは、コヌドを曞く前の仕様のワヌクフロヌの 1 ステップずしお実行したす。EARS の芁件を受け取った仕様のハヌドニングが、足りない [SECURITY: 
] の制玄を远加し、゚ヌゞェントはハヌドニングされた仕様に沿っお実装したす。セキュリティの意図は、埌から付け足されるのではなく、最初のコミットから仕様に入っおいたす。 ブラりンフィヌルド (既存のコヌド)。 芁件を远加たたは倉曎したら、既存の仕様に察しお仕様のハヌドニングを再実行したす。新しい芁件ず倉曎された芁件だけがハヌドニングされ、レビュヌ枈みの芁件はそのたた残りたす。远加された SEC- の制玄は、機胜の䜜業ず䞊んでレビュヌできる差分ずしお珟れるので、倉曎は修正した郚分だけに収たりたす。仕様のハヌドニングが読むのはコヌドではなく仕様なので、提案された矩務が既存のシステムの実際の動䜜ず合っおいるかを 1 ぀ず぀確かめおください。食い違っおいれば、コヌドの抜けか、合わせお調敎すべき制玄が芋぀かったこずになりたす。 仕様駆動のモダナむれヌション (レガシヌの曞き盎し)。 たずレガシヌシステムから芁件を取り出しお EARS の仕様にしたす。たずえば AWS Transform を䜿いたす。続いお、再実装の前に、取り出した芁件を仕様のハヌドニングでたずめおハヌドニングしたす。モダナむズしたシステムは、元の抜けを匕き継がず、明瀺的にハヌドニングされた仕様に沿っお䜜り盎されたす。 図 6: 3 皮類のプロゞェクトで仕様のハヌドニングを呌び出す堎所。ハヌドニングのステップ (オレンゞ) はどれも同じで、違うのは読み蟌む仕様の出どころだけです。 おわりに 仕様のハヌドニングは、比范的新しい分野ぞの最初の䞀歩です。仕様そのものを安党にし、それを䜿っおコヌディング゚ヌゞェントを蚭蚈段階から安党なコヌドぞ導く分野です。仕様は人も゚ヌゞェントも最初に扱う成果物なので、ここから始めるのが適切だず私たちは考えおいたす。ただし、仕様のハヌドニングは研究段階のプロトタむプであり、1 ぀の仮説です。このブログでは、仕様のレベルで察策を入れるこずの意矩を論じたした。 たた、仕様のハヌドニングぱヌゞェントから安党なコヌドを埗る唯䞀の方法ではなく、ほかの方法ず組み合わせたずきに最も効果を発揮したす。脅嚁モデリングは、キヌワヌドの照合では芋逃しうる蚭蚈レベルのリスクを捉えたす。Kiro の steering ファむルのように、゚ヌゞェントのコンテキストに入れたセキュアコヌディングのガむダンスは、曞かれる時点でコヌドを方向づけたす。安党な既定倀を持぀フレヌムワヌクは、ミスを皮類ごず取り陀きたす。埌段では、SAST、DAST、䟝存関係のスキャン、AI を掻甚したコヌドのセキュリティスキャン (AWS Continuum が提䟛するものなど)、セキュリティテスト、人によるレビュヌが、䜜られたものを匕き続き確認したす。仕様のハヌドニングは、意図が曞き留められる時点にもう 1 ぀の局を加えたす。 ハヌドニングされた仕様はリポゞトリに残るので、タスクを実行した埌も、それぞれの矩務の理由を監査できたす。チヌムで SDD を導入しおいるなら、完了の定矩 (definition of done) に仕様のセキュリティレビュヌを加えおください。゚ヌゞェントは最初からセキュリティを組み蟌めたすが、それには、セキュリティが䜕を意味するのかを私たちが䌝える必芁がありたす。 翻蚳者に぀いお 皲田 倧陞 – いなりく AWS Japan で働く Kiro をこよなく愛す゜リュヌションアヌキテクト。普段は補造業のお客様を支揎しおいたす。その掻動の傍ら、最近は AI 駆動開発ラむフサむクル (AI-DLC) の日本のお客様ぞの垃教掻動もし぀぀、 Kiro のブログ などを執筆しおいたす。
こんにちは。QAコンサルタントのテストのひろさんです。 本蚘事では、テスト進捗自䜓は順調なものの、珟堎の圹割にミスマッチが生じおいたプロゞェクトの改善事䟋を玹介したす。圓時テストPMだった私が、JSTQB AL-TM v3.0Jシラバスなどの知芋を掻甚し、どのように䜓制再構築ず再発防止に取り組んだのかをお䌝えしたす。 珟堎の運甚に課題を感じおいる方の気づきや、参考になれば幞いです。 察象プロゞェクトの抂芁 圓時のテストプロゞェクトの基本情報は以䞋の通りです。 テストレベル: システムテスト 期間: 2か月 テスト環境: オンサむト プロゞェクト蚈画: システムテストの埌に、機胜远加に察するシステムテストを蚈画 チヌム構成: PM私1名、テストリヌダヌTL1名、ビゞネスパヌトナヌBPリヌダヌ1名、BPテスタヌ3名 圹割分担: BPリヌダヌ: 日々の進捗報告TL宛、QA・タスクリストの曎新、ハンズオンでのテスト実斜。進捗フォヌマットやステヌタス管理手法はトレヌニング枈み。 BPテスタヌ: テスト実行党般。 TL: 進捗管理、探玢的テスト実斜、機胜远加のテスト蚭蚈、QA・タスクリストのチェックや回答。 PM: 耇数テストプロゞェクトの統括。 立ち䞊げ時、TLの業務負荷が朜圚的なリスクずしお芋受けられたした。しかし、以䞋の理由からそのような蚈画で進行するこずを決定したした。 システムテストの䞀次報告はBPリヌダヌが実斜するこず 機胜远加に䌎うテスト蚭蚈の芏暡が限定的であるこず 探玢的テストの工数や時期を調敎可胜であるこず 具䜓的には、最初の2週間は進捗管理ずQA察応に泚力し、3週間目から機胜远加のテスト蚭蚈および探玢的テストを開始するスケゞュヌルを蚭定したした。 進捗の裏偎に生じおいた問題 システムテスト開始埌、BPリヌダヌからは予定を前倒しで進めおいるず報告を受けおいたした。しかし、詳现を確認しおいくず以䞋の状況でした。 テスト進捗は専甚のツヌルで算出するのですが、私が改めお算出し盎した進捗数ず、実際に報告されおいる進捗数が異なっおいたした。たた、課題管理衚の内容ずTLから報告されおいる内容が䞀臎しおいなかったり、課題管理衚そのものに蚘茉が挏れおいる等の状況に気づきたした。 起きおいたこずをたずめるず以䞋の状況です。 実際の進捗数ず報告された進捗数の䞍䞀臎 タスク管理衚ず実際の䜜業状況のズレ、および蚘茉挏れ TLはBPリヌダヌぞ是正を䜕床か䟝頌したしたが改善されず、事実確認などの察応に远われるこずになりたす。結果ずしおTLの工数が圧迫され、予定しおいた機胜远加のテスト蚭蚈や探玢的テストに入れない状況が発生したした。 この時、珟堎では以䞋のような心理的・運甚的課題が生じおいたのです。 TLの心理: テスト蚭蚈も探玢テストも進たず、進捗もたずたらないずいう状況から、自身の評䟡ぞの懞念が生たれ、PMに盞談できず䞀人で抱え蟌んでいた。 BPリヌダヌの心理: 䞊手く進捗報告ができおいないずいう認識はあるものの、具䜓的な改善方法が芋出せず困惑しおいた。 双方ずもに悩んでいる状態でした。ここで少し私の考えを挟むず、悩むずは問題を認識しお詊行錯誀しおいるが出口が芋えない状態であり、考えるずはゎヌルが芋えおいお、そこに向かっおいく状態だず捉えおいたす。圓時の珟堎は、たさに前者の出口が芋えない状態に陥っおいたした。 さらに、この是正がうたくいかない日々が続いたこずで、テストリヌダヌずBPチヌムの間にも埐々に䞍穏な空気が流れ始め、コミュニケヌションが膠着する二次灜害も起き始めおいたした。 1. 捉え方の転換個人の問題ではなく構造の問題 この状況に盎面した際、私は起きおいる問題を個人の資質や特性に起因させないこずが重芁であるず考えたした。 䞀芋するず報告が䞍正確なリヌダヌ、抱え蟌んでしたうTLのスキル問題に芋えたすが、本質は違いたす。これは、珟堎の状況倉化に察しおプロゞェクトの初期枠組みが適合しなくなったこずによる構造的な問題であるず捉えたした。 ここでベヌスにしたのは、人を責めず、仕組みを改善するずいう方針です。曞籍「スクラム」などにある「プレむダヌを憎むな、ゲヌムを憎め」ずいう蚀葉の通り、個人を責めおも本質的な解決にはならないず私は考えおいたす。 JSTQB AL-TM v3.0J には、以䞋のような蚘述がありたす。 「テストチヌムは、プロゞェクト開始時に、必芁なスキルをすべお持っおいるずは限らない。完璧な人材がそろうずは限らないが、匷力なチヌムであれば、個人の長所ず短所のバランスを取るこずができる。」 最初から完璧な人材がそろうチヌムは難しいこずがあるため、個人のせいにせず、仕組みや圹割によっおバランスを取るずいう考え方から、システムテストの進行途䞭で以䞋のように圹割ず環境の再配眮を行いたした。 圹割の再定矩 BPリヌダヌ: 進捗報告・管理業務から䞀旊離し、ハンズオンテストの割り圓おを80%に増加。タスク管理の䞍備がスキルの問題なのか業務過倚によるものなのかを切り分けるずずもに、テスト実行の掚進に集䞭するようにしたした。残りの20%はPMやメンバヌずのコミュニケヌションに充おる割合に倉曎したした。 テストリヌダヌTL: テスト管理やBPチヌムずのコミュニケヌションをタスクから切り離し、本来のミッションである探玢的テストの実斜ず機胜远加のテスト蚭蚈」に専念できる工数を確保したした。 PM私: このシステムテストの進捗管理を巻き取りたした。BPリヌダヌずのコミュニケヌションは、時間を固定しお1日2回各10分の状況確認を実斜する運甚ぞ倉曎したした。 物理環境の倉曎座垭䜍眮の調敎 たた、TLずBPチヌムの間で関係性の悪化コミュニケヌションの膠着が芋られたため、オフィスの座垭配眮を倉曎しお物理的な距離を眮きたした。これにより、TLによるBPチヌムぞの现かな確認や介入を構造的に抑制し、TLもBPチヌムも自分たちのタスクに集䞭できる環境を敎備したした。 ガバナンスの再構築 正確な情報を把握するため、これたでチャットベヌスで枈たせおいた報告を「察面での同期」に切り替えたした。これは指瀺呜什を匷化するためではなく、事実ファクトず報告の同期を目的ずしたものです。情報の透明性を確保するこずで、プロゞェクトの正確な珟状がステヌクホルダヌやチヌム党䜓に共有される仕組みぞず倉曎したした。 2. 心理的安党性ず芏埋の䞡立1on1における察話 圹割倉曎ず䞊行しお、TLずの1on1を実斜したした。目的は、心理的安党性を確保した䞊で圹割倉曎の背景を玍埗しおもらい、機胜远加テスト蚭蚈、探玢的テストに集䞭しおもらうこずです。1on1では、特に以䞋の3぀の軞を意識しお察話を行いたした。 評䟡の切り分け安心感の醞成: 今回の介入はあくたで、䜓制䞊の刀断による圹割の倉曎であり、TL個人の評䟡を䞋げるものではないこずを明蚀したした。テスト期間䞭であり、最終的な品質やゎヌルに察する結果はただ出おいないためです。 ティヌチングの遞択: 通垞であれば自埋的な成長を促すコヌチングを採甚したすが、今回は玍期が迫る緊急時であったため、私のやり方を盎接䌝えるティヌチングぞず戊略的にシフトしたした。山本五十六の「やっおみせ、蚀っお聞かせ、させおみせ、ほめおやらねば、人は育たず」の方針のもず、䞊走しながらサポヌトしたした。 コミュニケヌションの原則アサヌション: 匷い蚀葉で行動を瞛るのではなく、仕組みで解決を図る姿勢アサヌションの原則を倧切にしたい旚をTLに䌝え、目線を合わせたした。 3. 再発防止根本原因の特定ず仕組みのアップデヌト プロゞェクト完了埌、次フェヌズである機胜远加テストに向けお、今回の問題の根本原因の特定ず仕組みのアップデヌトを行いたした。 根本原因正しいデヌタが報告に繋がらない集蚈・出力構造 そもそも、なぜ進捗報告ず実態の乖離が起きおいたのか。仕組みずしおExcel䞊で予定ず実瞟が10%以䞊乖離するずセルが赀字になるずいうアラヌトのルヌル自䜓は存圚しおおり、Excel内の関数やシステム偎の元デヌタも正垞でした。 しかし、最終的に算出されたデヌタを、報告甚にアりトプットするテキスト化する段階で人為的なミスが発生しおいたこずが根本原因でした。 圓時の集蚈・報告フロヌは以䞋の通りです。 テスト管理システムから正しい実瞟デヌタをCSVでダりンロヌドする 集蚈甚のExcelぞコピヌペヌストするExcel䞊の関数・アラヌト自䜓は正垞に機胜 Excelで算出された数倀を、手䜜業で報告甚のテキストに曞き起こすここで転蚘ミスが発生 最終的な報告テキストを䜜成するたでに手䜜業のプロセスが倚く、結果ずしおExcel䞊ではアラヌト赀字が出おいおも、報告段階でそれが消えおしたうずいう、人為的ミスを誘発しやすい構造になっおいたした。BPリヌダヌ個人を責めるのではなく、ミスが起きる構造を倉える必芁がありたした。 察策集蚈・出力の自動化 手䜜業によるリスクを排陀するため、CSVダりンロヌド埌のデヌタ集玄から、Excelでの集蚈、そしお最終的な「報告甚テキストの出力」たでをワンクリックで行うVBAマクロを導入したした。 これにより、デヌタの信頌性を担保した䞊で、PMやステヌクホルダヌが日々のモニタリングで客芳的な事実定量デヌタをそのたた受け取り、早期に異垞アラヌトを怜知できる仕組みぞずアップデヌトしたした。 4. 再発防止の効果定量的・定性的アプロヌチ アップデヌトした仕組みの効果を珟堎の感芚で終わらせないために、JSTQB AL-TM v3.0Jのシラバスに蚘されおいる以䞋の栌蚀を指針ずしたした。 「マネゞメントには『枬定できるものは達成できる』ずいう栌蚀がある。同様に、枬定されないものは、無芖されやすいので、達成されるこずはないだろう。したがっお、テストを含め、どのような取り組みに察しおも、適切なメトリクスを確立するこずが重芁である。」 この考えに基づき、定量的なメトリクス評䟡ず定性的なアプロヌチ心理的安党性の確保の䞡面から効果を枬定したした。 ① 定量的なアプロヌチ プロゞェクトメトリクス: テスト実行数、実行率、ステヌタスOK/NG/Blockの掚移。自動集蚈化により、10%の乖離アラヌトが正しく機胜するようになり、進捗の透明性が確保された。 プロダクトメトリクス: BPリヌダヌのテスト比率を䞊げたこずによる進捗の加速、TLの探玢的テストによる、欠陥怜出数ず修正数の掚移。想定しおいた蚈画倀ず実瞟を比范するこずで、品質リスクの䜎枛に繋がった。 プロセスメトリクス: 集蚈䜜業工数そのものが削枛されたこずによる盞乗効果で、チヌム党䜓の生産性が向䞊した。 ② 定性的なアプロヌチ1on1による内面サポヌト 䞀方で、数字には衚すこずが出来ないメンバヌの悩みや心理的状況は、定性的にしか捉えるこずができたせん。ここでは1on1などの盎接的な察話によるサポヌトが䞍可欠です。 ちなみに、JSTQB AL-TM v3.0Jのシラバスには「方法論的、瀟䌚的、個人の胜力はテストに特化したものではないため、専門的胜力の開発に重点を眮く」ずいった旚も述べられおいたす。぀たり、1on1やアサヌティブなコミュニケヌションずいったスキルもたた、マネゞメント知識ずしお意識的な習埗やトレヌニングが必芁な領域です。トレヌニングや考え方などに぀いおは「ダフヌの1on1」「成長マむンドセット」などの曞籍を参考にしおいたす。 1on1を継続した結果、TLが問題を䞀人で抱え蟌たずに早めのアラヌトを出せる関係性が構築され、BPリヌダヌも䜕に困っおいるかを玠盎に共有しおくれる環境ぞず倉化したした。 おわりに 今回の取り組みを通じお、デヌタの信頌性ずアラヌトの定量化、心理的安党性の確保によっお、仕事の偎面ず人の偎面をマネゞメントするこずの重芁さを実感したした。 人が間違えるのは、仕組みに問題があるず捉えお、倉化の激しいテストプロゞェクトを蚈画したゎヌルぞ導くこずが、マネゞメントの本質ではないでしょうか。 この蚘事が、珟堎の䜓制構築や運甚に悩む゚ンゞニア・マネヌゞャヌの皆さたにずっお、少しでも新しい芖点や気づきのきっかけになれば幞いです。 最埌たでお読みいただき、ありがずうございたした。 参考文献 JSTQB JSTQB-Syllabus.Advanced_TM_VersionV3.0.J02 スクラム 仕事が4倍速くなる䞖界暙準のチヌム戊術ゞェフサザヌランド 著、石垣 賀子 蚳 ダフヌの1on1 郚䞋を成長させるコミュニケヌションの技法本間 浩茔 著 成長マむンドセット 心のブレヌキの倖し方吉田 行宏 著 The post 心理的安党性ずガバナンスを䞡立させるテストチヌムの改善事䟋 first appeared on Sqripts .

動画

曞籍