SHOEISHA iD

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

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

独善のススメ

【第1回】独善パターンができるまで

独りで始める改善術


  • X ポスト
  • このエントリーをはてなブックマークに追加

解決策の探求

 問題を解決するためには、まず知識を増やす必要があると考えました。

 とりあえず、大型書店で役に立ちそうな本を探すことから始めました。「これは!」と思う本を見つけたら、購入して通勤時間に読みふける日々をしばらく続けました。さまざまな本を読んでみた結果、内容が抽象的だったり、本当に役に立つのかどうか分からなかったりと、自分の仕事とマッチする答えはなかなか見つかりませんでした。

 しかし、本を読んだおかげでさまざまな手法を知ることができました。せっかく本を買ったのに活用しないのはもったいないと思い、なんとか使えないかとあれこれ思索してみました。その結果、本に記載されている手法をそのまま使うのではなく、自分の仕事に合わせてカスタマイズして使うことを思いついたのです。

どの方法を試すか考えてみる

 初めて改善を実践したとき、私が参画していたプロジェクトは、次の様な状況のものでした。

開発対象分野 組込み系
言語 C++
人員数 私を含め2名(リーダー=私)
フェーズ メンテナンス
時期 今(2007年)から数年前

 当時、現場では十分なテスト技法やレビュープロセスが確立できておらず、プログラムミスによる計画外の作業が発生し、作業時間が増加していました。

 この問題に対処するべく、まずは単純なプログラムミスを減少させる方法を考えました。その結果、簡単かつ有効な手段として、「コードレビュー」が適していることに気がつきました。

 実際に動作するコードをレビューすることは、製品の品質確保に直結します。また、テストフェーズ前に実施することで、コードレビューとテストによる二重のチェックとなり、信頼性がより高まります。さらに、プログラマーレベルの担当者でも実施することができ、新たな教育を実施する必要がほとんどありません。必要な資源も、開発者とレビュアー、そしてソースコードのみのため、比較的簡単に実践することが可能であると考えました。

うまくいくか試してみる

 うまく行くかどうか、とにかく試してみるしかありません。下記の通り必要最低限のルールを決め、まずは実践してみることにしました。

レビューの内容
対象 新規追加/更新/削除を行ったコードすべて
実施タイミング コンパイル完了時(単体テスト前)
実施方法
  • コード開発者本人と、レビュアーの2名で行う
  • 変更前/変更後のプログラムを印刷し、変更箇所をマーキングする
  • 2つを突き合わせてレビューする・指摘事項は記録シートに記入する・レビュー完了後、指摘事項を修正する
レビュー内容 コーディング規約、メモリ破壊、NULLポインタアクセス、初期化漏れ、処理効率、機能漏れなどがないかといった観点で、コードの差分を2人で確認する
終了判定 指摘事項がコードにすべて反映されているか確認する

 自分自身、それまで苦労して身につけたコーディングスキルに自信を持っていたため、コードレビューに大きな価値を見出せていませんでした。しかし、いざコードレビューを実施すると、自分には無い視点でコードを見ていただき、非常に多くのフィードバックを得ることができました。実際に機能抜けや、処理効率の改善箇所などの指摘もあり、非常に有効な手法であること実感することができました。

次のページ
実施結果を評価する

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
独善のススメ連載記事一覧

もっと読む

この記事の著者

にし たけよし(ニシ タケヨシ)

某社で組込み系ソフトウェア開発に従事。ソフトウェア開発手法に興味を持ち、様々な手法にチャレンジしている。社内/社外を問わず、様々なセミナーやワークショップにも出没。最良のソフトウェア開発手法を追い求め、日夜修行中。知る人ぞ知る、自称『歌って踊れるプログラマ』。

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3802 2009/04/03 11:27

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング