2010/05/30

TOEIC受験速報

本日、十数年ぶりにTOEICを受験してきました。ということで、その感想を。

(1)チェックが異様に厳しい
いろいろとチェックが厳しくなっていたの驚きました。
  • 受付で受験票(写真添付)と運転免許証等の身分証明書をチェック
  • 開始待ち会場室内でペットボトル禁止のアナウンスが3回
  • イヤフォンをしている人にはオーディオ機器禁止を個別に指示
  • 問題用紙配布時にも、再度、受験票と身分証明書をチェック
  • さらに、携帯電話を開かせて電源を切ってあることもチェック
  • 相変わらず、問題用紙への書き込みや持ち帰りは不可のまま
これまでにどんなにたくさんのトラブルや不正があったのか?とちょっと恐ろしいですね。

(2)リスニングは違いがはっきり
やっぱりイギリス英語が鬼門でした。
リニューアルで難しくなったのは、ここですね。アメリカ/カナダ系と思しき発音は、わりとクリアに聴き取れました。しかし、イギリス/オーストラリア系は、そうは行きませんでした。「ちょっと跳ねた感じなのでイギリス系かな?」と思い、何とかいくつかの単語を拾っているうちに、次々と会話が流れていって内容が頭に入ってきませんでした。

(3)リーディングは時間が足りない
最後の20問は残り3分で適当に答えておきました。
これもりリューアルで増えた「Double passage」が丸々できていません。今の私の力では「Double passage」をちゃんとやるにはあと30分いります。やっぱり、もっと速く英文を読めるようにならないといけないみたいです。日本語だと漢字だけを拾い読みする等の方法で大意を掴むこともできますが、英語では何を拾い読みすれば良いのかもわかりません。
また、前半の穴埋め問題に時間をかけ過ぎたのと、マークシートに慣れていなかったのも敗因です。

(4)能力が落ちたのか、難しくなったのか
結果は30日以内に発送されるとのことなので、6月中には点数がでます。単に英語力が錆びついただけかもしれませんが、大学生の時に受けたものよりも難しく感じました。
TOEICの公式サイトによると
評価基準に関しても新TOEICテストとこれまでのTOEICテストにズレがないようにEquating(スコアの同一化)と呼ばれる調整を行っています。これにより、新TOEICテストとこれまでのTOEICテストのスコアの基準は同じに保たれます。
というように調整が入るようです。
今回リスニング/リーディングともリニューアル部分で最も躓いたので、どんな結果になるのかちょっと気になります。

2010/05/26

草木の名前を覚えよう#2

土曜日に撮ってきた写真から。
まずはルピナス。マメ科。
色は、白、黄色、藤色など。種類も豊富。
細かい種類は不明。

次はスイレン(睡蓮)。


地下茎から長い茎を伸ばし、水面に葉や花を浮かべる。
葉の表面に強い撥水性はない。
よく似たハスと混同されるが、別物。
ハスは水面から高く花柄が伸び、葉に撥水性がある。

最後はカモ?(とコイ?フナ?)。種類は不明。
チラチラとカラフルです。

2010/05/21

互恵のDNA(進化論の生物学的経験則)

進化論の生物学的経験則
利己的行動はグループ内の利他的行動を打ち負かす。
だが、利他的なグループは利己的グループを打ち負かす。

あるグループ内に限ってみれば、利己的な行動の方が有利なので、利他的な行動をするものは、淘汰されていきます。ところが、利己的な行動をとるものが多いグループは、結局は、利他的な行動をとるものが多いグループに負けて淘汰されてしまいます。

利他的なDNAが支配的になると、タダ乗りが可能になり、利己的なDNAが復活してきます。さらに利己的なDNAの数が閾値を超えると、他の利他的なグループに淘汰されます。それでまた利他的DNAが支配的になります。

環境が大きく変化して選択圧が強くなったきた今の時代では、利己的過ぎて淘汰される閾値は、下がってきているように思えます。

2010/05/17

品質要求の仕様化

機能であろうと品質であろうと、それが要求として表現され、適切に仕様化されないものは実現が困難です。

実際、打合せの場で「今後***に移植するかも知れないので、それを考慮しておいて」とか「最低5年くらいは使用するので保守し易いソースコードにしておいて」とかだけ言われても、なかなかうまくいかないものです。たとえば「***モジュールで使用するデータの構造は外部から完全に隠蔽する」、「メソッドのサイクロマティック複雑度は10以下とし、それを超える場合は事前に了解をとる」等のレベルまで、仕様として落とし込まれていないと、実際に工数を考慮して作業を進めることは困難です。

