Date:  Wed, 14 Feb 2007 14:58:12 +0900
Subject:  【オブジェクト倶楽部: 2007-05号】
X-Mail-Count: 00181

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.175 2007/02/14

■ I N D E X
┃
┣【Topics】ソフトウェア開発”見える化”セミナー 3Kから3Tへの挑戦
┣【Topics】Developers Summit 2007 - デブサミ速報!
┣【プログラミング】ゆるーいHaskell[8]
┣【PF】たまには仕事に役立つコミュニケーションのヒント[7]
┗【アンケート】気になるシステム業界 ホントのところ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 ソフトウェア開発”見える化”セミナー 3Kから3Tへの挑戦
       〜先進事例紹介と実施報告〜
  〇 〇━━━━━━━━━━━━━ ━━・ 

この度、(株)永和システムマネジメント、(株)アフレル、(株)チェンジビジョ
ンの3社による共同セミナーを開催することとなりました。

現場を変えたいとお考えの皆様は、ぜひご参加ください。
・プロジェクトをもっとうまく進めたいと思っているマネージャ
・チームや組織を一体化したいと感じている管理職の方
・効率良く人材を育成したいとお考えの人材育成部門の方

「ソフトウェア開発”見える化”セミナー 3Kから3Tへの挑戦」
●当日プログラム(予定)
  ・プロジェクトの成功に必要な質の向上
  ・暗黙知の見える化からはじめる現場改善とチーム力の向上
  ・タイムボックスマネジメントによるプロジェクトの可視化と進捗管理
  ・開発の見える化を実現するための教育内容と成果の可視化

