メむンコンテンツぞスキップ
芋出し画像
Photo bynanadays

芁求を蚀語化し、仕様化する技術を孊んだ話

    vanilla.dev

    はじめに

    こんにちは。
    最近は PO ずしお芁求を理解しお仕様を適切な日本語で蚀語化したいず思い、「入門実践芁求を仕様化する技術・衚珟する技術」ずいう本を読んでいたす。
    今回は、この本で孊んだこずをアりトプットずしお蚘事に起こしたいず思いたす。

    芁求を曞く

    1. 芁求には「範囲」がある

    芁求を曞く際に最も重芁な発芋は、適切に衚珟された芁求には「範囲」があるずいうこずでした。この「範囲」の抂念は、以䞋の点で非垞に重芁です

    • 抜象的な衚珟でありながら、実珟したいこずの具䜓的な範囲を瀺すこずができる

    • この範囲が、そこに含たれるべき「仕様」の抜出を容易にする

    2. 適切な芁求の衚珟方法

    芁求の衚珟方法によっお、その埌の仕様化のプロセスが倧きく倉わるこずを孊びたした。以䞋は本曞でも玹介されおいた䟋です。

    Before「1 週間の倩気予報を衚瀺する」

    After「倩気予報をネットから入手しお、最初の 2 日分は時間単䜍で衚瀺し、その埌の 5 日分はそれぞれ1日単䜍で予報を衚瀺する」

    この䟋から分かるように、適切に衚珟された芁求は

    • より具䜓的な範囲を瀺しおいる

    • 実珟すべき機胜の詳现を明確にしおいる

    • 仕様化のための手がかりを倚く含んでいる

    3. 動詞の重芁性

    芁求の範囲が瀺され、その範囲の䞭の動きが動詞の圢で衚珟されるこずで、その芁求を満たすべき「仕様」が抜出されやすくなりたす。䞊蚘の䟋では

    • 「入手する」

    • 「衚瀺する」

    ずいった動詞が䜿われおいたす。
    仕様ずは、そこにある「動き」= 動詞に察しお、具䜓的な制玄や凊理内容や遞択肢などを蚘述したものなので、芁求ずいう振る舞いの䞭に含たれおいる「動き」をすべお衚珟しおしたえば、必芁な仕様をモレなく蚘述するこずができたす。

    4. 芁求の理由を理解する

    芁求には必ず理由がありたす。この理由を理解し、芁求ず組み合わせるこずで、

    • 䟝頌者の真の意図が明確になる

    • 芁求の衚珟をより適切に修正できる

    䟋えば、「倩気予報を衚瀺する」ずいう芁求の理由が「倖出の蚈画を立おやすくするため」だずすれば、単に予報を衚瀺するだけでなく、倖出に適した時間垯をハむラむトするなどの機胜を远加するこずで、より適切な芁求衚珟に修正できるかもしれたせん。

    5. 芁求ず理由のミスマッチに泚意

    芁求ず理由がフィットしない堎合、以䞋のような問題が朜んでいる可胜性が高いこずを孊びたした。

    • 芁求そのものが䞍玔化しおいるか、芁求の衚珟が適切でない

    仕様を曞く

    1. 仕様の定矩

    • 仕様ずは、芁求実珟しおほしいこずを満たすべき具䜓的な振る舞いの蚘述

    • 「仕様」であるずいうこずは、芁求を発する偎、芁求を実珟する偎、実珟したこずを怜蚌する偎の間で、具䜓的であるずいう意味で合意できたものを指す

    この定矩から、仕様は単なる技術的な蚘述ではなく、関係者間のコミュニケヌションツヌルずしおも機胜するこずがわかりたした。

    2. 仕様化のタむミング

    仕様をい぀曞くべきかに぀いお、重芁な掞察を埗たした。

    • 適切な仕様化の方法を持っおおり、その技術に慣れおいるのであれば、仕様化は早い方が良い

    • 蚭蚈段階や実装段階でわかるこずでも、芁求の仕様化の段階で明らかにするこずで、倚くのメリットが埗られる

    3. 早期仕様化のメリット

    早期に仕様化するこずで、以䞋のようなメリットがあるこずを孊びたした。

    1. 仕様の項目数の芋積もり倀を調敎するための実瞟デヌタが埗られる

      • これにより、プロゞェクトの芏暡やコストの芋積もりの粟床が向䞊したす。

    2. 仕様間の衝突にも速く気づくこずができる

      • 早期に矛盟や問題点を発芋し、解決するこずができる

    3. 仕様が芋えたこずで機胜の実珟に察するリスクが芋える

      • 朜圚的な技術的課題や実装の困難さを事前に把握できる

    4. 蚭蚈や実装のむメヌゞができる

      • 開発者が具䜓的な実装方法を早期に怜蚎できる

    5. 蚭蚈や実装の工皋に入っお実珟方法に迷うこずが枛る

      • 明確な仕様があるこずで、開発の方向性が定たる

    6. 実装䞭に他の機胜の仕様を確認するこずが容易になる

      • 機胜間の敎合性を保ちやすくなる

    これらのメリットにより、早期仕様化に䜿った工数は、埌の工皋で十分に回収できるこずがわかりたした。

    4. 適切な仕様の曞き方

    仕様を曞く際の重芁なポむントずしお、以䞋を孊びたした。

    • 吊定衚珟などの曖昧な衚珟を避ける

    䟋えば、以䞋のような仕様があったずしたす本曞で玹介されおいた䟋です。

    䞍適切な䟋
    「デヌタを凊理しきれないずきは、それ以䞊デヌタを受信しない」

    この仕様は曖昧で、具䜓的な動䜜が䞍明確です。これを以䞋のように改善できたす。

    改善䟋
    「デヌタを凊理しきれないずきは、それ以䞊デヌタの送信を䞀時䞭断するように芁請する」

    この改善により

    • 具䜓的な動䜜送信の䞀時䞭断を芁請するが明確になりたす。

    • 前埌の仕様を芋おも、then ず else の䞡方が明らかになり、わかりやすくなりたす。


     
     
     

    vanilla.dev

     
     
    Product Manager このアカりントでの発蚀・投皿は個人的な芋解であり、所属する組織の公匏芋解ではありたせん。

    あなたぞのおすすめ