CodeZine(コードジン)

特集ページ一覧

世界中の開発者が「アジャイルの意味」を振り返って見えてきた3つの問題とは?【デブサミ2020】

【14-A-3】A retro on agile ー アジャイルをふりかえる

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2020/04/07 12:00

 「アジャイル」という開発手法が登場して久しい。日本の開発現場にもアジャイルという言葉自体は徐々に浸透してはいるが、一方で「アジャイルとは何か」という定義の曖昧さや、実際の事例の少なさなど課題は多い。そんな中、アジャイル開発支援ツールのベンダーである豪Atlassian社は、「アジャイルの振り返り」のキャンペーン活動を行っている。同社のJason Wong氏は活動の中で世界中のアジャイル開発者から集めた声を紹介した。また、アジャイルソフトウェア開発宣言に立ち戻り、よりよいアジャイル開発を実現するためにはどうすればよいか、提言が行われた。

目次

アジャイル開発そのものについて振り返りを行う「#RetroOnAgile」

Atlassian Pty Ltd. Principal Product Manager Jason Wong氏
Atlassian Pty Ltd. Principal Product Manager Jason Wong氏

 オーストラリアのシドニーに本社を置くAtlassian社は、アジャイル開発を支援するための各種ツール製品を開発・提供するソフトウェアベンダー。特に同社のアジャイル開発管理ツール「Jira Software」は広く知られた製品で、世界中の多くのアジャイル開発者に利用されている。

 そんな同社は2018年以来、「#RetroOnAgile」と銘打ったユニークなキャンペーン活動を展開している。アジャイル開発では、定期的にチームメンバー全員が集まって過去のチーム活動を評価する「振り返り(Retrospectives)」を行う。Atlassianでは、自社製品の今後の開発方針を検討するに当たり、「アジャイル開発を扱う製品なのだから、アジャイルそのものに関する振り返りを行って、その結果を製品に反映すべきだ」との結論に至った。そこで、世界中の英語圏のアジャイル開発者を対象に、アジャイル開発そのものの振り返りを行う#RetroOnAgileのキャンペーンを展開している。

 Wong氏によれば、このキャンペーンではさまざまな意見が集まったが、中でも3つの問題領域において多くの声が寄せられたという。

 「『アジャイルの意味が歪んできた』『継続的な向上のために何をすればいいのか』『チームの健康状態に課題を抱えている』という3つの問題領域において、多くの声が寄せられました。そこでまずはこの3つうち、最初の2つの課題の解決策を探るために、アジャイルソフトウェア開発宣言に記されている『4つの価値』にいったん立ち戻って考えてみたいと思います」(Wong氏)

#RetroOnAgileのテーマ
#RetroOnAgileのテーマ

アジャイルソフトウェア開発宣言の「4つの価値」に立ち戻る

 アジャイルソフトウェア開発宣言に記された4つの価値のうちの1つに、「計画に従うことより変化への対応に価値を置く」というものがある。アジャイル開発がうまくいかないプロジェクトの中には、この文言を「計画はそもそも無価値で不要である」と勝手に拡大解釈し、無秩序な開発を行ってしまうケースが散見されるという。これはまさに「アジャイルの意味が歪んできた」典型例の1つであり、本来のアジャイル開発の価値を曲解している。

 また「包括的なドキュメントより動くソフトウェアに価値を置く」「プロセスやツールより個人や対話に価値を置く」という価値に関しても、歪んだ解釈が多く見られるとWong氏は指摘する。

 「よく、アジャイルとスクラム開発を同一視して、スクラムのプロセスに従えば必ずアジャイルが実現できると考える人がいます。しかしスクラムは、あくまでもアジャイルの精神を具現化するためのプロセスの1つに過ぎません。アジャイルそのものはプロセスではなく、『アジャイル(agile:俊敏)になる』という行動様式のことを指しています。つまりアジャイルのプロセスを実行するのではなく、自らがアジャイルになることを目指すべきなのです」(Wong氏)

 しかし実際には、多くの開発現場においてプロセス偏重の傾向が見られる。その背景には、「アジャイル vs. ウォーターフォール」という「プロセスの二項対立」の文脈でアジャイルをとらえる人が多い事情がある。しかし開発プロセスには本来「善と悪」は存在せず、適材適所で最適なものを選択して適用すればいい。決して「アジャイル以外のプロセスは悪」だととらえるべきではないとWong氏は指摘する。

 「例えば、既に手順が決まり切っている簡単な問題を扱うのであれば、昔ながらのウォーターフォール手法が最も効率がいいでしょう。逆に問題領域が複雑で、しかも周囲を取り巻く環境が刻一刻と変化するような課題を扱うような場合にはアジャイルが適しています。また、どっちとも判断できないような場合には、必要に応じてアジャイルとウォーターフォールを使い分ければいいでしょう。あるいは、複雑を通り越してもはや『カオス状態』になってしまった問題領域を取り扱う場合には、Kanbanのようなプロセスを適用するのがいいでしょう」(Wong氏)


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • CodeZine編集部(コードジンヘンシュウブ)

    CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

バックナンバー

連載:【デブサミ2020】セッションレポート

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5