第75回例会報告:安井力氏 「デジタルトランスフォーメーションに求められるシステム開発手法 アジャイルとスクラムとは」

第75回例会報告

デジタルトランスフォーメーションに求められるシステム開発手法 アジャイルとスクラムとは

P1060519_s
12月19日、第75回の例会が開催された。講演タイトルは「デジタルトランスフォーメーションに求められるシステム開発手法 アジャイルとスクラムとは ~価値、原則、プラクティス~」。

システム開発の手法としてアジャイルという言葉は何年も前からよく耳にする。しかし、日本においてアジャイルが広がらないのはなぜだろうか。今回の研究会では、アジャイルの現場導入を支援するアジャイルコーチであり、アジャイル関連書籍の翻訳も手掛ける安井力氏に話を伺った。

アジャイルな企業とは?

「アジャイルとはシステム開発手法ではなく事業開発手法であり、システムとビジネスの両面があることを忘れてはならない」と安井氏はいう。そして、アジャイルな企業の例としてソフトウェア企業であるソニックガーデンを挙げた。代表取締役社長の倉貫義人氏は『「納品」をなくせばうまくいく ソフトウェア業界の“常識”を変えるビジネスモデル』や『リモートワークでうまくいく マネジメントの“常識”を変える新しいワークスタイル』の著書で知られている。ソニックガーデンの大きな特徴として3つ例を挙げると、1つめが全社員リモートワークで、『場所にとらわれずに良い人たちと良い仕事をする』ために採用されている取り組みだ。2つめの顧問プログラマはバーチャルCTOと業務ハッカーの二つの意味を持ち、顧客に対してプログラミングスキルを使って問題解決し、ビジネス、ソフトウェア設計、プログラミング、運用までの全てに責任を持つ仕事であると位置付けられている。3つめの納品しない受託開発は「納品」を行わず、毎週顧客と打ち合わせを行い、プログラムを作ることで、顧客に常に価値を提供し続けるビジネスモデルだ。そのような仕組みの中で一人一人がセルフマネジメントを行いつつ、チームとしても助け合い高いモチベーションを維持する。メンバーが自分で工夫してより良くしていくことで、チームが成長するという。

アジャイルなソフトウェア開発

アジャイルなソフトウェア開発とはどのようなものだろうか。安井氏によるとビジネス側のアイデアを開発者に伝え、開発者が作り、実際に触ってビジネスに本当に役に立つか確認していくというプロセスを小さく始めて、繰り返すことで段々と「伝える・作る・確認する」というプロセスがうまくいくことであり、何が必要なのかを考えながら作っていくことだという。開発者がチームとして動き、一人一人が自分の能力を生かすことでビジネス側と一体化したチームとなるが、チームとして活動できないメンバーは排除することもあるという。
2001年のアジャイルソフトウェア開発宣言によると、「プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を価値とする」とあり、この背後に「顧客満足の優先」「要求の変更の歓迎と変化を味方にし、お客様の競争力の引き上げ」「動くソフトウェアの短い時間間隔でのリリース」などの12の原則がある。この原則に従うものがアジャイルだ。
アジャイルの開発手法の歴史としては、XP(エクストリーム・プログラミング)や、スクラムなどがあるが日々の仕事をどう改善していくかという大きい概念が根底にある。アジャイルな開発の特徴をまとめると、①ルール・プロセス、手法が常に変わり続けている、②結果を重視、③正解はなく「そこにいる人々」ならではとなっている、④顧客やステークホルダーの信頼を得ている、⑤市場競争力を維持している、⑥自主性があり、生き生きとして学び続けていることが挙げられた。

価値・原則・プラクティス

75_図1アジャイルなソフトウェア開発において重要なのが『価値・原則・プラクティス』だ。価値とは何のためにこのプラクティスを行うのかという根幹となり、顧客価値、情報・リスク対策、生産性の3つの意味を持つ。内製の場合はコスト≒時間となる。価値が大きく、早くできるものから始めることで価値は累積されていく。

アジャイルに向き不向きはあるのか

