こんにちは、365日鼻炎で鼻が詰まっているので臭いをあまり感じ取れない中村です。今回は「コードの臭い」と対比した「(開発)プロセスの臭い」というものを紹介します。「プロセスの臭い」という言葉は友人と話している時に出てきたもので、分かりやすい言葉だなと感じたので、ここで取り上げようと思います。
コードの臭い・プロセスの臭い
みなさんは、「コードの臭い」という言葉を聞いたことはありますでしょうか?コードの臭いとは、プログラムのソースコード上で何らかの問題が存在する兆候を表しており、Martin Fowlerの書籍「リファクタリング」で紹介されました。Martin Fowlerは、コードの臭いの特徴を以下のように説明しています。
- すぐに見つけられる——私の最近の表現だと’‘嗅ぎつけられる’
- 臭いが常に問題の兆候というわけではない
- 最良の臭いとは、簡単に見つかり、多くの場合は本当に面白い問題に出会うことができる
- 臭いに関するいいことの1つは、未熟な人でも見つけ出すのが簡単
この「コードの臭い」と同じようなものが、「プロセスの臭い」としてもあるのでは?というのを、以前友人と話したことがありました。「コードの臭い」の意味を知っている人ならば、同様の比喩としての「プロセスの臭い」も想像つきやすいのではないでしょうか?
良いコード・素晴らしいコードはケースバイケースで異なり、かつ一朝一夕にはそこに到達しないものです。一方、良くないコード・不吉な臭いのコードは、気づきさえすれば満場一致で怪しいと分かりやすく、内容によってはすぐに解決できるものもあります。
同様に、素晴らしいプロセスを最初から目指すのもありですが、臭いをもとに分かりやすいところから解決していくのも取っ掛かりとしては良いでしょう。
プロセスの臭いのサンプル
臭いのサンプルは、例えば以下のようなものが挙げられます。
名前 | 説明 |
多すぎるWIP | WIP(仕掛中の作業)が多い。リードタイムが長くなり価値提供が遅れる、作業に集中できていない、割り込みがさばけていないのかもしれない |
リーダーに報告 | デイリーミーティングで、リーダーやマネージャーなど、特定の人を向いて報告している。チームメンバーが他のメンバーの作業に関心が向いておらず、メンバー間のフォローが不十分かもしれない |
会議でお地蔵さん | 会議で発言しない。適切でない人が会議に参加している、会議の目的・アジェンダなどの準備不足があるかもしれない(参考:マイクロソフト澤氏のウイングアークフォーラム2017での講演) |
プロセスの臭いを見つける力を養う
以上のサンプルもそうですが、ある程度の前提知識がないと、不吉な臭いがただよう場面に遭遇しても何が良くないのかを感じ取れない恐れがあります。一見何も問題がないように見える場面からも不吉な臭いを見つけるには、以下のような取り組みが有効です。
- ベストプラクティスを学ぶ
- 外部の意見を取り入れる
1. について、例えばカンバンというソフトウェア開発のプロセスでは、「WIPを制限する」というプラクティスがあります。
私も以前はWIPを意識することは少なかったのですが、カンバンを学んでからはWIPが多すぎると何か怪しい兆候があるのでは?と考えられるようになりました。今では良い書籍やインターネット記事もありますし、経験者からより活きた知見を学ぶという方法もあります。
2. については、ずっと同じプロジェクト・チームにいると、慣れも含めて感覚が麻痺してきます。
そこに、第3者的な外部から見た人の意見を聞くことによって、現状を再度考えうるきっかけとなります。同様に、自らが普段とは違う環境に飛び込むことによって、現状との差分を考えるのも有効でしょう。例えば、コミュニティに参加したり、他チーム・他者の開発現場に足を運んで見学したりなどが考えられます。
今日は、「コードの臭い」と対比した「プロセスの臭い」という概念を紹介し、サンプルや臭いの見つけ方を紹介しました。
臭いのサンプルを数点あげましたが、これ以外にも色々あると思います。みなさんの周りにも“臭いの元になるモノ”はありませんか?もし「プロセスの臭い」のような思い当たる節がありましたらTwitterからお気軽にコメントください!
こちらもオススメ:
プロジェクト管理とは?目的や項目、管理手法について徹底解説! | Backlogブログ
プロジェクト管理の基本や主な項目を紹介。CCPMやWBSなどのプロジェクト管理の代表的な手法やプロジェクト管理全体の流れを解説。これからプロ…
backlog.com