機雷がなんだ! 全速前進!

SEというかプログラマというか、日々のエンジニア生活の中で体験したことなどを中心に書き残しています。

[2014/9/6(土)]“俺の” XP祭り2014でLTしてきました

という訳でタイトルのとおり先日9/6(土)の「“俺の” XP祭り2014」でLTしてきました。

事の発端は、遡ること昨年初めての参加した「XP祭り2013」でのことでした…

スタッフの侍れっど君(@samuraiRed)に軽〜く「来年LTやってね♪」って笑顔で言われ、何も知らない俺は「ええよ~♪」って軽く答えたのでした。この時、まだ昼の野良LTくらいしか見てなくて、最後のLT祭りinXP祭りを体験する前のいたいけなおじさんは、その意味を理解していなかったのです。いざLT祭り本番になってことの重大さに気付きました。POStudyの関さん、楽天の伊藤さん、アジャサムの西村さんなどのメジャーリーガー級がバンバン出てきて、ものすごくハイレベルなLTを繰り広げている…おじさんに旋律走る…

でもまあ1年もあるし、来年参加するかも分からんし、彼もどうせ覚えてないだろうし…とかいろいろ気楽に考えてしばらく忘れていたのですが、今年のXP祭り募集が始まると、ふとそのことを思い出したのでした。こくちーずでのXP祭りの申込って「LT応募」とセットなんで、一考してからエントリしようと思って軽くその旨をSNSで呟いたらそれを拾われてしまったというねwで、今年はLTのエントリ数が多いと関係者から聞いていたので、ま、通らんやろ…って思ってたんですが見事に通ってしまうとw

そんな訳で、結局やることになった訳なのですが、当日あんなに大勢の人の前でLTするのは初めての経験でした。軽く100人以上は居たのかな?で、さらになんの間違いかオオトリLTをやらされるというねwこれはもう完全に人為的な何かを感じますが、それはそれとして、感想をひとことで言うならば、超楽しかったということです。

前夜までシコシコ作っていたLTスライドがなんと削っても90枚弱になってしまい、絶対5分で終わらんボリュームに…でも、どうしても削りきれなくて(削りたくなくて)そのまま望んた結果がLT終了時のドラ鳴りの時点で進捗76.6%(69/90)というひどい有り様に…もしこれが開発なら完全にリリース失敗なアレです。そうデスマです。前夜、超早口で何回か練習した時はギリギリ入り切るか、切らないか…くらいの感覚だったのですが、もともと緊張しぃなので、めっちゃ緊張していたのと、聞いてくれてる方々の反応を感じながら、つい余計な言葉などを挟んでしまったのが原因かなぁ…と。。。

なのに、本当に楽しかったです。もうホント心の底から。人前で話すのって昔から苦手でしたし、今も決して得意ではないと思っているのですが、ここ最近は失敗も含めてそれを楽しめるようになったというのは自分でも驚きでした。アジャイルやXPと出会ってその辺のマインドセットが変わったのかも。オオトリLTが中途半端なところで時間切れとなり聞いてくれていた人達には少し申し訳ないような気もしますが、そういう失敗も含めてのXP祭りなんじゃないかと、勝手に思ったりしている訳で、もし仕事のプレゼンだったら、もちろん確実に時間ない終わる内容にしたと思うけど。

今回は、削らなきゃイケないことは分かっているけど、削りたくないという、個人的な気持ちでオラオラ突き進んでみました。もちろん反省すべき点もあったので、もし次回リベンジするチャンスがあれば是非また挑戦してみたいなと思いましたが、今回は”楽しめた”ので個人的にはとても満足してますし、そういう意味では成功なのかなって思ってます。ありがたいことにXP祭り後の懇親会で続きを再度LTさせていただくことができました。そんな場をつくっていただけたスタッフの皆さんにはホントに感謝です。

そんな訳で、一応私のLT資料(人生初SlideShare)へのリンクをココにも載っけておきます。

最後に今回登壇してみて、改めて気付いたことをまとめておきます。

  • やってきたことの総括/棚卸しができる
  • やってきたことの長所と短所について考える機会となる
  • 上記を踏まえて次の行動を起こす際の起点となるかも
  • SlideShareでスライドを公開すると色んな人からフィードバックが貰える
  • 人前でプレゼンするとても良い実践練習となる(※いえ実戦です)
  • 超楽しい(時間どおり終わらないという失敗をしてもなお)

