こういうプログラマは、プロジェクトメンバから外すしかないのでしょうか。
【補足】
会社では、詳細設計レビューと単体テストレビューを各々1回以上開催することが定められています。
今回は、詳細設計レビューは形式通り済んだのですが、単体テスト成績が悪かったためにプログラマが詳細設計を変更したため、詳細設計レビューを再度開催することになっているのですが、そのプログラマがレビューに応じようとしません。
プロジェクトの進捗に支障を来していれば,
もう一度,レビューを受けてほしいと伝える。
↓ 応じない場合
上司にその旨を伝え,指示を仰ぐ。
貴殿が上司の場合は,もう一度,レビューを受け,応じなければ外す。
(追記しました。)
そもそもレビューの目的は明確なのでしょうか。
私はレビュー無用派です。
仕様書とテストがきちんとしていれば、レビュー自体が無用です。
テストでバグが多発するのであれば、スキル不足です。
ありがとうございます。
>その人は根っからのプログラマで設計書を書くことが出来ない
おそらく当たっています。
話をちょっと戻しますが、詳細設計書にロジックが書かれているのであれば、プログラムソースと冗長になります。
プロジェクトの生産性を高めるには、無駄のない文書体系が必要です。
”詳細設計を変えた”のがロジックだとしたら、詳細設計書のフオームからロジックの記述を省くことが再優先です。
因みに、ソースコードにはコメントとして詳細設計書の章番号を記載し、対応付けをルール化しておくことが保守を容易にします。
自己満足(レビューを受けようとしない者)のために,プロジェクトの進捗が遅れ,納品遅延,バグがあれば莫大な損害が発生してしまいますね。
ですから,解任が妥当と考えます。
ありがとうございます。
たしかにプロジェクトの遅延が発生するようなら解任するしかないのですが、そのモジュールを作り直すことで遅延する時間的ロスの方が大きいので困っています。
解任した場合は作り直す前提で考えられているようですが、レビュー報告書がないと納品できないってことでしょうか?
解任してコードだけ使うのは無理な感じですか?
もうひとつ
「修正」ではなく「変更」と書かれていますが、だったらレビューをした版のコードを使う選択肢はないのですか?
変更ということは性能的な目標未達とかですよね?
だったらとりあえず動くものはあるわけですから、後日差し替えという選択肢もあると思います。
いずれにしろ、さっさと解任しないとどんどん取り返しがつかなくなりそうな…
プログラムの製造が終わったらそれを提出してもらえばいいだけです。
終わってもないのに 提出はできないでしょう。
提出されたらレビューすれば いいだけです。
提出してくれないなら、それは仕事にならないので はずすというか
やめてもらうしかないですね。
ちなみにプログラムコードのレビューをするなんて 暇な会社なんですね。
ありがとうございます。
詳細設計書を修正していない、修正したとしてもドキュメントとして残っていないと思われます。
>修正したとしてもドキュメントとして残っていないと思われます。
それは修正したと言えないのではないでしょうか?
詳細設計書を修正していないからレビューできない ということなんですね。
詳細設計書の修正には どれぐらい時間が かかるのでしょう?
そして それを修正してもらう時間はあるのでしょうか?
テストをする時に、
他のメンバーが作った、
もっと良いプログラムの威力を見せ付けたら
どうでしょうか。
プロジェクトの進捗に支障が出ているんですから、
それでも改めないなら、
解任したらいいと思います。
プログラムを書き直したなら、
レビューはしなきゃいけないと思います。
レビューに応じないなら、
解任しても良いと思います。
説明不足でごめんなさい。
質問に補足しました。
同じモジュールを複数の人がコーディングする余裕はないのです。
レビューは問題ないかを確認するのが目的です。問題ないからやらなくていいと言う論理はおかしい。
cmmiとか勉強させたら良いのでは。
>基準成績をクリアした
不具合はない ということなんですね。
でも 作成物は 提出しないとダメですよね。
だわかきさんの仰ることが全てであるならば、
「レビューの目的をはき違えている、問題がないことを証明して、記録に残しておく必要がある」
「レビューも仕事(成果物)に含まれる」
というのが回答になります。
いくら基準を満たしていても、それを証明できなければ意味がない。
切符は買っていても、検札で見せられないなら降ろされます。
でも、たぶんですけど、そんなことは承知しているのではないかとも思うんですよね。
もちょっと込み入った事情とかあったりしませんかね?
なんでそんなにこだわるの?と聞いてみてはいかがでしょうか。
野球のルールに従わない人がチームにいたら試合は成り立ちません。たとえ監督であっても、審判に従わなければ退場処分になったり制裁金を課されたりします。
しかも、これは審判が間違っているかどうかに関わりなく行われるものです。
現場のルールに従わない人は説得して従ってもらうしかありません。従わなければ解任するしかありません。
そのルールが仮に妥当ではないのだとしても、一貫したルールによって運営されるからこそ、その組織の仕事は定量評価が可能になるからです。
khurataさんの意見が正しいと思います。
さらにいえば、その人が居ることによるロスは単に時間や作業量だけではありません。むしろ、レビューなど無視しても良いと社員一同に公式に広報することによる後からのダメージが大きいと思われます。
その人を説き伏せるか、辞めさせるか、もっと優れたモジュールを作り直すか、あなた自身が心を決めるべきで、経営者としての判断を必要とする場面です。
「コードレビューが出来なかったモジュールを納期通りに出荷する」のと、「ルールに従った製造過程に基づくモジュールを遅れて出荷する」のと、どちらが「良い」のかは、その時その時の判断が有るだろうと思います。
「現場の判断」は、往々にして理想論や「べき論」だけでは決められないものです。
しかし、だからといってルールを軽視してよいという前例を作ってしまうと、いずれそれは定着してしまうでしょう。人は楽な方に流れやすいからです。
仮に今は前者を採るのだとしても、それはあくまで特例であることを、内部に周知徹底しなければなりません。可能であるならば、何らかの実質を伴うペナルティをチームに課しても良いでしょう。
単体テストのレビューでしょうか。
レビューの意味をもう一度説明して、システムテストでバグが無いか調べることですね。
プログラマとして自信があることは確かですが、客先要求、社内基準仕様等をもう一度説明してみてはいかがえしょう。(おそらく客先、品質面等からの単体レビュー記録がいるってことで実施されているのでしょうから。。。)
詳細設計レビューはメンテナンスが用意に引き継ぎが必要になるためのものだろうし、客先の要望ならなおさらですね。
主張することも理にかなっているような気がしますが、メンテナンス面で仕様変更の調査等で
他人が分かるようにしないといけないことを論じてみては如何でしょう。
その方もおそらく他人の製造したプログラムをメンテするときに詳細設書があれば、他人に説明しやすいはずです。
コーディング規約に準拠してるかどうか詳細設計レビューで検証するためって言えばどうでしょう。
それでも持論を展開するようであれば、外された方がいいと思います。
私は自分の書いたコードが一番信用出来ないのでレビューしてもらいたいと思う方ですが
その自信を少しわけてもらいたいくらいです。
あなたがプロジェクトマネージャー的な立場であれば進行とそれに関わるリスクを考慮すれば選択肢はそう多くないと思います。
とは言っても何を言っても聞かない状況なのでこういった質問になっていると思います。
同僚や部下などがそういった状況でレビューを受けないということであれば
・レビューを受けない場合の責任範囲をコード作成者に負わす
ということも可能な場合があります。
これは複数人の目を通すことでコード作成者以外も問題はないであろうというプロセスを経ているわけです。
要はレビューを受けないということはリスクを一人で抱えるという考えも出来ます。
レビューは相手の変なところを突くので嫌がる人も多いでしょうが、責任者側から見れば問題が発生した際にレビューされる開発者のリスクを軽減してあげる作業でもあります。
そして何かあった場合はレビューした人+開発者自身でリスクを分担することが出来るわけです。
プロジェクトから外すのも簡単ではありますが、レビューを行わない場合はリスクを一人で背負ってもらうことになるのでその旨を伝えてみるというのはいかでしょうか?
ですが出荷時の要件定義にプレビューを最低1回は受けるとなっている場合は従う必要があると思いますのでプロジェクトの進捗次第では外すことが一番のリスク回避になるのではないかと思います。
ソースだけ取得してこちらで勝手に開発者不在でレビューを行い、その結果を持って対応するというのはどうでしょうか?
個人所有のPCでもない限り会社の開発したデータは会社のものであり所有権は会社にあると思いますのでソースの提出を求められれば拒否は出来ないと思います。
開発者不在というのがひっかかるかもしれませんが、レビューを通すだけの状態で開発者がインフルエンザにかかってしまい期限に間に合わない場合は不在でレビューもあり得ます。
(ちょっと面倒ではありますけど)
担当プログラマの中では一連の流れに整合性が取れているのでしょうが、外野から見れば
「法律に書いてなければやっていいわけではない」
という状態ですので権限なり強制力を発揮していくほかないと思います。
>設計担当SEの責任になってしまうのです。だからSEは再レビューを要請しているのですが、
その担当プログラマが詳細設計書を書き換えたならば、その担当プログラマの責任になるのではないでしょうか?
レビューはそのコードの問題点を明らかにするだけでなく、そのコードの利点も同様に明らかにできるものだと考えています。
その担当者のコードが最良なのであれば、その点を確認することに本人も含め基本的にはデメリットはないと思います。
一方で、逆を返せばそういう行為が苦手(又は嫌い)ということであれば、レビューという工程そのものに従えない状況なのでは無いかと思います。
そうなりますとチームプレイは難しい状況ですので、外すしかないのではないかと思います。
ただ、その場合、本人がコードレビューに参加したくない理由が存在しないか十分確認が必要だと思います。
例えば、実は本人自身が自分のコードに不安を持っており公開したくない等、周りが考えるよりも不安を抱えているエンジニアは多いので。
そういった場合は、そのレベルまでうまく誘導してあげる、又は、わからないことはチームでお互い教えあえばよいということを理解してもらえれば課題は解決するように思います。
天狗又は単純にチームプレイできないのであれば外す1択ではないかと思います。
説明不足でごめんなさい。
前の回答のコメントにも書いたんですが、コードレビューをやっているわけではありません。
詳細設計を書き直したというので、再度、詳細設計レビューを開こうとしています。ところが、書き直したプログラマ担当が再レビューに応じないという状況です。
おぉ。こちらこそ他のやり取りを確認しておりませんでした。
私の例示した原因は今回の件には影響しないようですね。
設計段階ですと雰囲気的には個人的な感情(この程度でいちいち再レビューをする意味がわからない、影響はないはずだ等)の可能性が高いようにも思われます。
工期そのものに無理が無い(つまり、レビューに関わる肯定を再度入れることによりその負担を担当者が負うような状況)ということであれば、進捗に影響を及ぼしている以上は外すしかないと思われます。
※その他、レビュー時の雰囲気や進め方等わからない部分が多いので、何がベストかという点は判断しかねますが、現状の情報からですと上記の選択がベターかなと思います。
良い仕事をするためには、他職種であっても互いに尊重しコミュニケーションをとることが最良だと思います。自分の立場からでは、どうしても相手が悪いと思ってしまうことが当然ですが、相手の立場をしっかり認めた上で本音を聞いてみるという作業が必要なのではないでしょうか?
そういった真意の部分を確認してから対処したほうが良いと思います。
納期先に納期の延長が可能であれば,
2013/09/02 10:07:24「ルールに従った製造過程に基づくモジュールを遅れて出荷する」
不可能であれば,
「コードレビューが出来なかったモジュールを納期通りに出荷する」。
問題があれば,そのレビューを受けない者に何かしらの処分や賠償請求が妥当と考えます。
ありがとうございます。
2013/09/02 12:52:33