インクリメンタルな開発手法を採用する場合や、2次/3次と追加/派生開発を行う場合、請け負う立場としても、最初に保守し易いシステムにしておいた方が効率が良くなります。仕様書の作成や顧客から出てきた仕様書の確認を行う時は、品質仕様についても踏み込んで考慮していきたいですね。

参考図書
「[入門+実践] 要求を仕様化する技術・表現する技術」

2010/05/14

スケジュールを機能させるために

(1)設計に注力すること
(2)スケジュールを分割すること
(3)スケジュールの意味を関係者が共有すること

(1)設計に注力すること
設計とは
・要求や仕様の具体的な実現方法を探る
・要求や仕様の矛盾や間違いを発見する
・要求や仕様の曖昧な言葉を洗練する(定量的に把握する)
ことでもあります。
明確に実現方法がイメージでき、矛盾や曖昧なところがない要求や仕様であれば、見積りはずいぶんと楽になります。従って見積り能力は、見積り担当者の設計能力に大きく依存します。設計と設計スキル向上への注力が、見積もり精度向上への近道でしょう。

(2)スケジュールを分割すること
規模の大きなスケジュールは、小さなスケジュールに分割することで調整の機会を増やすことができます。巨大なスケジュールは管理が難しい上、マイルストーンが遠い先では、進捗管理を適切に行うのは困難です。

(3)スケジュールの意味を関係者が共有すること
プロジェクトのスケジュールは、実現が100%保証されてたものではありません。従って、どの程度の確率で達成できる見込みなのか、あるいは、どの程度の誤差を見込んでいるのか、プロジェクトの利害関係者全員が、共通の認識を持つことが大切です。そうすれば、予めバッファの確保を検討することができますし、日次(週次)の進捗管理を行う指針にもなりえます。スケジュールの変更も柔軟に行いやすくなります。

参考図書

2010/05/12

なぜスケジュール通りに進まないのか?

(1)不確定要素が多い
(2)スケジュールは確率分布
(3)雪球効果

(1)不確定要素が多い
そもそも正確な見積りを行うには、どのような作業が必要なのかがわかっている必要があります。単純に考えれば、
・要求が定まらなければ、仕様も定まらず、
・仕様が定まらなければ、設計ができず、
・設計が完成しなければ、実装作業も見通せない
筈です。
しかし、プロジェクト開始時には、場合によっては要求すら曖昧なことがあります。そのような状態で見積りとスケジュールを作成するのは、目隠しされた状態で遠距離射撃を行うようなもで、的に的中することは、殆どありません。信憑性は定かではありませんが、ある調査によるとプロジェクト開始時の見積りは、平均で400%もの誤差があるとのことです。プロジェクトが進むにつれて、目隠しがとれてきたり、的までの距離が近づいくるので、正確なスケジュールが引けるようになります。

(2)スケジュールは確率分布
射撃の喩えで考えれば、ある一定の視界と距離の状態での着弾予想は、例えば以下のようになるでしょう。
・的を射抜ける確率 : 30%
・的を中心とする半径1メートル以内に着弾する確率 : 70%
・的を中心とする半径3メートル以内に着弾する確率 : 95%

スケジュールも射撃と同じで、例えば、
・9月末に終了する確率 : 30%
・9月末±1週間で終了する確率 : 70%
・9月末±3週間で終了する確率 : 95%
のようにしか本来は表現できないはずです。
この例では、70%の確率でスケジュール通りに作業が進まなくなります。
100%完全無謬なスケジュールなど望むべくもありません。プロジェクトのスケジュールが、どの程度の確率で達成できる見込みで、どの程度の誤差を見込んでいるのかということについて、プロジェクトの利害関係者全員が、共通の認識を持つことが大切になります。

(3)雪球効果
スケジュールの構成要素である個々の作業見積りも、同じ理由で確率でしか表せません。個別の作業は基本的には独立した事象です。従って、例えば個々の作業の見積りが90%の精度であったとしても、独立事象の作業が10個存在すれば、全て見積り通りに進む確率は90%の10乗、つまり35%未満にしかなりません。プロジェクトのスケジュールは放っておくと、現実との乖離が雪山を転がるボールのように、どんどんと大きくなっていきます。

