Upgrade to Pro — share decks privately, control downloads, hide ads and more …

あっ、これ 「Joel on Software」で やったところだ!

sawarabi
August 19, 2021

あっ、これ 「Joel on Software」で やったところだ!

https://rakus.connpass.com/event/218578/
おすすめの技術書 LT会 - vol.2 #itbookslt

で発表した内容です。

sawarabi

August 19, 2021
Tweet

More Decks by sawarabi

Other Decks in Programming

Transcript

  1. あっ、これ
    「Joel on Software」で
    やったところだ!
    おすすめの技術書 LT会 - vol.2
    2021/08/19

    View full-size slide

  2. 自己紹介
    名前:さわらび
    Twitter:@TSawarabi(質問などお気軽に!)
    職業:エンジニア(TL~PL、2~10人ほど)
    最近読んだ本:エンジニアのためのマネジメントキャリアパス
    最近見た映画:エヴァンゲリオン(序、破、Q、シン)
    最近ハマってるもの:アマプラのパーティ機能で映画鑑賞、おねがい朝倉さん

    View full-size slide

  3. 自己紹介(ストレングスファインダー)
    ギャラップ認定ストレングスコーチ
    Top10の内訳
    ● 戦略的思考力:5個
    ● 影響力:3個
    ● 人間関係構築力:2個
    実行力どこいった・・・(´・ω・`)
    (実行力:実行したい、完遂したい、という資質群)
    エニアグラムは Type 8w7(独立した人)

    View full-size slide

  4. 悩んでいた…

    View full-size slide

  5. 酒と食に溺れるくらい悩んでいた…

    View full-size slide

  6. 悩んでいたこと
    ベトナムとの仕様のやり取り
    - 言葉の違い
    - 文化の違い
    - 時間の違い(時差)
    - 場所の違い

    View full-size slide

  7. そこに現れた Joel on Software

    View full-size slide

  8. やさしい機能仕様:目次
    - パート1:なぜわざわざ書く必要があるのか
    - パート2:仕様書とはどんなものか
    - パート3:だけど……どうやって書くの?
    - パート4:ヒント
    (45あるTipsの1つ)

    View full-size slide

  9. やさしい機能仕様:概要
    - 機能仕様(ユーザの観点から製品がどのように動くか)
    - 注意書き
    - 作成者
    - シナリオ
    - 対象外
    - 概要
    - 詳細、詳細、詳細
    - 未解決の問題
    - ノート
    - 技術仕様(プログラムの内部の実装について記述する)

    View full-size slide

  10. やさしい機能仕様:シナリオ
    マイクは多忙な経営者である。彼は大企業の社長であり、その会社では全国チェーン店
    で販売されているダイナマイトを使った子供向け製品を…
    原因はマイクが今が何時何分なのか分からないことにある。そこでマイクは、秘書の薦
    めに従ってWhatTimeIsIt.comに入会した。今や彼は、時刻が知りたいときにはいつで
    も、WhatTimeIsIt.comにログオンしてユーザ名とパスワードを入力するだけで現在時
    刻を知ることができる。…
    4:45にもなると、「再読込」ボタンを繰り返し押し続けているというのが常だ。
    (Joel on Software P60, 61 から引用)

    View full-size slide

  11. 機能仕様
    1. Background(背景)
    2. Purpose(目的)
    3. Scope(範囲)
    4. Out of scope(範囲外)
    5. AsIs(現状)
    6. ToBe(ゴール)
    やさしい機能仕様、を元に作ってみた

    View full-size slide

  12. やさしい機能仕様、を元に作ってみた
    技術仕様
    1. Process flow(処理フロー)
    2. Data definition, relate DB(DB周り)
    3. Validation(バリデーション)
    4. Error case(エラー)
    5. 他に何か必要があれば、適宜
    (詳細は https://tech.sawa-lab.net/archives/305 )

    View full-size slide

  13. 結果は大成功!

    View full-size slide

  14. Joel on Software ってどんな本?
    - システム開発にまつわるTips集
    - Joel のブログが元ネタ
    - 今回紹介したのは「やさしい機能仕様 part 1-4」
    - 他にも面白いTipsが盛りだくさん
    「射撃しつつ前進」
    「ビックマック 対 裸のシェフ」
    「下っ端でも何かを成し遂げる方法」
    「Microsoft はいかにしてAPI戦争に負けたか」
    「すべてのソフトウェア開発者が絶対確実に知っていなければならない Unicodeとキャラクタセット
    に関する最低限のこと(言い訳なし!)」

    View full-size slide

  15. 結論
    たった1つ(正確には4つだけど)の
    Tipsだけでもこれだけ役に立つ
    じゃあそのTipsが45個もあったら…?

    View full-size slide

  16. 買うしかない!

    View full-size slide