masayuki5160's diary

滋賀県大津市に住むソフトウェアエンジニアの日常

プロジェクト初期のコミュニケーションでDFD(データフローダイアグラム)はじめて使ってみた

最近、久しぶりにあるプロジェクトでリード的な立場として関わることがあった。このところはプロジェクトの中心に入るというよりは、そこかしこで起きてる各プロジェクトの問題を都度都度解決しながらそれぞれのプロジェクトがうまくいくように支援することが多かった。だからプロジェクトの中心にいる、ということは少なかった(もちろんそれで良いと思ってそういう感じで仕事してる)。

さて、そんなわけではじめたプロジェクト。そのプロジェクトのゴールは比較的明確で、「どういうものを作ればいいか」というのがはじめからわかりやすかった。そのため、関係者とも早い段階で共通認識を持つことができて、スタート自体はスムーズだった。

ただ、すぐに難しそうだなと感じたのは、「どこから必要なデータを持ってくるか」という点だった。もう少し具体的に言うと、マイクロサービスで構成されているような環境の中で、

 

データがどこから来ているのか、

それを使っていいのか、

他のUIやページと整合性が取れているのか(利用者が混乱しないか)、

 

そういったことの確認に時間がかかりそうだと、早い段階で気づいた。

そこで、「データフローダイアグラム(DFD)を使ってみようかな」と思った。というのも、たまたま最近DFDに関する書籍を見かけたことを思い出したからだ。

 

 

自分はここ10年くらい、モバイルアプリ寄りの開発をリードすることが多く、こういったマイクロサービス環境におけるデータの流れを整理する、みたいな作業はあまり経験がなかった。だから、正直どうしようかなーと考えていたのだけど、課題は明確で、データというかデータの流れを把握する必要があるな、ということが重要だった。

そこでふと思い出したのがDFD。

一度kindleで買ったものを斜め読みしたものの、実際に使ってみたことはなかった。もう一度kindleで書籍を読み直し、

 

「今悩んでいることがうまいこと解決できそう」

 

と思い、物理本も購入。

じっくり読みつつ実際にプロジェクトで使い始めたところ関係者との議論も非常に円滑に進んだ。実際に使ってみての感想としては、思っていたよりもずっとシンプルで分かりやすいということが大きい。特にDFDに詳しくない人でも理解しやすい構成になっているのが良い。

 

そんなわけでプロジェクトはうまく進み(といってもまだ要件の整理と設計が形になり始めただけなのでこれから色々あるだろうけども)、なんとかなりそうでよかった、と思っていたところで、ふと少し前に話題になった以下書籍を思い出した。

 

 

読もう読もうと思って忘れていたのでノリで購入して読了。とてもよかった。

よかった点は色々あるが、テクニカルライティング、それもソフトウェアエンジニアリングの文脈における書き方に関することがまとまっている書籍というのは知っている限りはほぼなく、そういう意味で唯一の素晴らしい本だなと思った。

他にも細かい気づきは色々合ったんだけども、特にUMLについて触れている部分が印象に残った。以下書籍から抜粋。

 

 UMLは適切に用いることで非常に有用な表記法となり得る。しかし、受け手や図の目的が何であれ、UMLを常用すべきだという思い込みに陥ってしまう人も多い。UML(あるいは他の標準記法)を採用するか否かを決める際の重要なポイントは、図を書く目的や図の対象、想定する受け手を明確にすることだ。あなたが伝えたいことは何か、誰に伝えたいのか、そしてその相手はどの程度の知識を持っているのかを考慮しよう。

引用:開発者とアーキテクトのためのコミュニケーションガイド ―パターンで学ぶ情報伝達術

 

先人の知恵として、UMLが素晴らしいのは有用であるのは言うまでもなく、それは著者が最初の一文で言っている通り。

でも、UMLを利用するよう強いるのは違う。その辺を変に履き違えて不必要な議論や時間が取られるのって僕もちょいちょいみてきた。

とはいえそれらもケースバイケースで、必要な議論もあったと思う。バランスが難しいのだ。この辺の話は少し前に話題になったバランスおじさんの記事と近いように思う。

 

fujii-yuji.net

 

話を僕が最近してるプロジェクトの話題に戻す。

僕は今回、自分が感じている課題を解決するためにDFDを利用する選択をした。それはDFDが一番関係者に伝えたいことを伝え、関係者間での認識をそろえるために適切だと思ったから。さらに、DFDを知らない人にもその図が伝えたいことは伝わる表記法であることも大きかった。

すなわち、DFDという表記法を利用することを目的にしたのではなくて、情報の受け手、そして課題が解決するか、ということを大事にした。

担当しているプロジェクトはまだまだこれから佳境を迎えるわけだけども、走り出しは順調のように見えるので引き続き頑張ります。とても良い書籍に出会えたことでうまくいくような予感です。終わり。

 

f:id:masayuki5160:20251225093106j:image

↑記事と関係ない話。今年の我が家のクリスマスプロジェクトは無事終わり。クリスマスケーキどこで買うか非常に困ったのだけど、クリスマスパーティも終わり、プレゼントも無事に渡せたのでよかった。関係ないけど、メリークリスマス、と欧米では最近いうのが難しい?と聞き、難しい時代だなと改めて感じたこの頃(ハッピーホリデーということが無難だそう)。

 

masaytan.com