プロジェクトマネージャについて同期勉強会を行いました

社内の大先輩に講師をお願いして、「プロジェクトマネージャ」についての勉強会を行いました。
質疑応答も盛り上がりとても充実した勉強会でした。内容の要約を以下に記録します。

プロジェクトマネージャとして必要なこと。

プロジェクトの意思決定を行うという姿勢を持つこと。
もちろんPMBOKの知識も重要であり、プロジェクトマネージャ試験の知識も必要ではあるが、それは必要条件であって十分要件ではない。進捗管理や品質管理は判断をするための情報収集の手法に過ぎない。
プロジェクトマネージャは報告を受ける立場であるが、その報告を基に判断をして、上に報告しなければならない。その判断がプロジェクトの成否を決める。
プロジェクトマネージャがただ報告を受けるだけでは失敗する可能性が高い。

プロジェクトマネージャとしてのポイント

プロジェクトには常に問題が発生しており、リスクも必ず内在している。
1.「問題なし」という報告自体が問題である。
常に「問題なし」の報告のプロジェクトは、問題が発生した場合も報告が上がってこなくなる。
2.常に当事者として解決者になるという意識を持つ。
報告者が解決をするような空気を作らない。もしそのような雰囲気になると、自分の担当領域以外についての指摘がなくなってしまう。

プロジェクトマネージャがこれらのポイントに気をつけることで、事象の大小ではなく、影響の大小で報告が来るようになる。
ie.遅れが大きくても、他のチームに影響がない工程の場合はPLから「遅れているが、他工程に影響がなく、挽回可能」という報告となり、報告の信憑性を確認するだけで良い

その他、「若手SEとして仕事を行う中で、どのような視点でプロジェクトを見ればよいか」という質問に対し、
アプリケーションスペシャリストの視点ではシステムの全体像や業務知識の中で自分の担当がどこかを考える。プロジェクトマネージャの視点では全体進捗の中での自分の工程や遅延した場合の影響を見る。プロジェクトマネージャと言っても全ての業務知識に精通しているわけではない。保守案件が多い場合は前者の視点が重要であることが多いが、両方の視点を持つといい。

との回答を頂くなど、質疑応答においても様々なことを学ぶことができた。

今後もこのような勉強会をしていけたらなと思っています。

日経ビジネスAssocieに載っちゃいました

ご無沙汰してます。

実は、本日発売の日経ビジネスAssocie(9/20日号)に少しだけ載っちゃいました!
名刺特集のページにいます♪

名刺の達人の高木さんに「名刺で何をしたいのかを考えよう」と言われて、うんうん唸りながらセミナー中に作成した名刺が本誌に載っています。
せっかく名刺の作り方を聞いてきたので、これからやりたいことをじっくりと考えて更に良いものにしていきたいですね。
今回は相変わらずの資格マニア推しなので、違うものを推せるように頑張っていこうと思います。

ちなみに今回のメイン特集は「元気になる技術」です。
普段から「元気がない」「仕事つまらない」と言っている方は是非読んでみてはどうでしょうか!
僕は知らず知らずのうちに結構実践しているみたいです。笑

まだ読んでない人は是非!

久しぶりにjavascriptにやられました

こんばんわ。
最近の暑い夏がアジアっぽくてテンションあがっています。

さて、最近Web関連の仕事をしています。
実は学生の頃はPHPを細々と書いており、Web系は好物だったりします。
今日もお客様に見せるためのプロトタイプを作成していました。

いつものようにfirefoxで作成して、いざIEで動かしたら

「ページでエラーが発生しました。」

ということで、今日はIE7にやられた話です・・・。

やられたソース

javascript

window.onload=function(){
  var s = document.getElementById("s");
  var len = s.elements.length;
  var obj;
  for(i = 0; i < len; i++){
    obj = s.elements[i];
    obj.setAttribute("onchange","changeFunction();")
  }
  }
function changeFunction(){
  alert("値変わったよ!");
}

html

<form id="f" name="f" action="hoge" method="post">
<!-- 省略 -->
<div id="s">
 <input type="text" name="t1" id="t1" value="hoge" />
 <input type="text" name="t2" id="t2" value="hoge" />
 <select name="s1" id="s1">
  <option name="o1" id="o1" value="hoge1" label="hoge1" />
  <option name="o2" id="o2" value="hoge2" label="hoge2" />
 </select>
</div>
<!-- 省略 -->
</form>

まぁ、フォームの特定部分の変更を検知して、処理をするというありがちなヤツです。
jQueryで

$('f').FormObserve();

とかやればよかったのですが、プロトタイプとして1ページだけ作ればいいのでライブラリ取ってくるのが面倒・・ということでそのまま書いちゃいました。

やられたその1

div要素のelementsってダメみたいです。以下のように、formのDOMオブジェクトのelementsとすることで取得できました。

window.onload=function(){
  var s = document.getElementById("f");
  var len = s.elements.length;

firefoxでは取得できていたのですが、javascriptの仕様はどうなってるのでしょうか。
どなたか教えて頂けると有難いです。

やられたその2

こっちは完全にIEにやられました。

obj.setAttribute("onchange","changeFunction();")

ここを、こうしないといけないようです。

obj.setAttribute("onchange",new Function("changeFunction();"))

後から気づいたのですが、setAttributeは使わずに以下のように書いたほうが良さそうですね。

obj.onchange = "changeFunction";
//関数は変数に代入しておく
var changeFunction = function(){
  alert("値変わったよ!");
}

久しぶりにjavascriptを書いたのであまり自信はないのですが、参考になれば。
会社から帰って記憶だけで書いているので、syntax errorあるかもしれませんがご容赦を。
間違いの指摘やツッコミは随時お待ちしております。

コーディングに没頭できる時間も悪くないね。