もし、今回のLTが「メジャーリーガーじゃなくてビギナーでも登壇してもいいんだ!」とか「登壇するほどじゃないと思ってたけど、あのくらいでいいなら俺達もっとスゴいことやってるぜ!」みたいな方々がどんどんと登壇するキッカケになったらとっても嬉しいな…と思っています。

それではまた来年(やるのかな?)^^;

[2014/8/23(土)]DevLOVE現場甲子園2014にスタッフ参加してきました

さぁて、サボっていたブログを久々に更新しますよw

という訳で、少し遅い報告となりましたが「DevLOVE現場甲子園2014東日本大会」に参加してきました。

https://dzpp79ucibp5a.cloudfront.net/events_banners/11792_normal_1404427898_devlove-east.jpg(今年もdesigned by @s_kicさん)

昨年のイベントでは貴重な初登壇を経験をさせていただきましたが、今年は裏方スタッフとして参加しました。

スタッフ参加のキッカケは、昨年のイベントで登壇した後にFBグループに「DevLOVE甲子園」というのがあったので、イベント参加者はみんなここに参加するもんだと思ってグループにも入れてもらったのです。…が、どうやらスタッフ用のグループだったことを後から知るというw

社外コミュニティのイベントスタッフは未経験なので、きっと良い勉強になるんじゃないかな…と思い、今年は思い切ってスタッフから参加させてもらうにしました。

で、去年は自分が発表するスライドの準備でホントにいっぱいいっぱいになってて気付かなかったのですが、イベント開催の8/23(土)から遡ること半年くらい前から、スタッフメンバーでちょこちょこ集まっては、イベント企画、コンセプト作り、構成、デザイン、場所の確保、レイアウト、人集めなどの準備をコツコツやってきました。私は最初の何回かは都合が合わなくて参加できず、実質的には4月くらいからの合流となりましたが、沢山の人が集まるイベントというのは、やはりそういう積み重ねの結果出来上がったものなのだということを改めて実感させられました。

今年は日本オラクルさんに場所を提供していただき、一般参加者は160名という人数を上限に募集され、早々にキャンセル待ち状態となりました。1周間前で約30名ほどのキャンセル待ちが居る状態でしたが、当日参加してくれたのは100名強ということで、MAX人数来ても大丈夫なように準備に準備をしておいた身としては少し寂しい気もしました。そういえば、DevLOVEのイベントに参加した時にパンダさん(@papanda)が繰り返し「ドタキャン」は辞めましょう!って必死に訴えていたことを思い出しました。多くの関係者の人達が長い時間かけてコツコツ準備してきたことを考えると、今更ながら身に染みる言葉です。とは言え、スピーカーは全6トラック(創、考、守、心、技、隊)合計で60名、スタッフや関係者も含めると総勢165名の方々が参加してくれた大きなイベントになったことは、スタッフ初経験の身としては、とても有り難く、楽しい時間になりました。当日参加してくれた皆様、本当にありがとうございました。

今年は、DevLOVE広島が立ち上がったということもあり、その中心となったザキさん西さんが選手宣誓をやってくれました。そして参加者同士で行ったダイアローグのファシリテーターも務めていただきました。本当にお疲れ様でした。嬉しい事に、参加者の投票で選ばれるMVPと準MVPのうち、準MVPをめでたく西さんの「中間管理職がいなくなったらプロジェクトがうまく進みだしたよ♪」が受賞されました。おめでとうございます(^^)

そして栄えあるMVPは、SonicGardenの西見さんいつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜」でした。

この日から「クソ」→「天使」というオートトランスレートが流行ってるような気がしますw
おめでとうございました。そして登壇ありがとうございました。
 
当日は裏方として走り回っていたので、あまり多くの方の発表を聞けなかったのが少し残念でしたが、なんとDevLOVE現場甲子園は、さらに年内に
  • DevLOVE現場プレイバック甲子園:昨年のたてらぶ相当
  • DevLOVE現場甲子園日本シリーズ:東西大会の代表が激突する今年の完結編
