設計が通じないプログラマー


ソフトウェア開発においてプロセスは非常に重要です。
つまりどうやってソフトウェアを作るのかです。

しかし多くの中小零細企業はこのプロセスが人依存になっており、言葉の解釈もまちまちです。

実は「設計」の意味ですら通じ合えません。
今回は、少しその辺についてお話ししたいと思います。

完成しないプロセス標準

たいぶ古い記事ですが、以下のような数値が出ています。

「自社標準がある」は52.2%

ITPro 記者の眼「標準の開発プロセスが欲しい,でも自社にはない」

僕の感覚では、もう少し少ないのではないかと思います。
とりあえず上記の数値に従いましょう。

何故半数近くのソフトウェア企業には標準がないのか。
理由はいくつか挙げられます。

①そもそも決めることが苦手な民主主義
②標準に対応できない状況が出た時、責任を取りたくない
③プロジェクト運営がこれまでリーダー任せとなっており、標準化はリーダーの抵抗にあう
④顧客に対しこれまで納品してきた成果物を変えたくない
⑤顧客がそもそも設計書の類を求めていない
などなど

標準化の努力はしたが、うまくいかなかったというご経験をお持ちではないでしょうか。
また短期のプロジェクトは設計関連のドキュメントを省略してしまいます。
こういった理由からプロセスの標準化はうまくいかず頓挫します。

なかなか理解できないプロセス標準

実はIPAあたりが「共通プロセス2013」としてソフトウェア開発のプロセス標準を公開してくれています。



IPA「共通フレーム2013の概説 」

こういった標準が公開されることは非常に有難いことですが、
「何となく使えそうなとこだけうまく使って」というスタンス。
ちょっとわかりづらいし、How to(どうやってやるのか)は教えてくれない。
独学で習得しようとしても「合ってるのか間違ってるのかわからない状態」になり挫折。

またリーダー依存のプロジェクト運営に逆戻りです。

何をすれば良いのかわからないプロセス名

こちらは表現として面白いので挙げておきます。

IPA「共通フレーム2013の概説 」

上記例では企業間で言葉が一致しないというお話しですが、
標準がないと社内でも言葉の統制がとれません。
同じ企業に発注しているのに、成果物が全く違う体裁で出てくるというのはこういう事が原因です。

言葉の統制がとれないとどうなるか

大分前置きが長くなりましたが本題です。
言葉の統制がとれないとどういうことになるか。
タイトルの通りですが、「設計」の解釈が人によって異なります。通じない。

タイプ別設計の解釈
〇ケース①:設計をプログラミングだと思っている人
〇ケース②:設計をテンプレートを埋めれば良いと思っている人
〇ケース③:設計をただのバッファだと思っている人
〇ケース④:設計を機能実現の為の考えをまとめることだと思っている人

共通の認識を持っていれば、正直どれでも良いです。
困るのはメンバーの一人でも、ちゃんと設計の意味を伝えられなかった場合です。

ちなみに僕はケース④です。
ただ、考えというのは測定できないので、
進捗の測定の為に設計書を書かせます。

僕はプロジェクトリーダーでありマネージャー。
僕が間違っていようが僕のプロジェクトでは僕が法律です。
何人(なんぴと)も僕の定義から逸脱することは許されません。

ケース①:設計をプログラミングだと思っている人

こういうタイプのプログラマーは、
マネージャの指示を無視してプログラミングを始めます。

僕「Aさん。プログラミング始めてますけど、設計は終わったんですか?」
Aさん「そんなの書くより作った方が速いと思って」
僕「僕は設計書を書く意義を伝えたはずですが、それを無視するんですか?」
Aさん「はぃはぃ、わかりましたよ。書けばよいんでしょ。」
僕(イライライライラ・・・)

ケース②:設計をテンプレートを埋めれば良いと思っている人

こういうタイプはやたら機械的に作業を進めようとします。

僕「Bさん。速いですね。もう終わったんですか?」
Bさん「こういうの慣れてるからね。マクロ組んでつくった。」
僕「あの・・・Bさん。効率良くやるのは良いですけど全部同じなわけではないですよ?
この辺、間違ってますよ。機能理解できてます?」
Bさん「ん?こんな機能あったんだ。」
僕(イライライライラ・・・)

ケース③:設計をただのバッファだと思っている人

こういうタイプは設計をボーナスタイムだと思っています。

C君「まだ設計なんで、今日は定時で帰って良いっすか?」
僕「ん?『設計なんで』ってどういうこと?設計書は?」
C君「そんなのいらなくないっすか?設計フェーズ3日位残してプログラミングに入りますから余裕っしょ?」
僕(イライライライラ・・・)

まとめ

僕の定義が正しいとは思っていませんし、標準が必要とも言いません。
でも、せめて「設計」「開発」「テスト」が何であり何をすることかくらいは、
会社全体で決めても良いのではないでしょうか。

なんか思い出したら腹立ってきた。

おわり


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です