◇日時:2007年2月27日(火) 13:30〜17:00(受付 13:00〜13:30)
◇主催:株式会社永和システムマネジメント
◇共催:株式会社アフレル、株式会社チェンジビジョン
◇会場:東陽テクニカ TIセンター 研修室(中央区日本橋本石町1-1-2)
       (http://www.toyo.co.jp/company/access.html)
◇参加費:無料
◇募集人数: 70名
◇応募締切:2月19日(月) 17:00

●お申込詳細・当日プログラムはこちらから
  http://www.change-vision.com/ja/mieruka_seminar.html

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 Developers Summit 2007 - デブサミ速報!
  〇 〇━━━━━━━━━━━━━ ━━・ 

今日と明日開催のデブサミ2007、朝いちから参加しています。日本XPユーザー
会(XPJUG)のコミュニティ・ライブに(スタッフとして)参加したのですが、早い
時間なのに予想以上の参加者がいました。
XPJUGでは侍塊sが新曲を披露し、会場全体に鳴り響いていましたよ!ちらっと
聴こえた、という方も多いんじゃないでしょうか?
このあともセッションが目白押しです。企業ブースにスタンプラリーもありま
す。明日の朝には、角谷氏のセッション、夕方にはオブジェクト倶楽部のコミュ
ニティ・ライブがあります。身内の宣伝をするわけではないですが、どっちも
オススメですよ!(やっとむ)
◆Developers Summit 2007  (http://www.seshop.com/event/dev/)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【プログラミング】ゆるーいHaskell[8]

西川です。今回は前回お話したとおり、関数合成について説明します。さて、
関数合成とは読んで字のごとく関数を合成する機能のことです。関数fと関数g
を合成して新たな関数hを作る、みたいな。Haskellには関数合成をおこなう
(.)[ドット]関数があります。ghciを起動しましょう。

$ ghci
Prelude> let f = (*) 2
Prelude> let g = (+) 3
Prelude> let h = g . f
# let h = (.) g fとも書けます。

関数fと関数gを定義して、fとgを合成した関数hを定義してみました。関数hは
引数に2掛けて、3足す関数になります。(.)関数は右側にある関数から評価され
ますので見にくいといえば見にくいのですが、慣れの問題でしょう。実際にhが
2掛けてから3足されているかを確認してみます。

Prelude> h 3
9
Prelude> h 2
7
Prelude> h 1
5
では今度は逆に3足してから2掛ける関数を定義してみましょう。
Prelude> let h' = f . g
Prelude> h' 3
12

簡単簡単。関数fと関数gを再利用して3足してから2掛ける関数h'を定義できま
した。何と言うか、簡潔だと思いませんか。前回のカリー化と同様に関数合成
を正しく使うと記述性が向上し、プログラムの見た目がすっきりします。
しかし、かけ算や足し算などの算数だけではつまらないですよね。関数合成を
使って、UNIXの/etc/passwdからユーザ名(':'区切りのデータの先頭の文字列)
だけ取り出す処理を考えてみます。

Prelude> :t takeWhile
takeWhile :: (a -> Bool) -> [a] -> [a]
Prelude> takeWhile (':' /=) "hoge:xxx"
"hoge"

takeWhile関数が使えそうです。takeWhile関数は「takeWhile f list」のよう
に使います。fがFalseになるまでlistの要素を返します。

Prelude> takeWhile (5 >) [0..10]
[0,1,2,3,4]

さて/etc/passwdは複数行あるでしょうからこれをmap関数に適用させます。

Prelude> map (takeWhile (':' /=)) ["hoge:xxx","fuga:yyy","piyo:zzz"]
["hoge","fuga","piyo"]

そういえば、/etc/passwdファイルは'#'で始まる行はコメント扱いになるみた
いなので、先頭が'#'から始まる行をfilter関数であらかじめ取り除いておきま
しょう。

Prelude> filter (('#' /=) . head) ["hoge","#fuga","piyo"]
["hoge","piyo"]

やっと関数合成がでてきました。(('#' /=) . head)はhead関数と('#' /=)関数
とを合成した関数です。まずhead関数で文字列の先頭の文字を取得して、その
次に('#' /=)を適用します。filter関数ではこの場合、(('#'/=) . head)がTrue
になる文字列、つまり文字列の先頭の文字が'#'ではない文字列だけを
["hoge","#fuga","piyo"]から抽出するので["hoge","piyo"]が取得できます。
takeWhileを使った先ほどの関数をくっつけてみましょう。

Prelude> map (takeWhile (':' /=)) $ filter (('#' /= ) . head)
Prelude> ["hoge:xxx","#fuga:yyy","piyo:zzz"]
["hoge","piyo"]
Prelude> let readUser = map (takeWhile (':' /=)) . filter (('#' /=) .
Prelude> head)

mapを使った関数とfilterを使った関数とをさらに関数合成してみました。これ
で準備ができました。
あとは/etc/passwdファイルを読みこむだけですが、これはIOモナドと呼ばれる
処理が関係してきてちょっと難しいので説明はまた、ずーっと後でします。こ
んな感じになる、ということが分かっていただければ良いのではないでしょう
か。

Prelude> :m + Control.Monad
#Control.Monadモジュールをロードします
Prelude Control.Monad> return . readUser =<< (liftM lines (readFile"/etc/passwd"))
#ここでも関数合成を使っています
(結果が表示されます)

今回は関数合成について説明してみました。関数合成は見た目がカッコいいと
思いませんか。慣れるまでにちょっと時間がかかるかもしれませんが、習うよ
り慣れよ、でトライしてみると徐々に使えるようになっていくと思います。
(西川)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-7&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-7&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-7&choice=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【PF】たまには仕事に役立つコミュニケーションのヒント[7]
     - 「聴く」

●話を聴くところから
コーチングを学び始めたばかりのころ、特に「聴く」ことの大切さを学びまし
た。今日は「聴く」というスキルに焦点を当て、その効果を考えながら、みな
さんがすぐに実践するための方法についてご紹介したいと思います。

●話を聴くのが苦手で・・・
「話を聴くのって難しいですね。」と日ごろ一生懸命に「聴く」を実践されな
がらもなかなか思ったようにできていない方たちの声を聞く機会があります。
私は以前「人の話を聴く」のは、相手から情報を得るためがほとんどだと思っ
ていました。
なので、生意気にも「説明が解りにくい」「興味が無い話題」だったりすると
げんなりしてしまうこともありましたし、知識や経験が積み重なってくると、
「そんなのもう知ってる。」「前にやったことがある。」などとどこか途中で
耳を閉じてしまっていたと思います。

従来のコミュニケーションのスタイルだとスピーカーやプレゼンテーターなど
といった話し手に注目が集まることが普通でした。その手法をトレーニングを
する人は多くても、「聴く」という作業は地味な上に学ぶ機会が少なかったの
で、私たちの心のどこかには「とても忍耐が要るもの」と焼きついてしまって
いるのかもしれませんね。

人の話に心から耳を傾けること。シンプルな「聴く」というスキルにはコミュ
ニケーション全般においてとても重要な役割を占めています。今どうしてその
スキルが急速に必要となってきたのでしょうか?

●「聴く」がもたらす効果
・距離を縮める
私たちはお互いの考えを理解し合うことで、その間にある距離を縮めることが
出来ます。そのための行為として対話による「聴く」「話す」を用います。
はじめはギクシャクすることもあるかもしれません。そこでよりじっくり相手
の話に耳を傾けることによって、「落ち着いた気分になり、論理的にマイペー
スで話が出来るようになる」「理解が深まり、二人の間には理解しあえたとい
う達成感がある」といった効果があります。

・チームや組織における存在意義を感じることが出来ます
話をじっくり聞いてもらうということは、想いや考えを理解してもらえるよう
に感じると同時に、自分の存在そのものを受け入れてもらうという効果があり
ます。
新しいプロジェクトで仕事が始まったばかりの状況を想像してみてください。
なかなか意見が言いにくかったり、思ったようにことが進まないことも多いと
感じることもあるかもしれませんね。次の段階としてチームが成長しはじめる
ころには、メンバー同士がお互いを認識しあうという状況が発生します。顔や
名前を覚える・お互いの役割が明確であるなどがそれにあたります。
本当にチームにおける存在意義が生まれるためには、会話が必要となってきま
す。物事をどんな風に捉えるのか?今の状況をどんな風に考えているのか?さ
らにどんなアイディアで進めてゆこうと思っているのかを聴くことで、「自分
自身の存在感」を感じられるようになってゆきます。

●実際にはどうするか?<基礎編>
・話をする時間を作る
忙しそうにしている相手には、なかなか話しかけにくいものです。また、話を
聞いてもらうことは思ったよりも「相手の時間を使ってしまうのではないか?」
といった憶測を生むこともあります。
例えば午前中だったら比較的時間を持てるとか、今は難しいけど明日の午後だっ
たら時間を持てるなど、自分が誰かの話に耳を傾けることが可能な時間を作り、
そのことを出来るだけオープンにしましょう。
はじめの一歩は「話を聴きたいと思っている」ということの意思表示からです。

・「聴いているよ」と全身で伝えよう
仕事の手を止めることなく人の話を聞いていたり、相手の顔を見ずに用件を聞
いて済ませてしまうことがあります。
まずは仕事の手を止めることや相手に体や顔を向けることが大切です。

・盛り上がらなくてもいい
気の利いたユーモアを言うことや、的確なフィードバックをすることがコミュ
ニケーションではありません。また、基礎が出来ていないのにこれらの応用編
を取り入れることによって、さらに事態の悪化を招いてしまうよりは、しっか
りと関係作りをすることのほうがよっぽど近道です。
まずは耳を傾けることに徹してみてはいかがでしょうか?相手との人間関係が
出来上がってきたら、応用編の出番ですよ。

●まとめ
今日の記事では、「聴く」というスキルの効果とその使い方について紹介しま
した。いかがでしたか?簡単なようでいて、一番大切だということが少しでも
お伝えできれば嬉しいです。次回はさらに応用編としてもっと実践的な内容を
企画しています。お楽しみに!(上田雅美)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M003-6&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M003-6&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M003-6&choice=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━3 r d ■━
■
┗【アンケート】気になるシステム業界 ホントのところ

今週は「プログラマーの定年って何歳ぐらい?」のホントのところ。先日こん
な話を聞きました。「本当にものづくりに手を動かせるのは、若いうちだけだ。」
色々な人に聞いてみたら、皆さんそれぞれの答えを持っているようです。さて、
皆さんはどんなご意見でしょうか?

  20代のうちだけだ。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=141&choice=0
  30代半ばごろかなぁ。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=141&choice=1
  30代のうちは大丈夫。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=141&choice=2
  40代の半ばはセーフ?
     http://www.ObjectClub.jp/special/kininaru/vote?vol=141&choice=3
  40代なら間違えなく現役。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=141&choice=4
  そんなもの、ありません。生涯現役に決まってます!
     http://www.ObjectClub.jp/special/kininaru/vote?vol=141&choice=5
  それは秘密です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=141&choice=6
  ちょっと語らせて!
     詳細をこのメールに返信ください!!

アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「どんな人に刺激を受けますか?」の結果は公開中。ぜひご覧下さい。
⇒http://www.ObjectClub.jp/special/kininaru/vol140/PlonePopoll_results2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人です。連休中に用事があって車を運転しました。ラジオか
ら「すっかり日が長くなりましたね。」と聞こえて初めて、そのことに気がつ
きました。読者の皆さんは気がついていましたか?春はすぐそこですね。

今週の強引な一言
***木に縁りて魚を求む(ことわざ)***
方法を誤ると何も達成できないということのたとえ。色々なプロセスや概念の
方法を守ることが私たちの仕事ではないはずです。喜ばれる仕事をすることを
優先すれば、方法はいくらだってあるのではないでしょうか?(上田雅美)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は         ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒http://www.ObjectClub.jp/community/object_ml/help/
〇 免責事項、過去の記事は   ⇒http://www.ObjectClub.jp/community/object_ml/
■ 発行:オブジェクト倶楽部 ⇒http://www.ObjectClub.jp/
■ 編集代表:平鍋  健児
Copyright (c)2003-2007 オブジェクト倶楽部. All Rights Reserved.
powered by Eiwa System Management, Inc.