というイベントが予定されています。なんとスタッフの皆も当日知るというw
今回、私が参加した東日本大会とは別に、同日開催で関西では「DevLOVE現場甲子園2014西日本大会」が開催されており、そちらも盛況だった模様です。なので日本シリーズでの東西交流戦がどうなるのか今からとても楽しみです。
上記のイベントについては、近日中に告知がされると思いますので、また沢山の方に参加してもらえたらな…と思っています。

沼津へFACOMを見に行ってきました

3/14(金)日本初の国産スーパーコンピュータFACOMを見学に行って来ました。

キッカケは一緒に社内勉強会をやっているメンバーとの他愛もない会話が切掛でした。

私は企画をおねだりしただけなのですが、見学ツアーを企画、設計して感動的なツアーをコーディネートしてくれた同僚に感謝します。

 

行って来たのは富士通の沼津工場内にある「池田記念室 : 富士通」です。

ここにはプロジェクトXでも取り上げられた動くFACOM128が展示されています。

この業界で働くものとして、一度は行ってみたいと思っていた場所なのでした。

 


プロジェクトX 国産コンピューター ゼロからの大逆転 - YouTube

 

当時の世界最速コンピュータ開発をめぐる有名な象(IBM)と蟻(富士通)の戦いです。ミスターコンピュータ池田敏雄氏の言葉「全ての開発は感動から始まる…」は、聞くだに胸が熱くなる気がします。そして、学生を前にした講演で「人間は進歩をしていない限り、本当の生きている実在感と幸福感はないはずなんです。絶えず進歩していく、自分を進歩させていくということに、本当の生きている意義があるんじゃないかと、私は思います」という言葉は、そのままは受け入れられないけれど、人間を技術屋と読みかえると私にはシックリくるような気がしました。

 

アルバム コメント

f:id:orinbou:20140325000502j:plain

先ずは沼津港で腹ごしらえのお店「丸天」の魔除けw

f:id:orinbou:20140325000501j:plain

(マ)グロカブト。確かにグロいすね…^^;

f:id:orinbou:20140325000500j:plain

腹が減っては戦はできぬ!

ってことで、名物の天丼をいただきました…が、完食できず撃沈!!

ボリュームあり過ぎです。。

f:id:orinbou:20140325000459j:plain

見よ!コレが今でも動く日本初の国産スーパーコンピュータFACOM128の勇姿!説明してくれる方からもただならぬ熱意を感じました。ちなみに、この子は女の子でファ子ちゃんという愛称があるそうです。

f:id:orinbou:20140325000458j:plain

これがFACOMに使われているリレー回路の部品です。思ったよりもひとつひとつが大きい!

f:id:orinbou:20140325000457j:plain

操作盤です。昔ながらの機械式のボタンです。デモ処理として5次元連立方程式を計算させてみました。

f:id:orinbou:20140325000456j:plain

パネル表示は、これまた面白くて、ソロバンと同じ表現がされていました。これも国産コンピュータならではと感じました。

f:id:orinbou:20140325000455j:plain

操作盤アップの図。

f:id:orinbou:20140325000453j:plain

一般記憶装置。つまりFACOMのメインメモリです。

f:id:orinbou:20140325000451j:plain

FACOMの全体像の説明図
f:id:orinbou:20140325000452j:plain こちらは乗除算開平装置になります。
f:id:orinbou:20140325000450j:plain

計算結果をこの紙に出力します。

しかも凄いんです。計算結果が正しいか検算する仕組みをもっているんです。つまりテストが自動化されているのです。素晴らしい。

ちなみに検算でミスを発見すると、自動でリトライまでかかるとか…どんだけ凄いんだって思いました。だって60年近く昔なんですよ!作った人は天才としか思えない。

f:id:orinbou:20140325000447j:plain

FACOM128を別の角度から。

全体は40畳の広さになります。兎に角デカイ。

昔も今もスパコンはやはりデカイんです。

f:id:orinbou:20140325000448j:plain FACOM本体のすぐそばに説明用のパネルが展示してあります。

f:id:orinbou:20140325000449j:plain

入力データは紙テープからINPUTします。

