Think Twice

Memorandum

銀河鉄道の夜

f:id:mix-juice001:20140831212814j:plain
プラネタリウムで映画「銀河鉄道の夜」を見た。

映画館と違って、左真横から右真横まで映像が投影されていて(180度以上の視界)
まるで本当に空を飛んだり、鉄道に乗っているような感覚になった。

映像も音楽も幻想的で宮沢賢治のファンタジーの世界を再現していた。

素晴らしい体験だった。

DVDも発売されていて、見てみたい気もするけど、
テレビでみるときっと素晴らしさ半減だよなぁ。
どうするべきか。迷う。

【プラネタリウム番組】銀河鉄道の夜

宮沢賢治 銀河鉄道の夜 [DVD]

宮沢賢治 銀河鉄道の夜 [DVD]

銀河鉄道の夜(プラネタリウム版) [DVD]

銀河鉄道の夜(プラネタリウム版) [DVD]

生命保険の罠・ウラ側

保険の入り方

保険は「貯金が間に合わない順」に加入を検討する。
たとえば、家族や子供がいる人(一家の大黒柱)の死亡保険金3000万はなかなか貯蓄で備えることはできないので、保険に頼る。(あくまでも定期保険で。貯蓄や投資は保険とは切り離して考えることが重要。)
医療保険は手術や入院に備えて10〜30万くらいのお金を貯蓄できていれば、保険に頼る必要はない。
そもそも全員民間の医療保険に加入せずとも健康保険に既に加入している。また、高額医療費制度があるので、月々の医療費がある一定額を超えた場合にはその超過金額は自費で払わなくてもよい。
(保険会社のパンフレットには小さく小さく記載してある。)
がん保険は診断一時金の100万を貯蓄できれば、これも保険に頼る必要はない。
保険会社の広告には「2人に1人ががんになる」と脅し文句がかいてあるが、がんになる可能性が高くなるのは65歳以降で、85歳をこえると2人に1人ががんになる。(そりゃそうだろう。)

保険の種類

2種類のみ。「定期保険」と「『定期保険』に『満期金』がついたもの」

定期保険

一定期間の保障がある保険

養老保険

「定期保険」に「同じ額の満期金」がついた保険

終身保険

男性106歳、女性109歳くらいまでの「定期保険」に保険金額と同額の「満期金」がついているもの。
超長期の定期保険の保険料と満期金積み立てののための保険料を払う。

終身保険の死亡予定年齢がものすごく保険会社にとって安全側に設定されているので、無駄な保険料をたくさん払わされることになる。

「お祝い金」等のおまけは自分で払った保険料を返してもらっているだけで、払った保険料は保険期間中に何かあった場合は、まるまる保険会社のもうけになる。

著者の印象

後田亨氏は保険料の適正化、保険のわかりやすさを目指していいて、本気で保険業界を良くしたいのだなと感じる。
なにか保険について相談するならこの人に相談したいと思った。

生命保険のウラ側 (朝日新書)

生命保険のウラ側 (朝日新書)

生命保険の「罠」 (講談社+α新書)

生命保険の「罠」 (講談社+α新書)

セールストークへの返し

本の中のセールストークへの返しが秀逸だったので、抜粋する。

影響力で釣ろうとしてる?

「皆さん、はいってらっしゃいます。」
「皆さんって具体的に誰のことですか?私は保険会社に勤める皆さんが入っている保険商品を紹介してもらえるのなら、(加入を)考えてもいいと思っています。

本体でアピールできない商品

「特約が優れモノでして・・・」
「所詮は特約でしょ?メインの契約が必須であるかどうかが最優先の検討事項じゃないのですか。それに、そんなにいい特約なら、単品販売してくれたらいいじゃありませんか」

外資系会社のマニュアル≒オーダーメイド

「必要な保障はお客様の数だけあります。個々のお客様によって価値観が違ってくるからです。ですから、われわれ営業担当者と対面しながら、しかもオーダーメイドで設計するべきです。」
「『オーダーメイド』などというのは、設計する会社側の思い上がりではないですか?客からしたら、『営業担当者の数だけ提案もある。価値観だって私たちとは違うかもしれない』ということになってしまいます。そんな視点がないですよね。それに『オーダーメイド』といっても、一からではなくて既製の商品を選ぶだけじゃないですか。」

保険料で勝負できない

「会社によって保険料が違うのは確かです。しかし、最終的に大切なのは担当者です。アフターサービスは、保障の見直しも含めて保険料以上の大きな差がつきます。」
「営業の人は誰でもそう言います。だからあなたがベストであるかどうかは私にはわかりようがないんんです。」

情緒的な選択を迫る

「お守り代わりですよ」
「おかしなことをおっしゃいますね。保険に病気や事故を予防する力があるとでも思っているのですか?」

支払いが増える理由は妥当?

「保険金の支払いがどんどん増えているのです。」
「支払い件数ではなくて、契約全体に閉める支払い件数の割合を教えてください。そのほうが参考になります。」

年齢が上がると不利なのは事実だが…ただそれだけとも言える

