SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

パーソナルソフトウェアプロセス(PSP)入門

パーソナルソフトウェアプロセス(PSP)実践講座
~第1日 自分の生産性・品質を算出する

パーソナルソフトウェアプロセス(PSP)入門 (1)


ダウンロード 記録用チャート (8.9 KB)

8: よく出てくる質問

 ここまでご説明すると、以下のような質問をよくいただきますので、それぞれ簡単に説明します。

Question 1:

 具体的にどれくらいの計測サンプルがあれば、実用レベルなのでしょうか。

Answer 1:

 今日1つ課題を解いていただきました。このデータを1セットとします。この連載では、8種類のプログラミング課題を出します。それを順番通りに解いていただき、8セットのデータがそろった段階で、この計測結果が実用に足るものなのかを改めて判定し、それを自分の業務に生かしていきます。

Question 2:

 計測は手作業だとかなりシンドイのですが…

Answer 2:

 計測するのは「時間・欠陥・プログラム規模」の3点のみです。そしてこの連載では、計測ツールがないことを前提にし、紙と鉛筆で演習ができるように工夫しています。しかし、実際、演習の数が多くなってくると、計測・計算を自動化すると非常に楽です。そこでSEIのサイトに行くと、計測に便利なデータベースや、SEIで実際に使われている講義資料を無料でダウンロードすることができます。

 『PSP Academic Material』のWebページで「Download Form」をクリックしてください。その後出てきた登録フォームに、お名前などを記入すると、入手できます。しかし、英語ですから、ちょっと敷居が高いかもしれません(翻訳版を公開したいのはやまやまなのですが)。

Question 3:

 PSPの骨子の第3点でいう「同じような開発案件」とは何でしょう。

Answer 3:

 第一義的には、同じプログラミング言語と同じ開発環境によって行う開発、と考えていただければいいでしょう。

Question 4:

 PSPの骨子の第5点でいう「実開発以外に費やす」時間とは何でしょう。これもPSPに含まれますか?

Answer 4:

 毎朝のメールチェック・会議・資料のコピー・ちょっとした休憩・ちょっと呼び止められて打ち合わせ・電話・……などです。それらの時間をすべて差っ引いた時に、私たち開発者が一日にプロジェクトのための作業をしている正味の時間がはたしてどれくらいなのか、が知りたいのです。例えば一日のうち、プログラミング作業が可能な正味の時間が2時間半だったとします。ならば、もしも、5時間くらいかかりそうなプログラム作業が飛んできた場合、今まで「実営業日1日いただければできます」と答えていたものを、「実営業日に直すと2日後にできます」と言い換えることになります。

 とにかく「早くできます」と返事をし、後で冷や汗をかくことと、実績をベースに「2日後」と宣言しておいて、堅実な結果を残すこと。どちらがあなたの開発者としての信頼性を高めることになりますか? 答えは明白ですね。よって、実開発以外の時間もすべて自分のコントロール下におくことが、PSPの目指す方法なのです。

 ちなみに、この例で「5時間くらいかかりそうと、どうして分かるのですか」と思った方は、第3回・4回で、このからくりを説明しますので、もう少しお待ちください。

Question 5:

 PSPがプログラマの生産性を定量化できる、よい手法であるということは分かりました。しかし、働きすぎを判断できる半面、これをベースに給料を算出する、という怖さもあると思いますが…

Answer 5:

 PSPでは、生産性を時間当たりのコード行数で測ります。こと給料算出に関しては、開発者が無駄に長いコードを書いたり、改行を多く入れることで給料を上乗せできるリスクがあるので、最近は実開発量や生産性で給料を算出する傾向は減っているようです(あくまで筆者の実感として、ですが)。コード行数の測り方、生産性の算出の仕方については、第2回で改めて取り上げ、演習します。

9: まとめ

 それでは第1回のまとめです。

  • パーソナル・ソフトウェア・プロセスとは、開発者が無理ない納期・品質・生産性でモノ作りをするための、NOと言える手法である。
  • 最初に現状を知るところから始める。
  • 現状を知るには「測る」といい。
  • PSPでは、「フェーズ」と「欠陥」を定義している。
  • ミナミカワはどうやら戦うコンサルである。
  • 性格はキツイらしい。顔は怖いらしい。

 それではまた次回。

10.参考文献

修正履歴

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
パーソナルソフトウェアプロセス(PSP)入門連載記事一覧
この記事の著者

南川 しのぶ(ミナミカワ シノブ)

IT技術、IT経営のコンサルタント。主にシステム開発コンサルティング活動の他、外部セミナー、顧客先企業の内部セミナーの講師も務める。カーネギーメロン大学のソフトウェア工学研究所(Software Engineering Institute)認定PSPソフトウェア開発者(SEI-Certified P...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3937 2009/11/26 10:22

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー