Scrum Gathering Tokyo 2011で見た素晴らしいスライドの出自がわかったので、自分の想いも含めて書いてみます。
- How GitHub Uses GitHub to Build GitHub
- Scrum Gathering Tokyo 2011 : Day1 に行ってきました #sgt2011 - かおるんダイアリー
Simple Tools + Better Process = Awesome Product
元はgithubの方のスライドで、こしばさんがLTで出していました。
ぼくのかんがえるさいこうのぷろだくと、ともつながるのでとても感銘受けました。
常々考えている、デベロッパーに最低限必要だと思うのは次の三つです
- バージョン管理
- タスク管理
- 自動化されたテスト
バージョン管理、自動化されたテストは言わずもがな、タスク管理はツールを使うというよりはゴールに向かうためのステップという意味合いです。
あえて、自動化されたテストと言っているのは、テストを先付け後付けよりは、継続的なテストを行うことが本質的だと思っているからです。もちろん、後付けよりは先付けの方がもろもろのコストは低いと思います。
またCIが無いのは、CIは極端な話、チームの誰かが知っていればよく、全員が知っている必要がないので外しています。
タスクについても、TracやRedmineを使って〜というよりは、より本質的なゴールへの道筋という感じです。
これらは、チームが成熟するにつれて必要なものから、速度を落とす要因にもなりかねないと思っています。
例えば圧倒的な速度を持つチームにTracやRedmineに逐一タスクを登録させることは非現実的で、ゴール設定さえ行えばアウトプットされると思っています。
また、バージョン管理についても、よりコストの低い方向(中央リポジトリ型から分散リポジトリ型)へ進んでいるのは必然だと感じています。
これらの基本的なスキルに、起爆剤として「ほどよいプロセス」を入れてあげることで、より素晴らしいチームへと昇華できるのではないでしょうか。
あえて「ほどよいプロセス」としているのは、「ベストなプロセス」は思考停止を招きかねないのと、その時々に応じたプロセスを選択する、という意味で「ほどよいプロセス」としています。