「お誕生日がきたら保険料が上がってしまいます。その前に入りましょう。」
「他社で入ると、年齢が上がった後でも今提示されているプランよりもっと安いかもしれないじゃないですか。全社の商品と比較する表でも作ってもらえますか」

誰に人気があるかが問題だ

「すごく人気がある商品です。」
「保険会社の人、つまり保険のプロにすごく人気があれば考えます。契約者に占める同業他社の人たちの割合を教えてください。」

誰が安心するのかが問題だ

「入っておけば安心です。」
「確かに保険金が支払われるケースは何度も聞いていますけど、『そういうこともある』という話ですよね。それで、どうして『入れば安心』と言えるのですか?根拠は何ですか?はたして保険料に見合う契約内容なのか、『不安』で仕方がないのです。コストパフォーマンスの高さなどを数字で示してもらえますか?」

顧客本意とは言うけれど…

「顧客本意の営業をやっています。」
「でもあなたは、所属している会社の保険を売らなければ稼げませんよね。ほかの会社にもっといい保険があるかもしれないと思うんです。」
「でも、おたくは保険会社からの手数料で成り立っているんですよね」

チーム開発力強化セミナー 〜 オブジェクト指向設計の基本を学ぶ 〜 に参加してきました

ギルドワークス社主催の「チーム開発力強化セミナー 〜 オブジェクト指向設計の基本を学ぶ 〜」に参加してきた。
http://guildworks.doorkeeper.jp/events/13967

参加者の内訳は
開発歴1年未満…10%
開発歴2~3年未満…20%
開発歴5年未満…20%
開発歴5年以上…50%(私は一応ココ)
だった。

「想定と違うな〜」とおっしゃっていたが、オブジェクト指向をちゃんと学び始めてまだ1~2年しか経っていないから私のなかでは想定どおり。

開発歴3年未満でこういうセミナーに来る人はすごいな〜、自分も開発しはじめたころからもっと自分に投資しておけばよかったと周りの人を見て感じた。

セミナーの内容はリファクタリングの方法となぜリファクタリングをするのか、に焦点をあてて解説と質疑・応答が中心。

リファクタリングをする理由は「変更コストを下げるため」。

今日、個人的に響いたことを3つ書き記してみる。

自分が昨日書いたコードの続きを今日書くのは、既存コードの修正

まっさらな状態からコードを書くのと、既に存在するコードを修正する機会はどちらが多いか?
既存コードの修正が多いからリファクタリングをする必要性もでてくるのだが、
昨日の自分のコードの続きも既存コードの修正で、常にリファクタリングを続ける必要がある。
そう考えると、ゼロからコードを書く機会なんてほとんどないなぁ。

「変更」の前にリファクタリングする。

リファクタリングせずに変更すると、5日かかるかもしれないが、
リファクタリングを1日かけてやったあと、変更すると1日ですむ。
変更コストが(大幅に)下がるため。

クラス図には業務の構造やビジネスルールが表現される。

逆にクラス図を見ても業務の構造やビジネスルールがわからなければ、設計に失敗している。
こういう視点でクラス図を見ていなかったので、目から鱗だった。
これからは、業務が表現できているかどうかをクラス図をみるポイントにしよう。



最後にリファクタリング(refactor*ing*)のing部分に込められているニュアンスも知った。
ingがついている場合は、「常に進化している・継続している」という意味であり、その意味でも、リファクタリングは1回やっておしまいではなく、毎日のコーディングのなかで常に行うものである。

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

アジャイル侍

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

だいぶ前に周りで流行っていた本を周回遅れで読んでみた。

最もこれまでに接点がなかったのが「インセプションデッキ」だった。
XP、スクラムイテレーション、ユーザーストーリー等はある程度の知識があったので、今回は省略。

インセプションデッキ

我々はなぜここにいるのか?

何のために自分たちはチームをくむのか。自分たちの顧客は誰なのか?プロジェクトが始まった理由は?

エレベーターピッチ

30秒以内に2センテンスでプロジェクトをアピールするとしたら?

エレベーターピッチのテンプレート
  • [潜在的なニーズを満たしたり、抱えている課題を解決したり]したい
  • [対象顧客]向けの、
  • [プロダクト名]というプロダクトは
  • [プロダクトのカテゴリー]です。
  • これは[重要な利点、対価に見合う説得力のある理由]ができ、
  • [代替手段の最右翼]とは違って、
  • [差別化の決定的な特徴]が備わっている。

パッケージデザイン

プロダクトやサービスの広告をつくる。その際、
フィーチャーそのものではなく、フィーチャーの効能をアピールする。
たとえば、

  • 「245馬力」ではなく「高速道路でも楽々追い越し」
  • 「クルーズコントロール」ではなく「ガソリン代の節約」
  • 「アンチロックブレーキ」ではなく「大切な人との安全なドライブ」

やらないことリスト

やることよりも大事だけど、やらないことも同じかそれ以上に大事だ。

「ご近所さん」を探せ

「プロジェクト関係者」に含まれる範囲は自分たちが思っているよりもずっと広い
ステークホルダーを押さえておこう。

解決案を描く

