Ultimate Agile Stories Iteration 1

1,320 views

Published on

Ultimate Agile Stories Iteration 1 に寄稿した記事です。現在頒布中の Iteration 2 にも寄稿していますので、ご覧頂ければ幸いです。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,320
On SlideShare
0
From Embeds
0
Number of Embeds
440
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ultimate Agile Stories Iteration 1

  1. 1. 1継続的フィードバックとツール活用 長沢 智治、日本マイクロソフトContinuous Feedback with Tools Tomoharu Nagasawa, Microsoftはじめに 今回、縁あってこういった素晴らしい取り組みに参加させていただいたことをはじめに感謝申し上げたい。さて、本稿では、10 年以上にわたり、ソフトウェアエンジニアリング、開発プロセスの改善に携わっている者として、そしてここ数年で欧米諸外国にて行われている議論、開発支援ツールの進化に触れた者として、私が現在所属しているマイクロソフトの取り組みも交えてお伝えしたい。本稿は、マイクロソフトのPR が目的ではない。あくまで私個人の考え、経験をベースにしているのでご注意願いたい。継続的フィードバック 今日のソフトウェア開発は、ビジネスの多様化と競合優位性など、ビジネスのアジリティに対応できることが求められる。それだけビジネスと IT アプリケーションの距離が近くなっているのだ。 ビジネスのアジリティに対応できるソフトウェア開発とはどのようなものであろうか。それには、ソフトウェア開発自身のアジリティが求められる。なぜならば、あらゆるシーンにおけるビジネスからのフィードバックに対応する必要があるからだ。 そう、これが、すなわち、「継続的フィードバック」だ。フィードバックに対応するソフトウェア開発のプラクティスとしては、XP (eXtreme Programming) の継続的インテグレーション (CI) がある。もちろん、アジャイル宣言でも述べられているように、アジャイルな開発そのものが、ビジネスに即したソフトウェアの提供にあるように、CI だけではなく、アジャイル プラクティスやプロセスは、これらに非常に関連性がある。 1
  2. 2. 2 とりわけ、 今日注目されているスクラム (Scrum) は、 改善し続けるためのフレーム ワークを提供しており、ソフトウェア開発ビジネスの礎として役立つものとなってい る。 2010 年11 月に開催された ALM Summit 2010 に私も日本人で唯一参加したが、そこ で、スクラムの生みの親の一人である Ken Schwaber 氏は、ソフトウェア開発における 位置づけを解説した。氏は、講演の中で、ビジネス アジリティの特徴を述べ、 アジリ ティには、 Empiricism そして、 Transparency が不可欠であり、 それを実現するために は、スクラムと ALM (Application Lifecycle Management) が必要と説いている (ALM Summit 2010 「ALM & Scrum – Necessary But Not Sufficient for Agility」 http://bit.ly/kensalm)。 スクラムによるフレームワークと、ALM による持続可能な仕組みが必要というわけ だ。 については深く触れないが、 とはツールのことだとよく思われる傾向があ ALM ALM る。これを否定しておきたい。ALM とは、People, Process, Technology を考慮したビ ジネスの継続性と最適化のための考え方だ。決してツールの総称などではない。 反面、Ken Schwaber 氏も、そしてKent Beck 氏も Microsoft に寄せたホワイトペー パーにおいて、ツールの積極的な活用とツールの進化への期待が垣間見られる (「ア ジリティ (俊敏性) 向上のためのツール」http://bit.ly/KentBTool)。 話を「継続的フィードバック」に戻すが、フィードバックは、単に収集できればよ いわけではなく、それを実行に移せることが重要となる。実行可能なフィードバック をアプリケーション ライフサイクル全般にわたり、 粒度も見極めながら、 収集し、 実 行することになる。 アプリケーション ライフサイクルには、 もちろんソフトウェア開 発が含まれるが、ビジネス戦略、そして、システムの運用まで拡張して考えることが できる。DevOps は、まさに、開発と運用を融合し、継続的にフィードバック サイク ルを回していく考え方となる。 開発のシーンにおいては、先に触れた CI のほかにも、テスト駆動開発 (TDD) によ るコードの開発に対するフィードバック サイクルなどがある。 さらに究極のフィード バックとしては、ペア プログラミングなどもある。アジャイル プラクティスや考え 方には、その目的故に、多くのフィードバックを得る取り組みと仕組みが考案されて いるのだ。 継続的フィードバックを実現するには、広範囲にわたる実行可能なフィードバック を収集、実践、追跡する仕組みが不可欠である。ここでは、まさに、Ken Schwaber 氏 が述べた、スクラムのフレームワークと ALM による仕組みが活きてくる。 下図は、マイクロソフトが 2011 年 5 月に発表した Visual Studio vNext (次期バー ジョン) のコンセプト イメージ図となる。2
  3. 3. 3 これを DevOps に拡張可能にしたコンセプトも発表している。ツール活用 さて、ここからは、ツール活用について触れていきたい。先に述べたように継続的フィードバックを実現するためには、多くのことを実践していく必要がある。すなわち、組織的な文化の変革が求められる面があるのだ。すぐれたエンジニア、チームワークが実践できる集団であれば問題が起きにくいことであっても、経験とスキルのバラつき、多くの組織論と政治が絡む世界においては、標準化は口に出すほど簡単ではない。その状況では、一つの方法としてツールを適用することが概ね検討されるだろう。 ツールは、本来の仕事に注力し、その仕事を効率化することと、本来の仕事以外の作業 (ルーチンワークやレポートなど) を最適化、省力化し、そのサイクルを回すことで、手戻り (Rework) を最小化するあたりが期待される。ツールの適用の目的は、大きく分けると 2 つあるということだ。 では、従来からのツール論をふりかえってみることにしよう。従来の考え方は、ある問題領域に対して、ツールを適用し解決することが求められた。たとえば、バグの追跡を行うために、BTS (Bug Tracking System) を導入したり、ソースコードの構成と変更を把握するために、SCM (Software Configuration Management) を導入したり 3
  4. 4. 4 だ。 どちらの場合も、適切に把握するための見せ方や操作性と、情報を集約し、追跡・ 管理するためのリポジトリが必要となる。 これらは、その問題領域に特化した解決策となりうるが、ソフトウェア開発のアク ティビティは残念ながらそこに閉じない。たとえば、バグの改修を行うまでのバグの ライフサイクルは、BTS の範囲に留まらない。ステークホルダーも一人ではないし、 SCM の領域も相互に関連してくるのだ。これらに対する取り組みは、ツールの連携、 リポジトリの相互関連付けという手段で従来より取り組まれてきた。上記に紹介した 例だと10 年以上前にその仕組みは、 プロセスとともに提唱され、ツール機能としても 実現されてきた。 なぜこの話を取り上げたかというと、前段で紹介した継続的フィードバックを実現 し、 ビジネス アジリティに対応したソフトウェアを開発し続けるには、ツールは不可 欠であるが、単にツールを適用すればよいというわけではないということだ。 継続的フィードバックのためには、実行可能なフィードバックに対応する必要があ るため、ツールの適用においても、考え方に進化を持つ必要がある。人がツール間の 情報のやり取りをケアするのではなく、本来行うべき、フィードバックへの対応を最 適に行うことに注力できる開発の環境作りを考えるべきだということだ。 従来からのツール論でいうと、下図のように、3 世代進化を遂げているのだ。 さて、継続的フィードバックを紹介し、ツール適用のポイントについて述べてきた が、いかがだろうか。すこし飛躍している話に聞こえてくるかもしれないが、欧米諸 国では、こういった議論を行っている。個々のプラクティスや個々のツールの善し悪 しの議論ではない。手段ではなく、目的に対してどういう手段がとれるのかを議論し ている。日本でもこういった動きが多くでてきていることを喜ばしく思う。こういっ た知る機会に恵まれていないと感じる読者は、アジャイル プラクティスを長く実践し、 成功と失敗の体験を持つ方々が多く参加しているコミュニティへの参加をおすすめし たい。また、私もできることは支援したい。お気軽に連絡してきてほしい。 長沢智治 Twitter ID: @tomohn4
  5. 5. 5 5

×