参考図書
「アート・オブ・プロジェクトマネジメント ―マイクロソフトで培われた実践手法 」Scott Berkun, (O'REILLY Japan)

2010/05/10

スケジュールの3つの機能

(1)ものごとがいつ完了するのかを示す
(2)全体における各作業の位置付を明らかにする
(3)進捗の管理を可能にする

(1)ものごとがいつ完了するのかを示す
多くの方が先ず最初に思いつく機能かと思います。チーム内だけでなく、対外的にも重要な機能です。特に納品日は、顧客に対する約束となります。

(2)全体における各作業の位置付を明らかにする
この機能により、チームメンバー間の協調が容易になります。「xx日までに###を完成させないと@@@さんが作業できなくなる」等の関係が明らかになれば、自然と、それまでに終わらせようという気持ちにもなります。また、想定外の作業が発生しようが、作業時間が予想以上にかかろうが、チームの各メンバー行なう作業の依存関係はあまり変わりません。たとえスケジュールの精度がかなり低くとも、スケジュールを作成する価値は十分にあります。

(3)進捗の管理を可能にする
作業を数日程度で完了する大きさにまで分割することで、作業の内容が理解しやすくなります。例えば「***情報管理システムを3ヶ月で作る」というスケジュールでは、どんな作業が必要なのか判りません。従って、作業が進んでいるのか遅れているのかも判りません。これでは、必要な時に更なる遅れを回避する処置が取れなくなります。

参考図書
「アート・オブ・プロジェクトマネジメント ―マイクロソフトで培われた実践手法 」Scott Berkun, (O'REILLY Japan)


2010/05/07

シマウマの縞

「シマウマの縞 蝶の模様 ~エボデボ革命が解き明かす生物デザインの起源~」
ショーン・B.キャロル(光文社)

「ハエ」と「ヒト」とでは姿・形・能力は大きく異なりますが、基本的な遺伝子は殆ど同じです。昆虫も哺乳類も、モジュール化された遺伝子を繰返し組み合わせて使用することで、おとな(成虫/成人)になります。違いは、どの順番でどの様にモジュールを組み合わせるのか、そしてどのモジュールにどんなパラメータを設定するのかにあります。機能や形態を特化させていく仕組みは組み合わせなのですね。

ソフトウェアの世界でも、大小様々なレベルでうまくモジュール化するのが理想です。シンプルな繰返し構造の中で、特殊な機能を同じモジュールのパラメータ制御で実現することができれば、多種多様なソフトウェアをたくさん開発するのが楽になるのではないでしょうか。

進化発生生物学というコンピュータ科学とは異分野の知見の中にも、似たような構造が発見できて、面白いです。時には違った分野の書籍も読んでみることでインスパイアされることも重要ですね。

問題
シマウマの縞は、白地に黒縞でしょうか?それとも黒地に白縞でしょうか?

2010/05/04

カワラバトの首元の色

G.Wは写真シリーズということで、
今回はよく見かけるハトです。

どこにでもいるカワラバトですが、
よく見てみると、首元がエメラルドグリーンに煌いていて
意外でした。

で、別のハトさんを見てみると、
首の上部はエメラルドグリーン、
首の下部はムラサキ色に輝いていました。


同じのを上から撮影すると
ちょっと判り辛いですがこんな感じです。

なんだか不思議ですね。
生存競争上にどんな意味があるのでしょうかね。
で、Wikipedia で調べてみると、カワラバト(英名:Rock Pigeon)

本来ヨーロッパ、中央アジア、北アフリカなどの乾燥地帯に生息する鳥だったが食用や伝令用として家禽化され、それが伝書鳩やレース鳩としてなどとしても利用されたほか、愛玩用の品種も多数作られた。
家禽時代に様々な品種が作られたことから、現在国内で見られるカワラバトも様々な羽装を呈する。

ということらしいです。
分かったような、分からないような理由ですね。
現在では、生存上有利になるわけでもないが、
特に不利にもならないので、
羽の色は、出たとこ勝負ということでしょうかね。

調べていて、Wikipedia で面白い記述を見かけたので、
リンクをしておきます。
通信データの衝突を自動で回避する
組込み型のワームを自動で発見及び除去する

などはシャレていますね。

2010/05/02

草木の名前を覚えよう

本日のピクニック結果。
いろいろ見ている割に、動植物の名前が分からない。
鳥は観察が難しいので、まずは草木の名前から
少しずつ覚えていこうと思います。

第1号は、オウゴンマサキ。(たぶん)。ニシキギ科
その名の通り、黄金色の葉っぱが美しい。


ヒトツバタゴ。別名、「ナンジャモンジャ」の木。モクセイ科。
雪のような白い花を咲かせている。

最後は「かめ」種類はわかりません。
鯉と混ざって泳いでいました。