DevelopersSummit2011(2日目) #devsumi

創発
2日目のメモ。

セッションの最初に書いてあるのはメモです。
感想は参加したセッションの末尾に記載されています。

18-B-1 プログラマが知るべき、たったひとつの大事なことがら

プログラマが知るべき97のこと


和田卓人 氏 @

  • 目黒雅叙園のBの部屋がソフトバンク端末でバリ3!
    • ただしWiMAXは入らない

発表資料がHTML5

プログラマが知るべき97のこと、通称きのこ本
公式のハッシュタグ #97prog_ja

  • 読む時代
  • 書く時代
  • 話す時代
  • きのこ18. 学び続ける姿勢
  • チェックポイント:原メソッド
    • 一旦会場を見回したりするメソッド
  • やってみせる
    • やってみせることで人の心をがっちり掴む
  • いいシステムを作るためには美しい設計でなければいけない
    • というのは幻想
  • 技術書の「写経」の方法
    • ググれば見つかります
  • ケントベックの生原稿を読んだ
  • 2つの道がある
    • きれいな設計をしてから綺麗に動作する
    • 汚い設計から汚く動作して綺麗に動作する
  • ロールプレイングゲーム
    • 勤務時間中は理想のプログラマのふりをする。それがあなたの仕事なのです
  • 一人より二人
    • ペアプロはコーチも学習しながらチームに落としこむ
    • 2時間を3コマやると猛烈に疲れる
  • まずテスト
  • プロジェクト自身にしゃべらせる
    • 単純作業はコンピュータにやらせる
      • 異常検知はコンピュータにやらせる
    • 人間は人間にしかできないことをやる
      • 設計は人間がやる
  • 人に伝える時代
  • TDDと黄金の回転
  • アウトプットはインプットになる
  • アウトプットは更なるアウトプットへ
  • TDD開発講座はgihyo.jpで見ることができます
  • やってみせることが重要
    • テストを実際に見てもらう
  • TDD Boot Camp
    • 横浜で実施
  • 学び続けるコツ
    • 身の回りのものをプログラミングする
      • プレゼンもプログラミングしてしまう
      • 新技術を現在仕事で使っているプログラムに実装するのはリスキー
      • だから身の回りのものをプログラミングする
    • 毎年新しい言語を学ぶ(達人プログラマ
  • 若い人から学ぶ
  • 技術の学びは「らせん」
    • 昔の技術が今再び現れることがある
    • ただし、それは昔の技術の反省が適用されている
  • 自らが変わる、自ら動く
  • TDDはスキル
    • 才能ではなく習得可能
    • 量は質に転化する
    • 写経しましょう!
このセッションから起こすアクション
  • 社内でTDD動画勉強会を実施するといいかも
  • 月次締め会の資料はHTML5で書く
    • エンジニアリングで大切なことを伝える

18-B-2 第三者作成ソースコードに埋れている不具合を暴け!

coverity

高石勇 氏

静的解析ツール

コーディング、開発フェーズでの不具合の箇所の特定を行うためのもの。

ソースコード開発行数トレンド

総務省発 2011年 平均99.8万行

2010 オープンソース品質評価レポート

オープンソースプロジェクトの品質レポートは以下に公開されている。
http://scan.coverity.com
coverityとアメリカ国土安全保障省オープンソースプロジェクトの品質評価を行った。

Androidカーネル

1000行あたり1つのバグが平均。
Androidは2000行に1つほどのバグなので平均値よりも優秀であるという判断

感想

HudsonやSubversionなどのオープンソースとの連携は興味深い

このセッションから起こすアクション

特に無し


18-B-3 これからのアジャイルの話をしよう

木下史彦 氏

以下の監訳を担当

永和システムの提供

4つの帽子(役割)
  • コンサルタント
  • コーチ
  • プロジェクトマネージャ
  • ラインマネージャ
腹をくくる

受託開発でアジャイル
マネージャーになる

Agile カンファレンス@カナダ

なんてものがある

自己組織化

エンパワーメント
とはいえ売上のミッションもある
自分の好きなことをやるためにはそれ相応の責任を負わなければならない

伝わらない

「TDDやってます」と言っても顧客には伝わらない

ディフェンシブな開発

Iron Triangle
Scope Cost Schedule
Agile Project Management

スコープクリープ

交渉で不利な立場になると純粋にコストになる

アジャイルは魔法じゃない

アジャイルは手段でありソリューションじゃない

マネージャーの仕事

障害を取り除く

価値創造契約

SaaSのようなビジネスモデルを受託開発に持ってきてみた。

長く使われるシステムほど価値があるとする

1週間の余分な開発が発生したとしても半年使って
いただけるのであればコストをペイできるので採用する。

知識創造起業という本がある
  • ミドルアップ
  • ミドルダウン
ソフトウェア開発

欠陥の予防
たゆまぬ洗練
設計の重視
動くソフトウェア
機能追加
バグフィックス

リスク

意思決定をするということはリスクを冒すということである by P.F.ドラッカー

このセッションから起こすアクション

エンジニア、営業に共有


18-A-4 ウェブアプリケーション関連技術5年間の変遷とこれからのはなし

藤本真樹 氏

動かなくなるオープンソース

自作し始める

集中化管理の限界を感じ始める
空気読んでの限界を感じ始める
常に考え続ける

10倍、100倍、1000倍に増えたら大丈夫?

  • このディレクトリ構造でおk?
  • このフレームワークで1000人のエンジニアがコーディングしてもおk?
  • table schemeはこれでおk?
  • 言語依存していておk?

考えるのはタダ!

これからのはなし

1つのプログラミング言語でいろいろな言語に変換できるようになり言語、
サービスの集約が行われるのではないか

このセッションから起こすアクション
  • 5年後のWEBを考えてみる
  • 「未来を考える」という方法論は社内に共有する

18-C-5 Eat your own dog food!

Jeff Barr 氏 / 玉川憲 氏

社内システムを移行する方法
  • システムのアセスメントを実施
    • データの整理
    • 可用性、SLA
    • 準拠するコンプライアンス
    • ベンダーのライセンスを調べておくこと
  • 実験PH
    • パイロットプロジェクト
    • 人事システムなど動かしたり
  • データマイグレーションを始める
    • データ配置のポリシー立てたり
Amazonの事例

最も成功した事例
broadcast.amazon.com

  • 社内アプリケーション
    • 技術講演
    • プレゼンテーション
    • 社内イベント
    • 社内教育
このセッションから起こすアクション

なし

18-A-6 Ameba Pigg Backend Practice

桑野章弘 氏 / 根本英明 氏

MySQLによるタフなサイトの作り方著者

アーキテクチャ

Socketサーバは独自プロトコル

データストア
IndexPersister

データストア部分が抽象化されているという利点。
つまりデータストア部分の選択は自由。

バックエンドに依存しないプロダクト

正確な負荷テスト、差分テストが重要

このセッションから起こすアクション

特に無し


18-A-7 オープンソース白熱教室〜たまには "ライセンス" の話をしよう 〜

企業が使うにはGPLがよいらしい。
詳細は長時間椅子に座っていて疲れているので聞き逃している。

このセッションから起こすアクション
  • ライセンス勉強する
    • 期限:未定