転職用のポートフォリオとして、個人でWebアプリ「Hubpin」を作っています。
制作の経緯は「Hubpin 開発記録」に時系列でまとめています。
設計と判断は自分で行い、実装も原則自分で書いています。AIには手順書・レビュー・調査を任せています。
作りながら要件を変えてきたので、残っている工程の中身が実物とズレている気がしていました。
そこで、AIに、残りの工程表を全部コードと突き合わせてもらいました。
やらないと決めたのに残っていた項目や、もう終わっているのに残っていた項目は、いくつか出ました。
それは自分の工程表の管理の話なので、ここでは省きます。
書いておきたいのは、逆向きの1件です。
足りないものが出ました。
完了条件を全部やっても、画面には何も出ない
外部サービスから記事を取ってきて、カードとして並べる工程がありました。
完了条件は、自分でこう書いていました。
- テーブルを作る
- 3媒体から取得する
- 失敗時の検証をする
次の工程の手順書を書く段で、AIが実装を読み返して気づきました。
この3つを全部やっても、画面には何も出ない。
カードの表示は「リンク型か、それ以外か」の2分岐でした。
追加する「フィード型」はリンク型ではないので、URLを持っているのにリンクになりません。
ページ側にも、フィードのデータを読み込む記述がありませんでした。
データベースに保存しても、画面まで届きません。
さらに、別の工程で「3枚のカードがリンクとして機能すること」を条件にしていました。
これは、公開のあとに一時停止していた、トップページへの転送を戻す条件でもあります。
つまり、この工程を「完了」にしても、その次の条件を満たせない構造でした。
完了条件に「画面に出す」を足すと決め、見積を10時間から13時間に引き直しました。
完了条件を読み返すだけでは出なかった
この欠落は、完了条件を何度読み返しても出ませんでした。
3つの条件は、それぞれ単体では正しいからです。
出たのは、実装を読みに行ったときです。
「保存されたデータが、どの経路で画面に届くか」を追った瞬間に、経路が無いと分かりました。
完了条件は「やること」のリストになっていました。
「やった結果、何が見えるか」が入っていませんでした。
2回目だった
前の工程でも、同じ形を踏んでいます。
最初の段階を公開したとき、機能の完成条件と、外向きの入口を切り替える条件が別々に決まっていて、入口だけ先に切り替えてしまいました。
今回も、工程の完了条件と、次の工程が前提にしている状態が、別々に決まっていました。
つながりを見ていませんでした。
工程を閉じる前に、次の条件を1回見る
直したことは1つです。
工程の完了条件を書くとき、最後に「この工程が終わったら、画面で何が変わるか」を1行足す。
何も変わらないなら、その工程はまだ閉じられません。
チェックリストを全部埋めても、目的に届かないことがあります。
それに気づいたのは文書ではなく、実装を読み直した結果のほうでした。
突き合わせはAIに任せられますが、「何が見えるようになるか」を条件に入れるのは自分の仕事でした。
