仕様が未確定な開発現場で、開発者はどこまで判断すべきでしょうか?
解決したいこと
ソフトウェア開発において、仕様が未確定な場合の意思決定や、開発者とPM・PLなどの役割分担について、実務経験者の方々の考えを伺いたいです。
開発では、実装や検証を進める中で新たな課題が見つかり、仕様の確認や作業範囲の見直しが必要になることがあると思います。
そのような場合、開発者は技術的な調査や改善案の提示を行う一方で、仕様・優先順位・完成条件などについて、どこまで自ら判断することが求められるのでしょうか。
また、判断する権限と、開発成果に対する責任を、チーム内でどのように分担するのが適切なのかを知りたいと考えています。
発生している問題・エラー
特定のプログラムエラーについての質問ではありません。
一般的な開発工程における、次のような場面を想定しています。
- 仕様の未確定:要件や仕様が明確でない場合、誰が最終的な意思決定を行うのか
- 想定外の技術的課題:追加調査や修正が必要になった際、どの範囲まで対応するかを誰が決めるのか
- 完成条件の設定:実装・検証をどの段階で完了と判断するのか
- 進捗・工数管理:仕様確認や追加調査で工数が増えた場合、どのようにスケジュールや担当範囲を調整するのか
該当するソースコード
特定のソースコードに関する質問ではないため、省略します。
自分で試したこと
開発者の役割として、技術的な調査、実装方法の検討、改善案の提示などが重要だと考えています。
また、開発手法やチーム体制によって、仕様の決定方法や権限の分担が異なることも理解しています。
一方で、技術的な判断と、プロジェクト全体に影響する意思決定は、必ずしも同じではないと考えています。
そこで、実際の開発現場ではどのように運用されているのか、次の点についてお聞きしたいです。
- 仕様が未確定な場合、誰が最終的な判断を行っていますか?
- PM・PLなどの判断を待つ間、開発者はどのように作業を進めていますか?
- 調査や検証の終了条件は、どのように設定していますか?
- 追加調査や仕様変更による工数増加は、どのように管理・調整していますか?
- 仕様決定の権限と開発成果に対する責任は、どのように分担していますか?
開発者・テックリード・PM・PLなど、それぞれの立場から、実際の運用方法や判断基準について教えていただけますと幸いです。