チーム全員の認識がそろっていることを確認するために、概要レベルのアーキテクチャー設計図を描く

夜も眠れない問題

あえて最も心配なことについて話し合う

期間を見極める

何を諦めるのか?

期間、スコープ、予算、品質(荒らぶる四天王)。譲れないもの、やむをえずゆずることになるもの。
期間(Deliver)、予算(Cost)、品質(Quality)は譲れないことがほとんど。
その場合にはスコープを調整するしかない。
そのシステムの価値の80%はシステムの20%から生まれている。

何がどれだけ必要か

期間は?コストは?どんなチームが必要?

夜も眠れない問題

チームにとって取り組む値打ちのあるリスクを見極める
これらのことを考えてもしょうがない。自分たちではどうしようもない。

  • 不景気
  • 会社の買収
  • お客さんの人事異動

それよりは、自分たちで解決可能な以下のようなことに力や時間を割いて考える。

  • 低スペックな開発マシン
  • お客さんに時間を咲いてもらえない
  • チームの作業場所が分散している

ニーバーの祈り

願わくば私に、
かえることのできない物事を受け入れる落ち着きと、
変えることのできる物事を変える勇気と、
その違いを常に見分ける知恵とをさずけたまえ。

最後の章にとてもいいことが書いてあったので、ほぼ抜粋。

デイリースタンドアップで話すことを

  • 昨日したこと
  • 今日すること
  • チームの開発速度を下げてしまうことがあれば何でも

から

  • 昨日、世界をどう変えたか
  • 今日は何をぶちかますつもりか
  • 不運にも自分の行く手を阻んでしまったばっかりに、あえなく吹き飛ばされる運命となった難問がどんな末路をだどるか

に変えてみると、毎日に張りがでる。

毎週、価値ある成果を届けられているか?
たゆまぬ改善のための努力を惜しまず続けているか?

yesならagileだ!

ライト、ついてますか

「『問題が何か、ということ』が心の中ではっきりわかったならッ!
その時、スデに問題は解決しているんだッ!」

ライト、ついてますか―問題発見の人間学

ライト、ついてますか―問題発見の人間学

内容や書評等はいろいろなところでまとめられている
https://www.google.co.jp/webhp?ie=UTF-8#q=%E3%83%A9%E3%82%A4%E3%83%88%E3%81%A4%E3%81%84%E3%81%A6%E3%81%BE%E3%81%99%E3%81%8B)ので、特には触れない。
おもしろかった。

警察官たるもの人をみたら泥棒と思え?

f:id:mix-juice001:20140724202618p:plain

交通安全教室?のようなものに参加してきた。
「自転車はヘルメットかぶりましょう」、「車道が原則です」のようなアナウンスはよいのだけれど、
途中からこんな感じになった。


「自動車を運転中に子供と接触した場合、子供が大丈夫といっても逃げないでください。
逃げたあとで子供が怪我していたことが分かったら、捕まえないといけません。」


「子供が自動車とぶつかった場合、子供は悪いことをしたと思って、逃げてしまいます。
逃げてしまうと、現場の状況等の把握がしにくくなり現場検証できなくなってしまいます。
子供が自動車と接触した際には逃げないように言い聞かせてください。」


完全に(まだ何もしていない交通安全教室にきていただけの)人を犯罪者扱いしてる。
よくいって犯罪予備軍のように扱っている。


交通課の20代後半の婦警がナチュラルに市民を犯罪者扱いするのだから、
警察の中では、そういう雰囲気が蔓延しているのだろうなぁ。


「逃げる」ではなく、「その場を離れる」とか(心の中では「この犯罪者が!」とか
思ってても)言えばいいのに。


残念な交通安全教室だった。

YQLをjavaから呼ぶ

やっとjavaからYQLを呼ぶ。
Gsonには活躍してもらう。

URL中の空白(半角スペース)をURLエンコードせずに、実行すると

java.net.SocketException: Unexpected end of file from server
	at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at QuerySender.sendQuery(QuerySender.java:47)
	at QuerySender.main(QuerySender.java:19)

という例外が発生した。3時間悩んだよ。

NG…(%22AAPL%22, %20%22VTI%22)
OK…(%22AAPL%22,%20%22VTI%22)

public void sendQuery() {
	HttpURLConnection con = null;
	
	try {
		URL url = new URL("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22AAPL%22,%20%22VTI%22)&format=json&env=store%3a%2f%2fdatatables.org%2falltableswithkeys");
		
		con = (HttpURLConnection) url.openConnection();
		
		con.setRequestMethod("GET");
		con.setInstanceFollowRedirects(false);
		con.setRequestProperty("Accept-Language", "ja,en-US;q=0.8,en;q=0.6");
		con.connect();
		
		try (BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));) {
			Gson gson = new Gson();
			Root root = gson.fromJson(reader, Root.class);
			
			for (Quote quote : root.getQuery().getResults().getQuote()) {
				System.out.println("symbol => " + quote.getSymbol() + ", Ask => " + quote.getAsk() + ", Bid => " + quote.getBid());
			}

		}
		
	} catch (MalformedURLException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		con.disconnect();
	}
}