アジャイル開発の履歴

私自身は開発者ではないので、アジャイル開発を実践することはないのだが、啓蒙する必要性を強く感じているので、まとめることにする(2011.08.03記)デジタルマーケティングを推進するにあたり、アジャイル開発の手法に着目することにした(2022.08.31記)

「アジャイルソフトウェア開発宣言」

私たちは、ソフトウェア開発の実践
あるいは実践を手助けをする活動を通じて、
よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。

プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、

価値とする。すなわち、左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。

(c) 2001, 上記の著者たち
この宣言は、この注意書きも含めた形で全文を含めることを条件に
自由にコピーしてよい。

出典:https://agilemanifesto.org/iso/ja/manifesto.html

「アジャイルソフトウェア開発宣言」の私的読み替え

4か条の右項を以下のように読み替えることができるのではないか?

  • 個人と対話:コミュニケーション
  • 動くソフトウェア:プロトタイプ、現地現物主義(トヨタ生産方式)
  • 顧客との協調:コラボレーション、あるいは共感と調和
  • 変化への対応:自律性、あるいは自己マスタリー

2022.08.29 再構成

『アジャイル開発とスクラム』

従来手法の何が問題なのか

  • 人の創造性を奪ってしまう
  • 文書によるコミュニケーションには限界がある
  • 悪いタイミング
  • 未来を読む水晶玉はない
  • 仕事が楽しくない
  • 部分最適化

出典:『アジャイル開発とスクラム』

プラクティス

技術プラクティス

高速に石橋をたたいて渡る「開発環境」をつくるもの

  • リファクタリング
  • テスト駆動開発
  • 継続的インテグレーション
  • ペアプログラミング
  • その他

ソーシャルプラクティス

協働でゴールに向かう「チーム環境」をつくるもの

  • ユーザストーリ(参考:物語)
  • 朝会(デイリースクラム)
  • タスクかんばん(参考:トヨタ生産方式)
  • バーンダウンチャート
  • プランニングポーカー
  • ふりかえり(レトロスペクティブ)
  • その他

出典:『アジャイル開発とスクラム』

アジャイル開発の主な手法

リーンソフトウェア開発(トヨタ生産方式):価値・原則の観点

スクラム:マネジメントの観点

  • 「インセプションデッキ」も参照

エクストリーム・プログラミング(XP):技術の観点

  • 「ペアプログラミング」も参照


出所:富士通ラーニングメディア

アジャイル開発への不安

  • 要件の変化をどうマネジメントするのか?(プロジェクトマネジメントの問題)
  • フィードバックと計画の相克

関連キーワード

  • プロジェクトマネジメント
  • ユーザーエクスペリエンス(UX)
  • リーンスタートアップ
  • DevOps
  • バックログ:優先順位のリスト(プロダクトバックログ/スプリントバックログ)
  • イタレーション、スプリント(スクラム):動くソフトウェアをリリースするサイクル単位。
  • 心理的安全性
  • KPT(振り返り方法)
  • リーダーシップ/サーバント・リーダーシップ

アジャイル開発の歴史のサマリ

  • 2000年前後:第一次ブーム、インターネット企業の黎明期。2001年、アジャイルソフトウェア開発宣言
  • 2010年前後;クラウドサービスの隆盛
  • 2020年前後:デジタルトランスフォーメーションの隆盛


出所:富士通ラーニングメディア

アジャイル開発の課題

  • 短期間での品質向上(動くソフトウェア)
  • デグレードを起こしやすい。その防止が必要
  • 品質確保:テストを小刻みに行う。テストの自動化
  • 契約:準委任契約(利益が出にくい) vs. 請負契約(期間を短くする)
  • 要件が膨らむ:優先順位をコントロールする
  • 心理的安全性の確保


出所:富士通ラーニングメディア

アジャイル開発 vs. ウォーターフォール

観点 アジャイル開発 ウォーターフォール
実現方法不確実確実
専門性共存(マルチスキル)推奨
設計・製造融合分離
ロット小さく大きく
管理現物統計
テスト常にまとめて
情報伝達暗黙知形式知
計画見直す守る
手戻り歓迎
指揮系統自律分散(自律性)中央集権

出所:富士通ラーニングメディア

アジャイル開発とmindiaの関係

アジャイル開発の体系的に理解に、あらためてmindiaを利用する。常々考えていることであるが、パーソナルメディアはフローとストックを使い分ける必要がある。Wikiの亜種であるMindiaはストックツールである。つまり、学習履歴をストックしたり、学習した知識を再構成するのに役に立つ。

デジタルマーケティング

2021年、カスタマーサクセス、デジタルマーケティングもまたアジャイル開発のプラクティスが使える、いや使うべきであると気づく。個人の生半可な我流知識でチーミングがうまくできない。2022年4月頃、チーム全体でアジャイル開発の基礎を習得すべきという考えにいたった。

編集履歴

  • 2011.08.03 初稿
  • 2014.04.20 『アジャイル開発とスクラム』、従来手法の何が問題なのか、プラクティスを追加
  • 2022.08.29 「デジタルマーケティング」「開発キーワード」「アジャイル開発の歴史のサマリ」について言及