2010.02.05
皆さんは、こんな経験ありませんか。
- 「欲しいのはこれじゃない!」と言われる
- システムをリリースしても、バグが多発する
- 納期が守れない
- 必死で作ったのに赤字
システム開発に関わっている人なら誰しも一度は経験していることなのではないかと思います。プロジェクトは、まさに生き物です。努力、根性も重要ですが、これをシステマティックになんとかする!それがプロジェクト管理が必要とされる所以です。
エンジニアは、技術のスキルを高めるのと同時に、チームで仕事をする上でプロジェクト管理についての知識やスキルも高める必要があると思います。そこで今回は、改めてプロジェクト管理の基礎をまとめてみたいと思います。
まずはじめに、プロジェクトの成功とは、一般的にQCDが全て満たされた時に成功したと言われます。QとはQuality(品質)、CとはCost(コスト)、DとはDelivery(納期)です。ただし、品質の達成なくして、コストと納期を守っても意味がありません。
次にプロジェクト成功のためには、次に挙げるようないくつかの条件が必要です。
- 顧客が何を求めているのかを理解し、ゴールへの合意がなされていること
- 品質、コスト、納期についての現状が把握できること
- 問題が発見された場合、それに対してのアクションをとることが可能なこと
- 顧客、メンバー間で認識の齟齬がないこと、相互に信頼関係が築かれていること
- ・・・
そして、これらを満たすために必要なアクションがプロジェクト管理であるといえます。PMBOKという、プロジェクト管理の知識体系では、そのアクションとして次の9つの管理体系を定義しています。今回は、システム開発において特に重要な、品質管理、スケジュール管理を掘り下げてみたいと思います。
- 統合管理
- 品質管理
- スケジュール管理
- コスト管理
- スコープ管理
- メンバー管理
- コミュニケーション管理
- リスク管理
- 調達管理
「品質」の定義は難しく、バグが少ないこと、機能がたくさんあること、アフターサービスが優れていること、、、、いろんな考え方があると思いますが、視点を変えると「顧客が満足していること」、それが品質が良いと言うこともできると思います。顧客満足は、良いものを多く提供すれば上がりますが、リソースには限界があります。したがって、顧客の期待値を適切なモノにする事も一方では重要で、最小限の成果物で顧客満足を達成するのが最善だと言えます。とても難しいことではありますが。
次にスケジュール管理ですが、最も重要なのは、何を以って進捗とするのかということです。それは、測定可能な指標でなければならず、その上で予実差異を把握できる仕組みを構築することが必要です。その際ポイントとなるのは、ターゲットとマイルストーンを設けること、クリティカルパスとタスクの依存関係を見極めること、遅れと学習曲線を想定することだと思います。
いかがでしたか。今回はプロジェクト管理の基本を少しご紹介してみました。ただ、いくらプロジェクト管理をしっかりやったとしても、顧客の要望は変わり、モチベーションは上下し、想定外の問題は起きるものです。そんな時に大切なのは、計画を遵守すること以上に、変化に対応することではないでしょうか。
厳しい状況でもチーム一丸となってやり切る、1+1が2を超えるようなそんな力が必要とされ、そんな力を持っているチーム、組織は強いと思います。そんな高みを目指しながら、プロジェクトという生き物と楽しく、元気に付き合っていきたいと思います。
2010.01.28
「つぶやくボタンを設置したいけど、どうしたらいいんだろう?」というつぶやきをTwitterで見かけたので調べてみました。
Read more »
2010.01.19
みなさんは『QC』を知っていますか?
日本語に訳すと「品質管理(Quality Control)」という平々凡々な言葉になってしまうのですが、企業において社員が小グループを作り、職場環境の改善や生産品質の向上を目指して行う改善活動のことをQC活動と言います。また、QC活動を行うグループのことをQCサークル、QCサークルが活動内容を発表する手順を標準化したものを、QCストーリーと呼びます。
トヨタの「カイゼン」活動といえば、聞き覚えのある方が多いのではないでしょうか。
言わずと知れた、QCの代表例です。
・・・まだピンと来ない?わかりました。
では、百聞は一見にしかずということで、実際にやってみましょう。
Read more »
2010.01.13

