アジャイル開発のルネサンス
最近のアジャイル開発の復活(ルネサンス)について、とても分かりやすい感じのつぶやきがあったのでメモ。
【元ネタ】
Twitter / k_tanaka0611: 特にテスト駆動開発については、ずっと以前から注目はしてた、2000年代の前半ごろ、アジャイル特にXP(エクストリームプログラミング)がもてはやされた。
Twitter / k_tanaka0611: 確か牛尾さんの、オブ脳本、倉貫さんのTDD本が出たのもそのころじゃなかろうか。
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の使い方の模索は今後注目度が大きくなるだろう。
Jenkinsをメトリクス収集ツールとして使うアイデア: プログラマの思索
ツールにプロセスで労力がかかる作業を任せるだけでなく、ツールの新しい機能がプロセスの可能性を広げてくれる。
ツールを使うユーザが運用で更に機能拡張のアイデアを出して、そのアイデアをコミッタが受け入れて、更にツールが進化し、プロセスがサポートできる範囲を広げてくれる。
特にオープンソースのツールは、コミュニティという場がユーザとコミッタの間で有意義で議論をできる場を提供して、ツールの進化をサポートしてくれている。
ツールがプロセスを改善するのだ。
ソフトウェアがプロセスを通じて、世界を変えてしまうのだ。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
「ソフトウェア」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- 実践した後に勉強するのがエンジニアの本来の道(2022.01.09)
「Redmine」カテゴリの記事
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- Redmineで持ち株管理する事例(2024.04.21)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
「構成管理・Git」カテゴリの記事
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- パッケージ設計の原則の意義は変化しているのか(2023.09.30)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
- プログラミングしてる時はでっかいピタゴラ装置を作ってるみたいな感じ(2022.01.09)
「Agile」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
コメント