Agile2008 チーム参加レポート - 動機/準備編
筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。
作者 Jacky Li, 翻訳者 大田 緑 - (株)チェンジビジョン 投稿日 2008年9月4日 午前12時59分
ScrumやXPからアジャイルにやって来た開発者やリーダーにとって、リーンに関するこの話はすべて少しばかり不可解であるかもしれません。これは、InfoQ Chinaのアジャイル編集者、Jacky Li氏によるリーン思考とリーン思考をどのようにソフトウェア開発に適用するかについての入門です。ここにはThoughtWorks ChinaのNing Lu氏の話がまとめられています。彼は、リーンやアジャイルのもっとも大きな障害を力説しています。その障害とは大規模生産の期間に起因する考え方です。
~野村総合研究所が提案~ 「不況を乗り切る!効果的なIT投資を考えるセミナー」
UTI 不合格なら再受験無料!秋のチャレンジキャンペーン実施中
InfoQ Japanはコンポーネントスクエアが運営しています
今年既に、InfoQ Chinaは、Matrix(リンク)、ThoughtWorks China(リンク)、Beijing Java User Group(リンク)、AgileChina Google Group(リンク)、Beijing Python User Group(リンク)などとオープンパーティ(リンク)を開きました。OpenSpaceアンカンファレンス(リンク)に沿って行われるオープンパーティがThoughtWorks Chinaのオフィスで開催され、約30人が参加しました。Ning Lu氏は、ThoughtWorksのコンサルタントで、リーン思考とその例についてすばらしいスピーチを行いました。彼は、リーンやアジャイルの採用についてもっとも大きな障害を分析し、無駄を認識し省いていく方法について述べました。この記事では、アジャイル開発者の視点からその話を要約します。
アクティビティは、簡単なスタンドアップミーティングで始まり、すべてのトピックへの投票が続きました。その日、数多くのすばらしいトピックがありました。「オープンソースコミュニティの成長」、「GPE」、「Mingle」、「Erlang」などです。トピックは3つのトラックに分けられ、Ning Lu氏は1つのトラックで話しました。彼は、トヨタ生産方式とリーン生産方式の歴史からはじめ、リーンやアジャイルを採用する際のもっとも大きな障害に立ち向かいました。その障害とは大規模生産の期間に起因する考え方でした。Ning Lu氏は、また、どのようにトヨタが自分たちの生産システムを検討したかについて話しました。
リーンは、無駄を認識して省くことができる技術です。その無駄とは、付加価値を生み出さないアクティビティのことです。彼は、例を挙げてリーンの5つの原則で無駄を認識して省く方法を説明しました。そして、いつも無駄に伴って起こるいくつかの典型的な現象をリストアップしました。
未完了の作業は、一種の無駄です。リーンやアジャイルは、未完了の作業を最小限にすることができます。
あぁ、それって書かれたコードもすべて無駄だってことのようです。それはおかしい!私たちが上述の言葉に従って無駄を最小限にしようとする場合、コーディングをやめるべきであるらしい!それでは、どうやって顧客に何かを納品することができるのでしょうか?そして、その価値はどこからくるのでしょうか?
オーケー、ちょっと別の方向から見てみましょう。もしかしたらあなたは「プレファクタリング」から次の言葉に見覚えがあるかもしれません。
あなたはすべてを予想することができますか?いいえ。今日、あなたがした決断は最後の決断ですか?いいえ。プロジェクトの始めにすべてを考えたり、すべてを知ったりすることは、実際のところ不可能です。
実は、顧客でさえ、その機能がまさしく彼らがほしいものであるかどうか確かではないでしょう。それが、彼らにとって価値があるものだということはまだ証明されていないのす。未完了の作業を一種の無駄と考える場合、コードを動くソフトウェアにすることに専念し、それをできる限り早く製品環境にデプロイするでしょう。その後、顧客からフィードバックともっと詳細な要求を聞けば、コミットした機能が完了でよいか (修正が必要か)を調べることができます。未完了の作業が多ければ多いほど、ますますリスクは大きくなるでしょう。
このアイデアに賛成する場合は、未完了の作業のような無駄を省くために解決策を見つける必要があるでしょう。では、何をするのでしょうか?
5つのリーンの原則は、明確で段階的な方向性を示します。ソフトウェア開発に関して言えば、数多くのアジャイルプラクティスから成るとても有用なツールキットです。それらのアジャイルプラクティスはすべての具体的な問題を解決する役に立つのです。コードが完成し、それをテストして統合する時間を減らすために、小さな段階を踏んで進む必要があります。そのためには、頻繁にチェックインして、継続的統合を行います。機能が完成し顧客に価値を提供するまでの時間を減らすために、頻繁に納品する必要があります。これから分かるように、この点でリーンとアジャイル開発は完全に統合されているのです!
4ヶ月前(元記事掲載時)、Amr Elssamadisy氏がニュース「オピニオン: リファクタリングは必要な無駄」(参考記事・英語)で提案しました。
リーンには2つのタイプの無駄(リンク)があります。純粋な無駄と必要な無駄です。純粋な無駄は、ソフトウェアを構築するチームにもそのソフトウェアを使う顧客にも価値がないものです。必要な無駄は、一方で顧客にとって価値がなくても、今のところ知っている仕事のやり方でもっともよい方法です
Ning Lu氏はまた、リーンで定義された無駄の種類についても述べています。特に、「必要な無駄」と呼ばれる2番めのタイプについてです。彼の意見では、テスト、統合、リファクタリング、マネジメントはすべてこのタイプの無駄に属します。無駄についてのそれらの形式を減らすためによく使われるいくつかの興味深いパターンをまとめてみました。
このトピックに関してもっと読みたい人には、Mary氏とTom Poppendieck氏がウェブサイト(リンク)で記事を提供しています。また、ThoughtWorks Chinaのコンサルタント、Jeff Xiong氏とYe Zheng氏がリーン、アジャイルと無駄の関係について役に立つ記事を書いています。(参考記事・中国語) このトークの中国語のスライドがダウロードできます(PDF)。
こちらでオリジナルの中国語のInfoQの記事を見ることができます:路宁谈精益思想——2008北京Open Party摘录 (参考記事・中国語)、そして、いくつかのビデオ(リンク)とこのイベントのストーリー(リンク)があります。
Jacky Li氏は、InfoQ China/Agile Communityのリード編集者で、Javaとアジャイルソフトウェア開発を専門にしています。中国でのアジャイルの普及に貢献しています。中国語版のInfoQミニブック、Struts2を始める(参考記事・中国語)と前線からのスクラムとXP(参考記事・中国語)を英語から翻訳しました。
原文はこちらです:http://www.infoq.com/articles/lean-thinking-software
(このArticleは2008年6月23日に原文が掲載されました)
筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。
エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。
この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。
InfoQ.com向けのこのバーチャルパネルでは、大企業やプロジェクトからスケーラビリティやパフォーマンスの著名人を招待し、みんなが夢に描いているような結果を達成するための秘密を明かしてもらいました。
Craig Larman氏とBas Vodde氏は、どのように、そして、なぜ機能チームがうまくいくのかを説明し、この主要な組織の変化が価値あるものであることを主張します。
最近リリースされたRuby 1.8.7のプレビューリリースをウオッチしていたRails開発者はすぐに1.8.7プレビュー1に関してあることに気がつきました。それは、1.8.7プレビュー1がRailsを破壊してしまうということです。
No comments
返信