デブサミ2010 アーキテクチャに憧れろ - 『ソフトウェアアーキテクトが知るべき97のこと』著者パネルディスカッション

デブサミ2010に行ってきた。

  • force.com おもしろそうです。開発するだけなら無料だし。ラーニングカーブが良いらしい。
  • Googleの講演、全部、英語だと30%ぐらいしかわからないなぁ。
  • パネルディスカッションすごく良かったです。わりとまじめにログを取ってしまったので、どうぞ。

アーキテクチャに憧れろ - 『ソフトウェアアーキテクトが知るべき97のこと』著者パネルディスカッション

S 鈴木雄介 司会
N 伊藤直也  
E 江島健太郎
O 小野和俊

■自己紹介
N オーソドックスなWebアプリケーション
  マネージメント中心 todoの管理ではなく、何を作るかを決めることをしている。
  うごメモはてなで、こどもが人力検索はてなにポイント欲しさに押し寄せてきた。その対策を考えた。
E lingr, microblog, iphone
  COMETで実装のさきがけ
  iPhone 同士のゲーム対戦  FW内で、P2P  UDPでやる。
  bluetoothの上でEthertする。
  TCP/IPの永続的コネクションを直接張る。
O エンタープライズのパッケージベンダー
  SIは絶対やらない。ライセンスビジネス
  Full Swing, Silverlight
  クラウドと社内データの連携
N クラウドがどれぐらい使われてるか
O 丸山先生
  2009 疑問から関心に変わった年
  2010 関心から受容の年
  今までできなかったことができる期待感
 抵抗感もある。
 人のスキルの話
  職人的な人がゼロスタートしなきゃいけない分抵抗がある。
E クラウドについて
N 自前主義
 結構ジレンマなんですよね。
  強みがブレーキになるかもしれない。
  どこをクラウド側にするか
  クラウドを構築する可能性もある。
 スケーラビリティ
E lingr はVPS上で動いている。
  以前は、SFのデータセンタを使っていた。
  それでも、品質が低い。よっぱらいがケーブル切断

過去の失敗
N MVCフレームワークの出始めに作った hatena1 という自社製フレームワーク 
  中途半端なフレームワークなので
  今でもいまいち。
 2001年くらい セオリーが分かっていなかった。
E コミュニケーションの問題
  仲間内でグランドデザインを分かってもらうための道具
  こっちとあっちで思っている方向が違う
  スケールするかは、想像の世界
 オーバーコミットして、全然使わない機能
  形が無いので、できあがってみるまで、分からない事が多い

 シンプルにはじめる。
 要らないものはいれない、今必要なものだけを入れる。
  ついでにいれようというところを止める。

 そこで、メンバー間がぶつかるところ
  とにかくシンプルにしておくと、合意しやすい。

O 標準化=エスペラント語
  エスペラント語みたいなアプローチをとったこと。
  あまりにも、現実と離れすぎると、受容されない。
  すべてのデータがXMLとXSLTで、一環した世界ができる
  しかし、パフォーマンスが遅い。
  あまり理想に走りすぎた結果
 これから標準化で
  一回作ったモノを別ノモノに変えるのは大変でした。

美しいアーキテクチャ
N XHTMLとかいいですね。 棒読み
  ユーザーさんの声を聞いている。
  美しいとかいってられない。
 うごメモユーザーのため、とりあえず見れるようにする。

O きしかん
  iPadが
  Flashが無いのは理想を求めている。ギリギリの半dな

S GoogleがIE6をさぽーとしないのも
N Windows, Perl アーキよりも後方互換性をとることで長く使われてきた。
  そこから、学ぶこともある。 
  2ndlife 一週間でいやです。だれもメンテできなくて困っている。
 うつくしさをもとめない。

S Microsftは互換性を気にしているのに、評判が悪い
  Appleは最近

E 標準というのは、枯れたもの
  理想を求めた標準化は失敗する。