75_図2しかし、実際に行うことは決して簡単ではない。コミュニケーションにおいても、チャネルと人数によって伝言ゲームによる情報劣化が発生する。そのため、できるだけ役割の異なる人間が少人数で行った方が良い。
また、技術的負債の問題もある。例えば、納期圧縮により短縮されたコストや時間は、能力や考慮の不足等による不適切なエンジニアリングから発生・内在し、利子として技術的負債となり蓄積される。しかし、変化を前提にしている以上、考慮不足は不可避であり将来が想定と変わってきた段階で綺麗にする、つまりリファクタリングが必要になる。そのため、設計や実装をシンプルにし、依存関係を少なくするなどの変更容易性を維持することが必要だ。
そのような品質と規律を実現するためにキーワードとなるのが「人」だ。難しいことを実現するための工夫が出来る人が必要となる。ここで、安井氏は「モチベーション3.0」(ダニエル・ピンク)を紹介し、好きなことに集中することで自律・熟達・目的が実現できるという。また、トヨタウェイや赤福の例を挙げて学習する組織について説明した。もちろんその実現も簡単ではない。しかしそのためにはプラクティス、つまり実践が重要となる。どうやってやるか、なぜやるか、どんな効果があるか等本当にうまくいくかは実際にやってみないとわからない。そこで、アジャイル開発におけるプラクティスについて、デイリースクラム、プランニング、振り返り/レトロスペクティブについて例を挙げた。さらに、事例についても言及し、事例を聞いても状況や人が異なれば結果も異なる。従って、まず実施しないと自分と他の事例を比較できないため、せっかく事例を聞いてもあまり役に立てられないと指摘した。

アジャイルをやってみるには

アジャイルをやってみるにはどうすればよいだろうか。安井氏は脱学習という言葉を使い、今までうまくいった常識、やり方などの成功をいったん忘れ、疑ってみる必要があると述べた。今までのやり方にアジャイルを載せてもあまり効果が出ない可能性が高い。重要なのはマインドを変え、実践することである。

最後にまとめとしてBSIA理事長の木内氏はアジャイルには20年程の歴史があるにもかかわらず日本における事例が少ないことに対して主体性が失われてきたからできていないのではないかと指摘した。アジャイルをマネジメントの手法と捉え、思いを理解するためには主体性が必要だという。ラグビーのスクラムのような俊敏さ、柔軟性、協調性に主体性が追加されることで成果につながるのではないか。同時に、コーチを付けて経営や事業を磨いていくことも重要だと締めくくった。

Q&A

Q:ベンダーとユーザ企業が共存しながら進めるという前提で考えた場合、ベンダーの選定と関係性をどのように築き上げることができるのか。また、契約をどのように締結して進めたらよいのか。
A:過去の経験では初対面のチームとして関係性を構築するのに時間は要しなかった。理由として指導役の立場として契約した事と、同世代であったためスムーズに溶け込むことができた。ある企業は毎月計画を立案する度に請負契約を締結していたが、契約内容は抽象的な事柄しか記載されておらず、話し合いの中で具体的な実施内容を決めて進めていた。実験的なプロジェクトであるため早期に打ち切りたい時を考慮して毎月の契約を締結していた。このように、ビジネス目的と結果が見えるまでの時間が読めないプロジェクトはアジャイルが向いていると思う。通常のプロジェクトでは立場や役割により契約形態が異なるが、請負と準委任契約の比率は50:50である。

Q:契約形態として幾つかの種類があるが、おすすめの契約方法があれば教えてもらいたい。
A:IPAでは3パターンの契約方法を提示している。1.請負型2.準委任契約3.組合モデル。特に3に関しては双方が資金を出資して共同組織を作り上げて運営する方法である。参考情報として報酬はお客様の将来価値を考慮して株を頂くということもある。

Q:信頼し会えない人は『排除』すると言われたが、どんな場合に『排除』をするべきなのか。
A:最初は前向きな人でも徐々に後ろ向きになり抵抗勢力に変化したためチームの中で話し合いを行い排除したことがある。結局チームが一枚岩になりルールや目的を決めて進める事に反抗する事や、言葉としてもいい続ける人は排除したほうがよい。また、最初からお断りすることもあるが、排除するにしても穏便に済ませないと後々問題につながることもありうるため慎重に行う必要がある。

本文:田口雅美(データコム株式会社)
Q&A:坂本克也(BI-Style株式会社・BSIA運営委員)

ページ上部へ戻る