今回は,「話の階層をそろえるとわかりやすい文書になる」というテクニックをご紹介します。実際の文書を使って実践してみましょう。

 下記の文書は,システム開発においてバグの発生を防ぐためのポイントを指摘した文書です。わかりにくい点はどこでしょうか?

どこが問題?(改善前)

バグを防ぐために各要所でチェックをしなければならない。例えば設計をする際には誤った仕様が定義され,それをもとにプログラミングされて結果バグが発生する場合がある。これはときに,ベテランのエンジニアであっても起こりうることである。さらにそもそも要件定義段階で顧客からのヒアリングミスにより,顧客の希望を満たしていない場合がある。この時点でのミスはバグの大きな要因になり,のちのちかなりのコストが発生してくるので注意が必要である。また,プログラミングの際には決定的な要因となるのはスキル不足である。この中には仕様の理解不足や開発言語や動作環境などの知識不足が考えられる。以上のようにそれぞれのフェーズでチェックをしっかりするとバグが防げる可能性がある。

ここが問題! 重要な情報と些末な情報が混在している

 上記の文書は,情報が未整理で何が言いたいのかがわかりにくくなっています。では,具体的に何が問題なのでしょうか。

 この文書がわかりにくいのは,重要な情報と些末な情報が混在しているからです。そのため,この文書で何を伝えたいのかがわかりにくくなっています。

これで解決! 階層をそろえて情報を整理する

 上の文章で伝えたいことは,「それぞれのフェーズでチェックをしっかりすると,バグを防げる可能性がある」ということです。「それぞれの段階」というのは,「設計」「要件定義」「プログラミング」の三つです。順番を考えると,「要件定義」「設計」「プログラミング」が順序を追っていて理解しやすいでしょう。

 この「要件定義」「設計」「プログラミング」の三つは,情報全体の核になる第一階層の情報になります。この第一階層の情報がわかると,読み手はおおよその全体像を把握できます。この階層という概念は,情報を整理するときには欠かせません。

 そして,この階層を明確に表現するポイントがあります。それは,「表現をそろえる」ということです。このケースでの第一階層の情報は,
要件定義 設計 プログラミング

です。ただし,上の言葉が並んでいるだけでは,それぞれ話の内容や関連がイメージできません。そこで,
要件定義フェーズ 設計フェーズ プログラミングフェーズ
というように,それぞれに「フェーズ」という言葉を入れると,具体性が出て「場面」の話であることが分かるようになります。さらにこれら三つの話題が,並列の関係であることも理解できます。このように言葉をそろえると,同じ階層の話題であると認識しやすくなるのです。

 この原則に則って,それぞれの言葉もすべて漢字でそろえると,より同階層であると認識されやすくなります。そこでさらに,
要件定義フェーズ 設計フェーズ 実装フェーズ
とすると,よりいっそう同階層であることが印象付けられます。これなら読み手は,瞬時にこれら三つの情報が同じ階層の話題であると認識できます。

図1●文書の内容を階層化して表現
図1●文書の内容を階層化して表現

 改善した文書は,以下のようになります。

改善後

バグを防ぐためにチェックすべきタイミングとポイントは,以下の3つに分けられます。

1 要件定義フェーズ
 ・顧客からヒアリングをする際のミス
2 設計フェーズ
 ・仕様を定義する際のミス
3 実装フェーズ
 ・エンジニアのスキル不足によるミス

 情報のまとまりを表現する際に,適切な表現が見つからないケースもあります。そのようなときには,語尾を合わせた造語を作るという手もあります。例えば,
役立つ度合い 得する度合い 知られている度合い
といった具合です。このとき,それぞれの情報の関係(並列,対比,順序)などが分るように用語を選ぶのがコツです。

安田 正(やすだ ただし)
パンネーションズ コンサルティング グループ
法人向けの研修を企画・実施する株式会社パンネーションズ コンサルティング グループの代表取締役。ロジカル・ライティング,ロジカル・コミュニケーション,交渉などの領域で,自ら講師としても活躍している。2008年より早稲田大学理工学術院非常勤講師。著書に「誰でも論理的に書ける ロジカル・ライティング」などがある。