« MVPを元にした製品開発 | トップページ | 「チケット駆動開発」の感想を集めてみたpart4 »

2012/09/17

アジャイル開発のルネサンス

最近のアジャイル開発の復活(ルネサンス)について、とても分かりやすい感じのつぶやきがあったのでメモ。

【元ネタ】
Twitter / k_tanaka0611: 特にテスト駆動開発については、ずっと以前から注目はしてた、2000年代の前半ごろ、アジャイル特にXP(エクストリームプログラミング)がもてはやされた。

Twitter / k_tanaka0611: 確か牛尾さんの、オブ脳本、倉貫さんのTDD本が出たのもそのころじゃなかろうか。

Twitter / k_tanaka0611: それ以降現場では、あまりプラクティスが実践されることは無く現在に至るっのが僕個人の現状だけど、最近、アジャイル開発は、第二のムーブメントがやってきた気がする。

Twitter / k_tanaka0611: アジャイルが活発になったと個人的に感じる理由として一つ大きくあげられるのが今まで求められなかったツールの技術が求められるようになってきてることだ、Redmineもその一つだけど、やっぱりソースコードのバージョン管理システムだろうなぁ

Twitter / k_tanaka0611: svnは、ここ10年以上開発現場では、スタンダードでその地位は揺ぎなかった、それが変わるなんて事があるのかとさえ感じられる程だった。しかしこの2年くらい、特にgitはgithubのムーブメントにのり開発者は意識せざるを得なくなってきている。

Twitter / k_tanaka0611: テスト駆動開発においても、今までのアサーションの羅列からBDDといわれるスタイルに変わりつつある、コードをみると明らかにモダンで見やすいので今後はこちらがスタンダードになるのは間違いないと感じてる

Twitter / k_tanaka0611: そして、今後2~3年後のシステム開発を変えるインパクトがあるのは、何と言ってもjenkinsだと思う。これを導入するしない、している現場でも上手く使える、使えないでおそらく3倍程の生産性が変わるんじゃなかろうか

Twitter / k_tanaka0611:システム開発の現場ってやたらと人を探して、いい人がい無いなどと嘆いている事が多い、しかしたとえ人が増えたとしてもそれで上手くまわった試しが無い。

Twitter / k_tanaka0611: ツールが全てでは無いけど、ツールを使う事で考え無くて良くなる事も多く、目的をツールを使う事に置き換えて、行動の一歩を縮められると思う

Twitter / k_tanaka0611: 最終的には、仕様どうり不具合の無いコードを期限内に仕上げられる事だけど、決して個人の技量だけじゃムリ。開発手法そのものも見直さな幸せになれない

第二期アジャイルムーブメント ~ アジャイル開発の商業的取り組み と Agile2.0 ないし 「2週目の世界」 について - kawaguti の日記 (id:wayaguchi)

牛尾さんの「オブジェクト脳のつくり方」本、倉貫さん・川端さん・こだまさんの「バグがないプログラムのつくり方 JavaとEclipseで学ぶTDDテスト駆動開発 (Be agile!)」本が2000年代前半に出版され、日本でもアジャイル開発に関する技術の事例は公開されていた。
でもずっとアジャイル開発は傍流だった。
最近になって、アジャイル開発が日本で再注目された感じがあるが、その流れについては、第二期アジャイルムーブメント ~ アジャイル開発の商業的取り組み と Agile2.0 ないし 「2週目の世界」 について - kawaguti の日記 (id:wayaguchi)がとても詳しい。

個人的には、ソフトウェア開発の環境がようやく時代に追いついたと思っている。
XPやScrum、RUP、CMMI、PMBOK、BABOK、テスト管理の技法は既に2000年までに既にその概念もプラクティスも提示されていたにも関わらず、開発現場ではなかなか運用できなかった。
その理由の一つは、設計やプロジェクト管理の技法がプログラミングの進化の速度に追いつけなかった点があると思う。

でも、今はタスク管理ならRedmineやTrac、バージョン管理ならGitやMercurial、ビルド管理ならJenkinsのように、優れたツールが開発環境だけでなくプロジェクト管理もかなりサポートしてくれる。
上記のTwitterの指摘通り、Jenkinsの使い方の模索は今後注目度が大きくなるだろう。

Twitter / mitoma_ryo: JenkinsのPluginとしてRedmineTicketMetricsPluginというものをちまちま作っている。アイデア元は http://forza.cocolog-nifty.com/blog/2012/04/jenkins-d895.html … #jenkinsja pic.twitter.com/HjGvGHqH

Jenkinsをメトリクス収集ツールとして使うアイデア: プログラマの思索

ツールにプロセスで労力がかかる作業を任せるだけでなく、ツールの新しい機能がプロセスの可能性を広げてくれる。
ツールを使うユーザが運用で更に機能拡張のアイデアを出して、そのアイデアをコミッタが受け入れて、更にツールが進化し、プロセスがサポートできる範囲を広げてくれる。
特にオープンソースのツールは、コミュニティという場がユーザとコミッタの間で有意義で議論をできる場を提供して、ツールの進化をサポートしてくれている。

Twitter / tkusukawa: Redmine2.1。今回も、かゆい所に手が届く気持ち良さを感じるバージョンアップ。利用者に本当に価値のあるシステムはこうやって築き上げられるのだという様をリアルタイムに目撃している気がする。 http://blog.redmine.jp/articles/redmine-2_1-changelog/ … #fb

ツールがプロセスを改善するのだ。
ソフトウェアがプロセスを通じて、世界を変えてしまうのだ。

|

« MVPを元にした製品開発 | トップページ | 「チケット駆動開発」の感想を集めてみたpart4 »

Agile」カテゴリの記事

Git・構成管理」カテゴリの記事

Redmine」カテゴリの記事

ソフトウェア」カテゴリの記事

ソフトウェア工学」カテゴリの記事

プロジェクトマネジメント」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« MVPを元にした製品開発 | トップページ | 「チケット駆動開発」の感想を集めてみたpart4 »