N ユーザーからの問い合わせが多い。
  あえて日本のケータイを使っている。
  10人いて、naoya以外はiPhone
  ほしいけど、ガラケーでがんばっている。
 そんなに新しいもの好きではない。
 若いエンジニアが、古いアーキを批判されると、イラッとする。そこを理論的に説明しなければいけない。

O チームマネージメントは後で直せるけど
  アーキテクチャは後で直せない

N シングルトンクラスというグローバル変数

教育や学習について
O それを適用するソフトウェアのライフサイクル
  自社のメイン製品で実験されると、会社がつぶれちゃう。
  一度作りきりのPjで実験すべき。
 他から依存していないモジュールで工夫するのは意図的にやる。


近未来と未来のアーキ
E モバイルは面白い
  スマートフォン ネットに常時接続した端末をみんなが持っている。
  それでルールが変わる。 ダイレクトにコミュニケーションができる。
  音声みたいなもので、みんなが常に繋がっているようなもの。
 位置情報、AR
  分散したコンピューティングパワーを使う

O リキャプチャーが面白い
  人間かの確認
  Googleが買収した。
  OCRで読めなかった文字 (10台異なった)
 Google Book Searchで役に立つ。
 人間グリッド
  Amazon Mechanial Te が自動的に

  自然に使っているだけなのに、知性を生むようなアーキテクチャ

N 改札の発電

N 社会的なアーキテクチャ
  twitterを使うようになったのか、コミュニケーションのアーキテクチャがある。
  teccrunch Googleは技術は強いが、社会的アーキテクチャをハンドルできるリーダーがいない。

  技術的なリーダーは出揃っている。
  社会的アーキテクチャは、専門性が体系化されていない。
  ハックするのが、今後のエンジニアリングでは重要


S マクドナルドのイスと冷房
 硬いイス、冷房の温度
  それって、善か悪かが難しい

N リニューアル前はITの人
  リニューアル後はトップに乗るITの話題を絞るようにした。
 そうすると、見てる方からすると偏りが減ったように見える。相乗効果
 印象を変えるために、システムを変えた。

  広告の位置

E 制度設計
  政治家がやっていること、サービスをやっている。
  企業内システムでも、同じようなことがいえる。
  作っておわりの場合が多い。
  そういうものが何故つくられているのか。使っているところを見るしかない。

O ビジネス、お金のながれが変わっている。
 最初に大きいお金、あとは安いメンテナンス費
  今は、最初は無料で使える。
  エンタープライズは naoya が行っていた手前の段階
  ユーザービリティ、レスポンスが考慮されていない。
 だめだったらすぐ
  
N 人の流れをデザインするのは誰?

O コンサルタントがいない。
  高速化、UIにはコンサルタントがいる。
  ソーシャルウェアユーザービリティ コンサルタントは
  naoya が名乗ればよい。

O 成功者が、上がった状態でアドバイス

N 社会的アーキテクチャは エンジニアリングと関連することが多い
  だからハードルが高い。

N ゲームだと、すでに確立されているんじゃないか。
 RPGが面白いのを発見した人はすごい。
  論理的には、数字があがるだけじゃないか。

O ブラウザ三国志
  だれが払うのかと思ったが、次の月に23000円払った
  原価というそういうレベルじゃない。
  感情を刺激してお金を払ってしまう
  すがすがしい気持ちで払った。

S Super Mario Wii ではまっている新人。
 なにが面白いのか
  協力してやるのが面白い。
  ほかは変わらない。
  最初はケンカしながら進める、最後の方は協力して進める。
  任天堂の設計デザイン

N ゲームの設計をするディレクタになれるのは
  デザイナかエンジニアだけ
  ものづくりの経験がある。
 今後は流行るソフトウェアが作るのが難しくなる。

S 個人の資質がでてくる。
  わかって