現役で動く紙テープと読み取り装置を見るのは、初めてでした。カルチャー・ショックですね~

f:id:orinbou:20140325000445j:plain

f:id:orinbou:20140325000435j:plain

池田敏雄氏の書いたノートが展示されていました。清書版のノートとはいえ、人間が書いたとは思えないほど、細かくて美しいノートでした。しかもこのノートはミスが許されない万年筆で書かれているのです。驚きの連続でした。

f:id:orinbou:20140325000446j:plain

FACOM128の操作版の右下はプリント用紙が保管されています。ちなみに、見るからに引き出しっぽく見えていたものが、実は引き出しではなかったことにも少し驚きましたw
f:id:orinbou:20140325000443j:plain

 LSIの回路の熱を下げるため段々の煙突を付けて表面積を増やしてあります。今と同じヒートシンクの考え方ですね。

f:id:orinbou:20140325000444j:plain

ジャンパーだらけの回路。このジャンパーの回路線の一本いっぽんの長さにも意味があるのだそうです。もはや人間業ではないような…そもそも、これで安定して動くのでしょうか…少々不安な気もしました。

f:id:orinbou:20140325000441j:plain

セラミックで焼きを入れた回路の多層板です。

f:id:orinbou:20140325000442j:plain

当時のメモリ(RAM)です。

時代と共に段々と目が細かくなり容量が増加していきますが、まだハンドメイド(なんと手編み!)の時代でした。

f:id:orinbou:20140325000439j:plain

インゴットをスライスした半導体のシリコンウェハです。

まるで魔法の鏡のように美しい。

f:id:orinbou:20140325000437j:plain

スライス前はこんな円柱なんです。

天辺がメタルスライムみたいで可愛いw

f:id:orinbou:20140325000438j:plain

もはや金属(珪素なので厳密には金属ではないか…)のハムのようです。

f:id:orinbou:20140325000436j:plain

現代のスーパーコンピュータ京のパネルも展示してありました。知らなかったんですが、京は水冷式で、結構大きめのラックに詰め込まれたコンピュータ✕861台で構成されているそうです。高集積化が進んでいるにもかかわらず、スーパーコンピュータは昔よりも断然巨大になっていることが分かります。

f:id:orinbou:20140325000434j:plain

当時プロジェクトルームとなったとんかつ屋「あたりや」で〆の晩御飯をいただきました。美味しかったです。

f:id:orinbou:20140325000433j:plain

家に帰って飲みながらプロジェクトXを見なおしてしまった。

 

ミスターコンピュータ、感動をありがとう!!

また会う日まで

 

C++の構造体で多重継承してみた

ホントだ。確かにできました。なるほどね~。
確かに構造体(struct)は分類的にはクラスです。
単にstructをつけたクラスとして定義されてるので、当たり前と言えば当たり前か...^^;
欲を言えば、余計なことできないように抑止して欲しかったけど...
ま、実際はこんな使い方しないからイイけどねw

////////////////
// クラス
////////////////
class ClassX { public: int iNoX; };
class ClassY { public: int iNoY; };

////////////////
// 構造体
////////////////
struct StructA { int iNoA; };
struct StructB { int iNoB; };

////////////////
// マゼマゼ
////////////////
struct StructC : public ClassX, ClassY, StructA, StructB { int iNoC; };

////////////////
// 実行
////////////////
int main()
{
// マゼマゼ
StructC test;
test.iNoA = 1;
test.iNoB = 2;
test.iNoC = 3;
test.iNoX = 4;
test.iNoY = 5;
return 0;
}

以上、小ネタでしたw

スポーツと円卓のちから

月イチで開催している職場フットサルの打ち上げで思ったことのメモです。

 

普段の職場では決して十分なコミュニケーションが取れているとは言えないのだけれど、その日はやけにみんなで楽しく会話出来たなーと思ったので、なんとなくふりかえりをしてみることにしました。

 

いつもと何が違ったんだろうか?

これかなぁ…と感じたのは次のことでした。

 

  • 普段の職場から離れて非日常を感じたこと
  • スポーツで体を動かしたこと
  • 円卓で飲み食いしながら会話したこと

 

