ゼロからはじめるPSP ─Personal Software Process

第4章 無理なくPSPを活用する ~アスケイドにおける今後の展開

2008年8月15日

この記事を読むのに必要な時間:およそ 2 分

関連付け情報の多様化,高精度化

PSPでは,⁠時間」を軸に「何」「どれだけの量」実施したかのデータを記録し,関連付を行って,初めて改善のための分析可能なデータとなります。これらのデータの記録/分析に余計な時間を割いてしまうようでは本末転倒です。記録/分析はツールなどを上手く利用し無理なく行える必要があります。

分析する上での指標としては以下のようなものがあります。

●生産性
時間とLOCとの関連 → LOC による単位作業時間の成果を計測する
●品質
時間と欠陥の関連 → 静的解析ツールを活用し,欠陥を計測する
●カバレッジ:
時間とテストカバー率の関連 → 自動ビルドツールなどによるテスト自動実行結果の計測

LOC による単位作業時間の成果を計測する

各自の作業時間とコード生成量(LOC)の関係は,以下の手順で導き出すことができます。

  • 作業時間データの取得(iCal 形式データの集計)
  • コード作成量の取得(構成管理ツール経由で取得)
  • 上記データの関連付け

アスケイドでは,これまでに述べて来たように「作業時間データ」は収集可能な状況にありますし,構成管理ツールを用いたコード作成量の取得や可視化も行っていますので,今後はこれらの情報を関連付けするツールを実装する予定です。

※)ちなみに,アスケイドにおけるLOC の定義ですが,コメントも実装仕様を説明する上で必要な作業であるため,プログラムと同等に扱うという考えから ⁠コメント行を含むプログラム全て」を計上対象にしてます。

ツールを活用し欠陥を計測する

最近は品質向上のためのツールが多く提供されており,開発者にとっては見落としがちな欠陥まで検出できるようになりました。代表的なものではCheckStyleやPMDなどに代表される静的解析ツール,テストフレームワークのUnitTestなど,これらを利用し欠陥を計測することが可能です。

CheckStyle
コーディング標準に従ったJavaコード記述を支援する開発ツール
PMD
Javaのソースコードを静的に解析して潜在的なバグを見つけるツール
FindBugs
Javaのクラスファイルを静的に解析して潜在的なバグを見つけるツール
Jlint
Javaのソースコードおよびクラスファイルを静的に解析して潜在的なバグを見つけるツール

現在アスケイドではこれらのツールを導入して欠陥そのものの検出は行っておりますが,時間の計測との連携は行っておりません。

これら,CheckStyleやPMDなどに代表される静的解析ツールと,構成管理ツールとを組み合わせて欠陥の検出及び欠陥の修正作業を検出し,時間ログと突き合わせることで,欠陥の出現時期に関する計測/分析を行い,PSP導入の目的である自分自身の成果物に対する品質を見極めることができるようになればと目論んでおります。

無理をしないPSPのススメ

PSP における欠陥の記録は,細かなところですと,コンパイルエラーの検出とその修正も対象と定義されています。これを記録対象とするには

  • 計測対象とする作業の詳細化(実装,コンパイル,修正作業はすべて分別)
  • (構成管理ツール連携時には)計測作業単位に応じたこまめなコミット

などといった事が必要となってきます。実際に,PSPでは高々数行のプログラムを開発するプロセスを「実装/コンパイル/エラー修正」と分類し,非常に細かい単位での計測を求められています。

とはいえ,XP(extreme programming)に代表される昨今の開発スピードの高速化を考えた場合,コーディングとコンパイル確認まで分離する,といった細分化は,あまり現実的とは言えないのではないでしょうか? その点からも,アスケイドでは「無理をしないPSP」という取り組みかたで導入しているわけです。

PSPからTSPへ

PSPの上位に位置するTSP(Team Software Process)についても簡単にもふれたいと思います。

TSP(Team Software Process)とは

TSPはその名の通り,2人以上が1つのチームを構成します。通常のチームと異なる点は,PSP0~PSP3を実践できる個人を,チームとしてまとめ,個人の能力を最大限活用するところにあります。全員がPSP0~PSP3を実践できるチームなんて,どれだけ効率的に作業ができるのやら想像もつきません。

TSP への発展的展開

PSPに習熟することで,各個人が以下のような能力を身につけることができます。

  • 自分自身の作業の生産性を把握できる
  • 作業計画をたててコミットメントできる
  • 品質向上における問題点を把握し,その改善を進めることができる

PSPを導入し,個人がこれらの能力を身につけるだけで,所属するチームや会社組織としての基礎力が向上したことになります。

さらに,第2章で説明したような計測環境を構築や,本章での今後の展開において述べた実現予定機能などを盛り込むことで,個人(PSP)から組織(TSP)へとプロセス適用の範囲を広げることが可能です。

みなさんもぜひPSPを導入してみてはいかがでしょうか。

著者プロフィール

渡辺洋司(わたなべ ようじ)

株式会社アスケイド所属のエンジニア。 最近はソフトウェア開発技術のみならず,ファシリテーションにも興味をもち,組織の活性化について考えています。

URL:http://www.ascade.co.jp/

ピックアップ

「LINE DEVELOPER DAY 2019」レポート

LINE(株)は11月20日・21日に技術カンファレンス「LINE DEVELOPER DAY 2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。

技術的好奇心を満たせる2日間 ―「LINE DEVELOPER DAY 2019」へ行こう

今年で5回目を迎える技術カンファレンス「LINE DEVELOPER DAY 2019」。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。

コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~

本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。

大人気動画コミュニティアプリの運用の内幕―MixChannel(ミクチャ)を支える技術

若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。

バックナンバー

No12(2009.04)

今回のSoulHackで主に取りあげるのは,梅田望夫の「ウェブ時代をゆく」という本です。

No11(2009.03)

今回のSoulHackで取りあげるのは,阿部謹也の「世間学への招待」と他1冊の本です。

No10(2009.02)

今回のSoulHackで取りあげるのは,山本七平の「空気の研究」という本です。

No9(2009.01)

今回のSoulHackで取りあげるのは,アーノルド・ミンデルの「紛争の心理学」という本です。

No8(2008.12)

今回のSoulHackで取りあげるのは,河合隼雄氏の「カウンセリングを語る」という本です。

No7(2008.11)

特集:2008年度日本OSS貢献者賞受賞者インタビュー

No6(2008.10)

特集:エンジニアの実践的キャリアアップ思考法

No5(2008.09)

特集:事例でわかる,プロジェクトを失敗させない業務分析のコツ

No4(2008.08)

特集:ゼロからはじめるPSP

No3(2008.07)

特集:今こそ使える! プロトタイピング

No2(2008.06)

特集:「開発スタイル」開発法

No1(2008.05)

特集:エンジニアが身につけたい基本スキル 2008

-->