今回もChatGPTが出してきたお題の一つである設計に関して、現場でよくある話題として取り上げてみました。なかなかお話しすることが難しいなと思いながらまとめてみましたが、どなたかの参考になれば幸いです。
なお、本記事は以下Youtubeチャンネルの内容をもとに、Geminiに動画の内容をまとめてもらったことを記載しています。
現場でよくある議論
現場では、どの設計が良いか決まらない、あるいは要求が整理された段階で「この設計が良いだろう」という議論がよくあります [
「正しい」設計という考え方
「正しい設計」という議論はよく起こります [
しかし、設計は「正しい」「正しくない」という二元論で考えるべきではありません [
ある程度の規模のソフトウェアでは、アーキテクチャが与える影響は大きいため、要求や要件、アーキテクチャドライバーを明確にした上で選択肢を検討するべきです [
解説
背景として、チームでの議論の中で「この設計が正しい」と思い込んでしまう状況があります [
問題点
「正しい」設計に固執すると、チームやステークホルダーとの関係が悪化する可能性があります [
改善策
- 要件とアーキテクチャドライバーの特定: 設計が依存する要件やアーキテクチャドライバーを明確にし、関係者と合意を取ることが重要です [
]。09:28 - 学習: アーキテクチャの教科書などを参考に、関係者全体でアーキテクチャに関する理解を深めるための勉強会を実施します [
]。10:52 - 組織としての改善: 長期的には、組織全体でアーキテクチャに関する知識を共有し、プロセスを改善していく必要があります [
]。12:10
今すぐ試せるヒント
まとめ
「正しい」設計という考え方にとらわれず、要件に基づいて柔軟に設計を検討することが重要です。 チーム全体でアーキテクチャに関する知識を深め、コミュニケーションを密にすることで、より良い設計が可能になります。
↓ソフトウェア工学を学ぶ際に参考になる書籍をまとめています