普段の職場から離れることで、非日常を演出できたのが良かったと思う。いつものなんとなくどんよりシ~ンとした雰囲気から開放されたように思います。普段PCに向かって作業をする時間が長いので、スポーツで体を動かして汗をかくことが、肉体的にも精神的にもデトックス効果があって良かったのかな。珍プレーも好プレーもあって、みんな自然と笑顔になる瞬間もあったし(^^)

 

そして、円卓で飲み食いしたこと。これが意外と効果的なんじゃなかったのかな、と思いました。居酒屋などの四角い長机だと対面の人の顔はよく見えますが、それ以外は、意識していないとなかなか見れません。反して円卓では、ほとんどの人の顔が満遍なくみえますし、特定の人というよりは、基本的にみんなと話すという意識になりやすと思います。

 

これは、普段の現場のミーティングなんかを思い返しても、大事なこのなんじゃないかなって思います。問題を解決する場合は、人ではなく問題と向き合うために、物理的なレイアウトを、そのような配置にするとより効果的だという話を「Amazon.co.jp: これだけ! KPT: 天野 勝: 本」でも言っています。物理的な配置を根本的に変えるのは難しいと思いますが、ミーティングや飲み会などなど、ちょっとした工夫でより効果的なコミュニケーションがとれるならば、これは是非やるべきでは?って思いました。

 

てことで、次回も楽しみです。

また、新しい気付きがあるといいな

 

 

アジャイラーは魔法使いなのか?

アジャイラーは魔法使いなのか?

 

奇跡のマネージメントを前提とした開発をしている人から見ると、リーンやアジャイルで開発している人をつい別世界の人と考えてしまうことがあるように思う。あの人達は、恵まれており、特別で、特殊な能力を持っているので、そんなことができるのだ…と。

 

本やネットの記事を見ているだけだと、すごいなー、いいなー、って憧れつつも、どうせ雲の上の人だからなんだと考えがちで、軽い思いつきで動いても、確たる信念みたいなものもないので、すぐに頓挫して止めてしまう。そして、これまでと殆ど変わらない、いつもの毎日を過ごすことになる。

 

果たして本当にそうか?

アジャイラーは魔法使いなのか?

 

社外の勉強会で、いろいろな現場の人と話をすると、それは少し違うということに気づく。確かに、先進的な取り組みをしている人もいるのだけれど、同じように悩み、困り、失敗している人も沢山いることを知る。そして、先進的な人も、最初から先進的だった訳ではないし、失敗している人も、その失敗を糧にして前進しようとしていることなんかも知ったりする。何より、前向きに、地道に挑戦し続けている人達が、確たる権力や役職を持っている訳でもない、自分と同じいちエンジニアだったりすることも多くて、決して魔法使いなんかではないことを思い知る。それどころか、限られたリソース、時間の中で、より価値のあるソフトウェアをつくるためにどうしたら良いかを、奇跡のマネージメントなんか当てにせず、自分の頭で徹底的に考え抜いて実践している徹底したリアリストだったりする。

 

社外の勉強会へちょいちょい顔を出すようになって、だいたい1年半くらい経つ。そして、その時々で新しい知識を仕入れたりしている。そもそも勉強会へ行く動機は先ずはそこにある(あった)のだから当たり前なのだけれど。ただ、最近それ以上に価値があると思えるのは、ディスカッションなどで同じグループになった人達のそれぞれの現場の経験談を聞けることなんだと思う。本人から直に聞いた話というのは、本やネットの記事を読むのとは違う。失敗談ですら勇気をもらえる。私も自分の現場の悩みや失敗を相談することもある。もちろん藁にもすがる思いでそうしているのだけれど、そんな現場の悩みや失敗談ですら、時として人に気付きや勇気を与えることもあるんだよな・・と思う。

 

最近は、以前と比べて社内で何かしらの活動をするときに、共にトライできる仲間が増えてきたけれど、たまに社外の勉強会で色んな現場の人と話す度に、何かしら新しい気付きをもらえている気がする。最近ではTwitterFacebookなどの便利なSNSもあるので、うまく使えば普段のそれぞれの現場のトライを簡単に知ることができる。それほどコストをかけずに刺激し合える。SNSの好き好きはあるとは思うけれど、可能な限り活用すべきだと思う。

 