年末、ブログを更新が少し滞ったのでご心配をかけたかもしれませんが…
元気すぎてお仕事が山積みになり、社員一丸となって取り組んでおりました。
おかげさまで新しいメンバーも多数加わり、キモチも新たに2010年もゲンキ良くスタートを切っております。
本年もよろしくお願いいたします。
<このブログは、エスキュービズムのエンジニア陣が担当制で更新しています>
さて、では、僕はセキュリティ対策の話を…と考えていたのだけど、ウイルス対策の次にセキュリティの話だと盛り上がらないなぁと思い、全く別の話題を。
最近よく「あの、新しいグーグルの携帯買わないの?」と聞かれる。
グーグルの携帯といってもドコモから出ているAndroid携帯ではなく、アメリカで発売された Nexus One のことだ。
Read more »
2010.01.07
新しいPCを購入した際、まずアンチウィルスソフトをインストールする方は多いと思います。ウィルス対策はますます重要になっていますが、次に気になるのはアンチウィルスソフト自体の安全性です。そこで今回は、アンチウィルスソフトを公平な立場で、多角的に評価している海外のサイトを2つ紹介したいと思います。
Read more »
2009.11.27
先週あたりに現在開発中のGoogleのOSである、”Chrome OS”が”Chromium OS”というプロジェクト名でオープンソース化され、ソースコードが入手可能になったので、早速試してみることにしました。
今回の目次
- ChromeOSって何?
- ビルド環境の準備
- ビルド
- 使ってみる
Read more »
2009.11.20
GAEが盛り上がってきた昨今、まずは Google Apps を使うところから初めよう!
・・・と、今更ながら Google Apps を触りはじめました。
触って気付いたのですが、
個人・小規模グループレベルなら、まず無料で済み、登録・操作も簡単。
数多ある安いサーバーの違う管理画面を開く位なら、
むしろ、これで統一した方がいいんじゃない? と感じました。
Read more »
2009.11.12
Closure Library (クロージャー・ライブラリ) は先日Google から出されたオープンソースのJavaScriptライブラリです。GmailやGoogle Docsなど様々なGoogleのAjaxサービスで使われてるそうです。もともとJavaScript自体は、異なるブラウザで挙動が違ったり、標準のモジュール化方法が提供されなかったりと、素で使うには厄介でした。そのために、これまで幾つものJavaScriptのライブラリ(prototype.js、jQuery、dojo、Ext JS、YUI、MooToolsなど)が登場してきました。今回のClosure LibraryはそれらライブラリにGoogleが本格的に対抗するものと捉えられます。
Read more »
2009.11.06
Yahoo!でも採用されて注目を浴びたSilverlight。最近最新版のSilverlight3が出ましたね。
Silverlightはver.1の頃から気にはしていたのですが、あまりに機能が少なくて「これはちょっとなあ~」と思ってたのも束の間、Silverlight2になってグッと機能を充実させてきて、「これはいつか勉強しておこう」とずーーーーーーっと思ったまま今日に至ってしまいました。
Silverlight3も出たことですし、やはりここは取り組んでみよう!ということで、その記録です。
Read more »
2009.10.15
筆者は最近PHPを使い始めました。
PHPは型キャストをしなくとも文字列と整数などを勝手にキャストしてくれるなど、型をあまり気にせずにプログラムを書いても、なんとなく動いてくれます。
もちろん変数の型宣言もなし、です。
こういった動的な、弱い型付けを持つ言語では、キャストなどに必要なコードの量を減らすことができる反面、プログラマの意図しない変換が行われてしまうことがあり、原因のわかりづらいバグを生み出しがちです。
静的であれ、動的であれ、コンパイラのチェック(と制約)が弱いとき、バグを減らすために重要なのは、プログラムを小さな単位に分解し、それぞれの動作を検証することができるようにすることです。
そうすると、プログラムが動かないとき、テストを使ったバグの原因推定を行いやすくなるからです。
というわけでユニットテストのツールを導入してみました。
Read more »