N ユーザーに関心がある人はセンスが良い場合が多い
 エンジニアリングが得意
  サービスを作るのが得意
E メンタリティが違う、両方同時にできる人がいない
O CEでは、スーパーマリオをジャンプするプログラムを作らせる。
 それを作るのが難しい。
  単純なジャンプを作ってくる人はだめ
  ほとんど分かる。

N プレゼンテーションをしてもらう
 最初の2週間は自社のフレームワークでサービスを作る。
  最後のレビューでボコボコにする。
  作ったサービスで見極めできる、ユーザビリティと、コードのもずーる
  ペアプロ

O ペアプロをやってみる。
  情報を自然に提供する形になる。
 半年間だけペアプロをやったことがある。結果的に良かった。

E みんな優秀なので、一緒にやってて学ぶことも多い
  ペアプロ苦手

O ペアプロだとカッコつけるじゃないですか。
  ストレッチなる。

N ペアプロやると、設計をきれいにするのが難しい。
 イディオムだときれいになる。
  システム全体から見る場合は、キーボードから手を離す必要がる。

O ペアプロからペアホワイトボード

E 一番難しいのは名前を考えること 一人で考えたい

N 設計の一貫性は一人が良い
  大きな設計はセンスが良い人に任す。
  その後は、

O 対等じゃないペアプロが多い
  ベテランと新人の組み合わせ
 
N 気持ち悪いですね。

S 3人とは価値観が似ている。
  3人ともナルシスト
  ブログに書かずにいられない。
  ユーザー寄りの視点がある。

会場からの質問
Q 車輪の再発明

O あるものを使って、ないものを作る ポリシー
  車輪の再発明は勉強になるけど、作らない。
  それは、先人に感謝して。
  過去に
  勉強したいときに意図的

E 小野さんに同意
  見つけられない人がいる。
  語彙が足りなかったり、 トレーニングすべき
  あるものを使って付加価値を付けるのがビジネス。

  下から革命が起きることがある。それは専門的なエンジニア、研究者
  それが無いなら、ソース呼んで勉強するのが良い

N 費用対効果を
  作っても
 コストが掛からず、既存のものを上回る可能性があれば作る。
  一人が1ヶ月で作れるだろう。
 作ってよかったのは、全部わかる。
  フレームワークに任すか、任さないかがすぐに分かる。
 既存のフレームワークの場合は、まず判断をググったりするので、そこで時間をロスする。

E 結構作られいない車輪がある。
  UNIXでは定期実行にはいまだにcronを使う
  一分以内に繰り返す場合は自分
 実はちゃんと、考えると未開拓分野がある。
  
 
O 組み合わせるだけでもダメ。
  付加価値をつけて競争力が必要

Q 情報収集の方法と時間について

N 1日に10回ぐらい見る
  ある程度は、常識的に抑えておく必要がある。ニュースサイトみたり、使ってみたり
  情報収集

E コアな本を読んでいるイメージがあるけど
N 継続的にやっているからそう見えるだけ

N 東京にいるとき、情報収集しすぎた。
 流行のサービスをすぐ作っちゃうようにんた。
  必要なアーキテクチャはすごく枯れたものが多い
  1970, 1980の技術
  継続的に学習するだけでよいのではないか

E あまりやっている気はないが
  ひとつ意識しているのは、本質的なものを学習すること
  今やっていることに、かかわる事で、興味をもったものを掘る

O サンマイクロの同僚のはなし。
  その場で調べる能力は必要。
  あまり情報が入ってくると、発信ができなくなる。
  リアルな知り合いが何に興味をもったかを気にしている。


N 役割分担がある
  会社ですごく好きな人がある。4000件feedを読む人。
  データマイニングとかは、学問的な知識が必要

S 情報収集はしていない。
  建築やデザインの勉強をしている。
  あえてITを入らないようにfollowしている。
  


PS 今回、小野さんがどんな仕事しているか始めて分かった。