普段の現場から離れて、社外の色んな現場の人と語り合う場を持つことは、エンジニアにとってとても大切なことなんだと思う。

 

もっと外に出よう。

 

[2014/3/4(火)]アジャイルサムライ横浜道場「ざっくりわかるアジャイル開発」へ参加してきました

2014年始動の会 アジャイルサムライ横浜道場 「ざっくりわかるアジャイル開発」 - アジャイルサムライ読書会 横浜道場 | Doorkeeper へ参加してきました。昨年読書会がひと回りし、心機一転シーズン2がついに始まりました。

f:id:orinbou:20140305013024j:plain

今回は第1章「ざっくりわかるアジャイル開発」がテーマでした。

昨年までの通常回は、グループ内で輪読してディスカッションするという形式だったのですが、今回からは、プレゼンターの方(今回は道場主の KIMURA Takao (tw_takubon) さん)が30分程度スライドを使って解説した後、グループ毎にテーマを選択してディスカッションする形式になりました。今回は、初参加の方が3(4?)名ほど居たかな。その内のひとりは、現在の私の現場の開発チームの人でした。同じ現場で問題を共有できる人が一緒に参加できたことはものすごく嬉しい。

 

さて、今回わたしが参加したディスカッションのテーマは次の2つです。

  • 3つの真実
  • 価値ある成果(ソフトウェア)を毎週届ける

どちらも参加者のコンテキスト毎の経験などを交えてディスカッションしたことで、普段の自分の現場内だけでは、出ないような意見に刺激を受け、また、気付きを得ることができました。

 

今回のディスカッションで使用したホワイトボードをメモがてら残しておくとします。

f:id:orinbou:20140305013040j:plain

参加者の人が普段ガッツリWF開発をやっているということもあり、アジャイル開発との違いと、如何にして必要な要求を顧客から引き出すかについて語り合いました。顧客から価値ある要求を引き出すには、ドキュメントだけでなく、動くソフトウェアかそれに近いモノを見せるなど、できうる限りの手を尽くすべきだと…理論的には、無限の時間と予算があれば、全ての要求が固まってから開発に着手することができるかもしれない。がしかし、私達は、そんな理想的な世界には生きていない訳で、じゃどうするのが現実的なのか?限られた時間と予算でより価値の高いソフトウェアを提供するにはどうしたらいいのか?その答えのひとつがフィードバックを前提とした開発をすることなんじゃないかという話になりました。早めにフィードバックが得られる手法でやっって、開発する側と発注(評価)する側とのギャップを極力小さいうちに埋めていくのが現実解なのかなと感じました。

f:id:orinbou:20140304210129j:plain

 

f:id:orinbou:20140305091014j:plain

価値とはなんでしょうか?

誰にとっての価値でしょうか?

普遍的なものでしょうか?

答えはひとつではなく、ステークホルダー毎に価値は異なるよね?という話をしました。例えば、経営者にとってはビジネス(金を生むこと)が価値でしょうし、プロジェクト管理者にとっては計画通り開発が進んでいることにも価値があるということです。(私達のような)開発する人にとっては、早めのフィードバックを得て次のイテレーションに活かせることにも価値がある訳です。なので、普段我々が開発しているものは、いったい誰に何を提供しているのか?ということを自分の現場でも改めて考えてみることが大切なんじゃないかなと感じました。職場でもこういう風に普段の業務とは一歩距離を置いたディスカッションができると良いのになぁ…

f:id:orinbou:20140304213947j:plain

 

そして、ちょうど今読んでいる本「Amazon.co.jp: Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン: Mary Lynn Manns, Linda Rising, 川口 恭伸, 木村 卓央, 高江洲 睦, 高橋 一貴, 中込 大祐, 安井 力, 山口 鉄平, 角 征典: 本」のお二方にありがたいお言葉とお名前を一筆ずついただきました。

KIMURA Takao (tw_takubon) さん、たかS (takaesu0) さん、ありがとうございます。

f:id:orinbou:20140304235329j:plain

 

一筆いただいて気合も入ったことですし、こちらの本も、最近何かと停滞していた私(達)の現場を前進させるために、ぜひ活用していきたいと思います。

 

そんな訳で、明日からも頑張りましょうか。。。