Railsによるワイルドなソフトウェア開発

9,665 views

Published on

0 Comments
19 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,665
On SlideShare
0
From Embeds
0
Number of Embeds
546
Actions
Shares
0
Downloads
0
Comments
0
Likes
19
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Railsによるワイルドなソフトウェア開発

    1. 1. Railsによるワイルドなソーシャルゲーム開発 水谷@ドリコム
    2. 2. 近況無事到着しました
    3. 3. 自己紹介• http://todesking.com• 作ったもの: • Okura(Pure Rubyな形態素解析ライ ブラリ) • Scheme処理系(JS) • Brainfxxk高速化とか
    4. 4. 自己紹介• Web系SIer(主にJava)→ドリコム (Ruby)• Ruby歴5年(主にプライベート)• Rails歴3ヶ月• ソーシャルゲームを作っています• コンプガチャの話はしません• 株価の話もしません
    5. 5. 自己紹介• 明日リリースする機能がまだできてな い• あとでやります……
    6. 6. 提供 解像度の低さは余裕のなさの表れ
    7. 7. ソーシャルゲーム• ガラケーブラウザ向けに発達• 画面しょぼい• アイデアと速度で勝負
    8. 8. 重要なのは、より多くのプレイヤーにプレイしてもらい、対価を払いたいと思う魅力を提供すること
    9. 9. 新しい企画を、高速なリリースサイクルで届け、結果を分析して次の手を打つ
    10. 10. 「その場にとどまるためには、全力で走り続けなければならない」 (鏡の国のアリス)
    11. 11. その結果としての、ワイルドな開発風景
    12. 12. (;́Д`)
    13. 13. (;́Д`)(;́Д`)
    14. 14. 動かないテスト地獄のマージ混乱する情報
    15. 15. ここは戦場だ
    16. 16. でもやるんだよ
    17. 17. プラン1:徹夜でやる
    18. 18. NO: 徹夜は何も解決しない • リリースが終わったら次のリリースが ある • 次のリリースのために • その次のリリースのために • 持続性のある開発が重要
    19. 19. Railsによるワイルドな ソフトウェア開発
    20. 20. 技術的負債• 早いけれど汚い解決方法は(ファイナンス の負債と同じく)技術的な負債が発生す る、ということになる。 通常の負債と同 じく、こちらの負債も利子を払う必要がで てくる。 早いけれど汚い設計を選んだせ いで、将来の開発において余分な労力をさ かねばならなくなる、というわけだ。 http://capsctrl.que.jp/kdmsnr/wiki/bliki/?TechnicalDebt
    21. 21. 持続的な開発は、負債の コントロールから
    22. 22. Railsによる、ワイルドで持続可能なソフ トウェア開発
    23. 23. 負債を 踏み倒す増やさない 返す
    24. 24. 負債を踏み倒す• 期間限定イベント等の一時的な処理• 後世に禍根を残さない• View templateの分離• AOP的な何か
    25. 25. 負債を増やさない• 新規に書くコードを負債にしない• 一番いい方法は、最初から正しくやる ことだ• Railsの規約/慣習を守る • Modelに対応したController • Fat model• テスタブルな設計を保つ
    26. 26. 負債を返す• テスト!テスト!• テストの方法がフレームワークに組み 込まれていることは重要• ベストプラクティス多数
    27. 27. TDDやアジャイルは手段にすぎない • 重要なのは目的 • 良いソフトウェアを • 持続的に • 高速でリリースする • ゴールはわかっているので、日々の改善あ るのみである • アジャイルな開発を目指して!!!
    28. 28. ソーシャルゲーム開発の 面白さ• 既存の設計とは合わない機能追加を要 求されることも• しかし、それには合理的な理由がある• 問題を解決することこそ、ソフトウェ アの目的
    29. 29. おわりに• ドリコムでは、開発をアジャイルにしていき たいエンジニアを募集しています• ※個人の意見です

    ×