この記事は何
僕はプロダクトマネジメントもやっている都合上、Issueを作成することが多いです。
Issueを作成する上で僕が普段気をつけている「Why」を書くことについて紹介します。
Issueとはそもそも何か
Issueとは、ソフトウェア開発における問題点や改善すべき箇所を指し示すための報告書です。
これは、開発者が問題を理解し、適切な対策を立てるための重要な情報源となります。
Issueには僕はいつも以下のような情報を含めるようにしています。
- Why(今回の主題)
- なぜこれに取り組むのか
- What
- 具体的な仕様
- TODO
- 実装すべき機能や修正点
Whyをなぜ書くのか
前項のように、僕はIssueにはまずWhyを書きます。特にWhyは丁寧に書くことが多いです。
Whyを丁寧に書く理由は、「Issueに取り組む理由は不変なため」です。
開発現場ではよく起こることだと思いますが、ユーザーに提供したい機能や実装方針などは、進めていく中で変わることが多いです。
これは実際にかかる工数や外部要因などで状況が変わったなど、さまざま理由があると思います。
しかし、そのIssueに取り組む根本的な理由、つまり「Why」は基本的には変わりません。
開発とは基本的に「何かしらの目的を達成するため」に行われるものです。
その目的自体は、少なくとも取り組んでいる間は変化しないはずです。
逆にいうと、目的さえしっかりと定まっていれば、状況が変わったとしても、手段や開発方針を変えたとしても、結果的に得られる成果などは変わりません。
これはシステム開発における「不変なものに依存させていく」アプローチに通じるものだと考えています。