0.5人月

人生と仕事が伸び悩んでるWeb系のおじさん

詳細設計書とはなんだったのか

不要論とかではなくて、自分の短いIT土方人生で、印象的な詳細設計書に出会ったときのことを軽く振り返るだけです。

 

ドキュメントが関数分あるような気がした

過去に経験したプロジェクトに、レガシーな言語で構築された「ちょっとマニアックだけでその筋の人たちのためには、確かになくてはならないような」ソフトウェアをモダンな言語に置き換えようという、マイグレーションプロジェクトがありました。(※マイグレーションが必要になった理由はお察しの通りです。そのソフトウェアの中で利用しているコアな技術の部分でベンダーからもうサポートを切られてしまうので置き換えなくてはいけなかった)

そのソフトウェアは、ある一人の個人事業主プログラマーの手によって15年くらいマネジメントされてきたものでした。もちろん常に彼の周りには他の技術者のメンバーの方がいらっしゃったのですが、15年ですから、いろいろな理由や年月で人は移り変わって、組織は移り変わっていきまして、それでもマネジメントはその彼が、というソフトウェアだったのです。

個人事業主で、同じシステムを15年もマネジメントしてきて、お客さんの信頼を得ているのですから、やっぱり仕事ができる方だったと思います。会ってお話したこともありますが、プログラマーでマネージャーな感じのなんだか凄味がある人でした。※Mさんという仮称をつけさせて頂きます。

Mさんは、コードはあまり書かず、技術Likeな方ではありませんでした。決して、コーディングができないというわけではなく、いざ書いたときにもあまりまずいコードを残したりという方ではありませんでした。(たった一つ関数の単位が独特だったような気がします)

自分が参画したときは、もうかなり膨大なソフトウェアになっていたと思いますが、バージョン管理を利用することもなく、それでもMさんは、そのすべてを把握していたようでした。どのモジュールにどの関数があってくらいわかっていたような印象があります。

そんなMさんが何をもって管理把握していたかというと、それこそ、詳細設計書だったのです。

SUGOI KUWASII NE

システムの販売者が普段官公庁と仕事をされている企業様であり、お客さんの一部もそういった方々が関係しているため、ドキュメントをきちんとしていかないといけないのは自然の流れだったのかもしれません。

Mさんはかなり詳細でかつ綺麗で独特なドキュメントを書きました。エラーの現象かあるいは実装したい内容があって、原因か方法が記載されていて、エラーだったら対象範囲もあますことなく記載されていて、方針と内容にあわせて、コードすら書かれていました。イレギュラーな修正ケースなどは決まってまるまるコードが書かれており。それを見れば、もはや作業者として雇われたプログラミング未経験の新卒の子が、ポチポチするだけでできるくらいのものです。プログラミングは作業者がやるものという、どこかSIer特有(と思われがち)なあの思想が横たわっているかのようなドキュメントだったのです。

マイグレーションせいぜい1年程度のプロジェクトでしたが、自分もたくさん書きました。コードを書く量より多かったと思います。当時は1年目でプログラミングを本格的に初めて2年目くらいのものでしたが、これが詳細設計書なのかと面食らったものです。

AREHA ITTAI?

そんな詳細設計書ですが、5年目に突入する今日、あの設計書はなんだったのか。ときおり思い出します。あの後も少なからずドキュメントの作成を行ってきましたが、あれに似たドキュメントに出会ったことはありません。

自分はマイグレーションプロジェクトで顔を出したので、すべて見れたわけではありませんが、見れたものだけで推測すると、あの詳細設計書の役割っていうのは、

  • コードと一対一になる日本語説明書
  • 実装内容の説明と作業者日時時間などを記録したRedmineのようなプロジェクト管理ツールのチケットの役割

だったのかなあという印象です。

詳細設計書の作成のプロセスはコードは書かないながらも基礎トレのような訓練になって、1年目に出会えたのはよかったのかなと思います。

みなさんが出会った詳細設計書どうでしょうか。

ドキュメン図書館

ちなみにですが、テスト仕様書もすごかったです。何百ページくらいあった気がしますが、最初はなんだと思って読んでいても、最終的にテスターの方たちはこぞって、Mさんのドキュメントを、見やすい、わかりやすいと口にしました。

ありさえすれば売上が発生するようなソフトウェアではあるようでしたが、15年きちんと管理されてきたプロジェクトで、今ままで人的な問題以外に、滞りなかったようなのです。ドキュメント凄いじゃんって思いました。正直書きたくはないですけど。

ただし、そのあと、Mさんはプロジェクトを降りることとなりまして、引きついだ管理者の方から、途端に、ドキュメントは埃をかぶったように使われなくなったそうです。かつてのドキュメントを要求すると、それがどこにあったのかわからないといった具合に。でんでん。

おちなしです

プロジェクトの話っていうのはなんだか難しいですね。書いてはいけないことと、もしかしたら自分が特定されてしまうかもしれないという自意識過剰な不安に苛まれます。