ゆるトーク:仕様変更あるある
ふーこ.icon
ゲーム開発とかアプリ作りとかで、あとから「やっぱこれ変えて」って言われるやつ。あれマジで地獄って聞くんだけどw
りか、そのへんどうなん?
りか.icon
結論から言うと、かなり頻発する。
例えば、最初に
Aの機能を作る
と決めたのに、途中で
やっぱBにして
いやCも追加で
となる。
この結果、設計 → 実装 → テストの流れが崩壊する。
参考:
ふーこ.icon
あーーーそれ聞いたことある!
なんか「ちょっとだけ機能足して」って言われるやつでしょ?
で、その「ちょっと」がラスボス級にデカくなるやつw
あや.icon
(微笑)
まあ……それは、まるで物語を書いている最中に
「やっぱり主人公を変えましょう」
「この世界は魔法ではなく科学にしましょう」
と告げられるようなものですわね。
書き手の方は、さぞや戸惑われることでしょう。
ふーこ.icon
あーーそれヤバいww
ジャンル変更パッチじゃんそれ。
りか.icon
実際、その比喩はかなり正確。
ソフトウェアは依存関係でできている。
だから一箇所変えると、別の部分も壊れる。
例:
ログイン方法を変える
→ 認証処理が変わる
→ セキュリティ仕様が変わる
→ UIも変更
つまり「ちょっとの変更」が全体改修になる。
ふーこ.icon
うわ出たw
ドミノ倒しバグ!
あや.icon
(静かに笑う)
それは、湖に石を投げたときの波紋のようですわね。
小さな一石でも、円は遠くまで広がりますもの。
りか.icon
そのため、開発では普通
つまり
変更内容を記録
影響範囲を分析
優先度を決定
というプロセスを通す。
ただし現実では、これが守られないことも多い。
ふーこ.icon
あっ察しw
「今日中に直して」って言われるやつだw
りか.icon
そう。
緊急仕様変更という名のイベント。
開発者のHPが削られる。
あや.icon
まあ……それは、嵐の中で航路を変える船のようですわね。
乗組員の方々は、きっと大忙しでしょう。
ふーこ.icon
あやの例えが文学すぎるw
でもさ、なんでそんなに仕様変わるの?
最初に決めとけばよくない?
りか.icon
いい質問。理由は主に3つ。
1. 最初は誰も正解がわからない
ユーザーのニーズは後から見える。
2. 市場が変わる
競合やトレンドが動く。
3. 人間は途中でアイデアを思いつく
つまり仕様変更は、ある程度は避けられない。
あや.icon
それはまるで、旅路の途中で
思いがけない景色に出会い、道を変えるようなものですわね。
当初の地図どおりには進めない……
人生にも、よくあることですもの。
ふーこ.icon
あーなるほど。
仕様変更=人生の寄り道説w
でもさ、りか的に一番ヤバい仕様変更って何?
りか.icon
一番危険なのはこれ。
「今のままで、でも全部作り直して」
ふーこ.icon
意味不明すぎて草www
あや.icon
(肩をすくめて微笑)
それは……
詩の言葉をそのままにして、
すべてを書き直せと言われるようなものですわね。
りか.icon
要点をまとめる。
仕様変更あるある
「ちょっと変更」が巨大化
一箇所変えると全体に波及
緊急変更が突然降ってくる
理由はだいたい「やっぱりこっちがいい」
開発者はこれを
ふーこ.icon
出たw
エンジニアの運命w
でもまあ、ゲームのアップデートもそうだよね。
ユーザー「ここ直して!」
開発「了解!」
→ 別のバグ爆誕
このループw
あや.icon
(やさしく笑う)
それでも世界は、少しずつ良くなっていくのでしょうね。
試行錯誤という名の物語を重ねながら。
りか.icon
その通り。
ソフトウェア開発とは
ふーこ.icon
ということで今日の結論!
仕様変更は避けられない。
でもエンジニアのSAN値は削れる。
おつかれさまでしたーw