2013年10月10日木曜日

SEに求められる能力やSEが持つべき姿勢について

SEの仕事をやる上で必要になる能力や念頭に入れて
行動する観点についてさらーっと書いてみました。

1. SEの仕事は設計をして、PGに支持を出して、PGが実装・テストを終わるのを待つだけのものでない。
2. PGはただ支持に従うだけのものではない。
3. PGは部下より仲間だ。
4. 開発は車の運転と同じ(Kent Beck who is author of Extreme Programming)!
  車を真っ直ぐ走らせるために定期的にハンドルを左右に回して、修正する必要がある。
  早く走れば走るほど、頻繁に修正しないといけない!
5. 効率は第一!無駄を認識し&なくして行こう!(Lean Software Development)。
   ・価値のある、動作する一番シンプルなものを作ろう!
   ・明確なものだけをやろう。
   ・不明なものは明確になるまで後回ししよう。
   ・同時に複数のことを部下にやらすな!
   ・開発をスムーズに進めるのに妨げになっているもの全てつぶしていこう。
   ・KISS(Keep it simple, stupid)とDRY(Don't Repeat Yourself)とYAGNI(You ain't gonna need it)を忘れずに!
6. 部下の性格やそのときの状況にあった指導し方を取ろう。時にほめよう、時にしかろう。時にはげましょう。
  アメとむちのバランスが大事!
7. 時々PGと一緒になってコーディングしよう(Extreme Programming: Navigator & Driver)。
   コーディングは楽しむもの。ペアを組むことによって仕事だけじゃなく、人間関係もよくなっていく。
8. シンプル且つ解りやすく、そして守りやすいルールを作りましょう。
  ルールは以下の性質を持つべき。
   ・ルールはシンプル且つ解りやすくなければいけない。
   ・ルールは守りやすくなければいけない。
   ・ルールはコミュニケーションを円滑に行うためのツールだ。
   ・ルールは無駄をなくすためのものだ。
   ・ルールは開発の妨げになってはいけない!
      ・ルールはちゃんとした理由があれば破っていい。
   ・ルールは新しく生まれた状況に合わなくなったら、改善する。
9. SEの仕事はPGを育てる仕事なのだ。
  ・ただこれがだめ、設計とおりになっていないだけじゃない。
  ・ちゃんと納得できる説明をしよう。
  ・能力不足か理解不足か知識不足かを見極めよう。
  ・理解不足だったら、自分の支持し方や説明し方を改善しよう。
 ・知識不足だったら、教えてあげよう。
10.部下をよく観察しよう。
 ・疲れていたら、早く帰してあげよう(疲れているでしょう?今日よくがんばってくれた。明日続けようとか)。
  ※Extreme Programmingにも1週間に40時間という概念がある。
 ・困っているようでしたら、その問題を一緒に解決しよう。
 ・部下の能力やスピードを把握しておこう。
11.支持がちゃんと伝わったか確認しよう。認識のずれをなくそう。
12.PGに報連相を(自然に)身に着けてもらおう。その大事さを理解してもらおう。
13.仕事はルールだけで成り立たない、人間の集団でやっているので
  人間性(仲間を大事にする、尊重、思いやり、勇気、信頼など)や社会性を持とう。
14.仲間(SE、PGやその他メンバー)と信頼関係を築いていこう。
15.誰かを非難するような行動をやめよう。
16.人々と対等に接しよう。
17.コミュニケーションがただとればいいものでなく、適切に!
18.常識(知識)が古くなる、崩れることが、よくある。この仕事をやる上で必要と
   なる知識や能力を定期的に磨いていこう。
19. 5W1Hを意識した説明は非常に説得力がある。業務フロー図などで活かそう。
20. Test Driven Developmentなどの有力な方法を使いましょう。テスト網羅率と品質を確保できる。
  ただし、チームメンバースキルやその時の状況にをあわせて、どの割合でやるかを的確に決めてください。


SEの効果的指導し方
1.支持を出して、本人にどのくらい時間がかかるかを教えてもらおう。
  ただし、どこまでやれば終わったとするかを明確にしよう(自分だったら、SEのレベルでは(少なくとも)単体テストを通ったら、極端に言うとユーザがOKというまで)。
  ・言葉で通じないようでしたら、図を描いてみよう。
  ・簡単なコード(プログラム)を書いて、見せよう。
  ・作業内容を解ったかどうかを確認しよう。
    ・認識のずれをなくすために、共通用語を使おう。
   具体例:プロジェクト用語(XPでたとえるとmetaphore)を作成したり、アクターやユースケースの定義をしてみてはいかがですか。
2.部下が仕事を順調に成し遂げる環境を作ってあげよう。
3.1~3時間ごとに進捗状況を確認しましょう。状況を見て修正していこう。
4.重要な部分やコアとなるところの手本を作って見せよう。
5.部下に達成感を味わわせよう。仕事を小さい単位(インクリメンタル開発)に分けてやってもらおう。一日、半日で終わる仕事をさせて、
 リズムよくやりましょう。そうすることで管理しやすくなる。みんなは毎日心地よく、モチベーションが高く働けるはず。
 いつ終わるかが解らない、終わりそうにない仕事をだれもやりたくないだろう。

0 件のコメント:

コメントを投稿