Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

えっ、やることになってます?

1,663 views

Published on

2014年12月6日 DevLOVE現場甲子園2014 日本シリーズ編 〜東西開発現場の集結〜 CyberAgent でReadmeDrivenDevelopmentの話をしました。

Published in: Technology
  • Be the first to comment

えっ、やることになってます?

  1. 1. えっ、やることになってます? DevLOVE現場甲子園2014 東日本大会 @koudaiii
  2. 2. 「DevLOVEは愛と人情で成り立ってます」
  3. 3. Readme Driven Development @koudaiii
  4. 4. Profile id: koudaiii fullname: Kodai Sakabe
  5. 5. Attention • ウォーターフォール型とは区別 • SIerが作るExcel設計書とは別物 • しかし、ドキュメント駆動開発の一部
  6. 6. Agenda • README • 今までの経験 • Readme driven development • 落穂拾い
  7. 7. README
  8. 8. README ex:Gox https://github.com/mitchellh/gox README.md
  9. 9. manコマンド $ man hub ! HUB(1) ! NAME hub - git + hub = github ! SYNOPSIS hub [--noop] COMMAND OPTIONS hub alias [-s] [SHELL] ! Expanded git commands: git init -g OPTIONS git clone [-p] OPTIONS [USER/]REPOSITORY DIRECTORY git remote add [-p] OPTIONS USER[/REPOSITORY]
  10. 10. とある 何かツールを作る時
  11. 11. プロダクトに入らないなら… • 勉強会で学んだことを申し分なく取り入れたい • ミドルウェア • 開発方法 • 運用 • 勉強会と現場のギャップを埋めたい
  12. 12. 勉強会と現場を繋げるために、 素振り(ツール)を行って現場に貢献したい!
  13. 13. 今まで自分の失敗談 • 何かを作る際に、上司を巻き込むと謎のプロセスを求めら れたりと急に大掛かりになってツライ • かと言って、先に作ったのはいいけどドキュメントを今更 書くのがツライ • ドキュメントなしだと、そもそも出来上がったものがぶれ ていたり、同じ説明を複数回行うのがツライ • Cookbook書いたら、手順書がないから評価☓になってツ ライ
  14. 14. ようは、、 • 精巧なドキュメントを強いられるのがしんど い • ツール出来た後にドキュメントを書くのがし んどい • ドキュメント書かないとぶれやすいし、使っ てもらえない
  15. 15. Readme Driven Development
  16. 16. Write your Readme first.
  17. 17. RDDのメリット • 創ろうと思った時が一番モチベーションが高い ➡ 出来上がった時にはもう書かれない‥ • 作る前の精巧なドキュメントはモチベーションを下げる ➡ ライターじゃないんだよ!! • 一番腰が上がっているうちに簡単なドキュメント ➡README!
  18. 18. 最初にREADMEを書くことで • しっかり名前を考える • そもそも何をするためのものなのか(やれること、やれな いこと、やらないこと) • 使い方を書く(インターフェース、パラメーター) • 先に書くことで「あーここ漏れてるわ」て気づきやすい • (なぜ、これを創ろうと思ったかの背景を書いてもいいかも)
  19. 19. 最初にREADMEを書くことで • 最初に書くことでユーザーの方を向くことがで きる • やることを書くとぶれにくい • 回り道を防ぐ。 • (そもそも何がやりたかったんだっけ?と立ち 戻る)
  20. 20. README.md Name ==== ! Overview ! Description ———— ! Usage ———— ! Install
  21. 21. READMEに書くこと (なにこれ?) • Name 名前 • Overview 一言で概要 • Description 概要の詳細 • Demo GIFアニメ貼ったり:)
  22. 22. READMEに書くこと (どうやって使う?) • Requirement 依存関係があれば書く • Usage 使い方(この辺はコピペでできること) • Install インストール方法(こっちもコピペで きること)
  23. 23. READMEに書くこと (その他) • Contribution 参加方法 • LICENCE ライセンス • Document wikiでまとまってるページあればリンク貼る • Ticket チケット化されている場合はリンクを貼る • Deploy リリース方法 • Test テストを行う方法
  24. 24. 格段に楽になった • 新人さん(Ruby知らなかった)に一度も会わず に、、 • 開発環境完成 • 手元でproduction実行 • Pull Request
  25. 25. 落穂拾い
  26. 26. チケットやWIP書く時にも有効 • チケット • 動作を発生させるための手順 • その中で、問題と思っている箇所 • その問題と思っている箇所は、実際にどういう風になっているべきか • おまけ そしてその理由(任意) • 思い出せるチケットの書き方: 「動機」、「ゴール」、「実現案」 • http://www.clear-code.com/blog/2012/7/12.html ※自分のプロジェクトで書いたルール抜粋してきました
  27. 27. WIP(Work In Progress) Pull Request 空コミットでPull Requestを送り⇒コメント欄にTODOリストを作りチェッ クボックスを追加⇒早い段階でタスクの宣言と共有が早い段階でできる
  28. 28. Reference • Rebuildfm(ep.52:27m20s~) • http://rebuild.fm/52/ • Readme Driven Development • http://tom.preston-werner.com/2010/08/23/readme-driven-development.html • Readme駆動開発を和訳してみた • http://syossan.hateblo.jp/entry/2014/08/04/165746 • わかりやすいREADME.mdを書く • http://deeeet.com/writing/2014/07/31/readme/ • How to Write a Readme Worth Reading • http://orchestrate.io/blog/2014/07/16/how-to-write-a-readme-worth-reading/ • アジャイルが否定したものを見直そう • http://arclamp.hatenablog.com/entry/2014/09/13/182244

×