第8回ウイング大学「アジャイル開発の基本について」
第8回となるウイング大学は「アジャイル開発の基本」というテーマで、ウイング関西オフィスのテクニカルインストラクタさんから講演していただき、今回も多くの社員が受講しました。
ITエンジニアにとって、アジャイル開発は興味深いテーマなのですね。
さっそく、アジャイル開発とは、どういうものなのか学んでいきましょう!
―アジャイル開発とは?
“アジャイル(agile)”という単語の意味は「素早い」「機敏な」。加えて、「頭の回転が早い」というニュアンスが含まれています。
アジャイル開発は現在主流になっているシステムやソフトウェアの開発手法の1つで、『計画→設計→実装→テスト』といった開発工程を機能単位の小さいサイクルで繰り返すのが最大の特徴となります。
優先度の高い要件から順に開発を進めていき、開発した各機能の集合体として1つの大きなシステムを形成します。
「プロジェクトに変化はつきもの」という前提で進められるので仕様変更に強く、プロダクトの価値を最大化することに重点を置いた開発手法です。
―ユーザーにとってアジャイル開発とは?
●メリット
・“変化”が前提であり、いつでも仕様変更・機能追加が可能で、ビジネス環境の変化にも柔軟に対応できる
・短期間でプログラムを使用・確認でき、システム化の効果を早期に確認出来る
・RFP・要件定義書の作成に際して開発者に「正しく伝える」という負荷が抑制できる
●デメリット
・“なんちゃってアジャイル”でマニュアルを作成してもらえない
・“請負契約”でないため“丸投げ”できない
・本来の業務外のタスクが発生してしまう
―開発者にとってアジャイル開発とは?
●メリット
・チームであることの安心
・「要件・仕様(顧客業務)が解らない」が発生しない
・“完璧なコードの実装”は必須要件で無くなる
・“トライ”が容易になる
●デメリット
・主体性が必須になる
・開発業務におけるゴールとミッション・完了基準の設定が“非アジャイル”と大きく異なる事に困惑する
・自分の行動基準のイノベーションが必要になる
・ユーザーにとっても、開発者にとっても多くのメリットがありますが、変えていくことも結構ありそうですね。
ユーザーのデメリットは、開始前に合意しておくことが必要ですね。
―アジャイル開発導入の壁
経営環境の変化が早い現在では、アジャイル開発が有効であることは間違いなさそうですが、導入には壁もあるといわれています。
・ソフトベンダーの組織のマインドセット(確立している思考様式、態度、価値観)の変革が必要
・根拠の無い噂や風評に対して実行を控えること
・“契約”に関する関連法規の課題がある
・“安心”するための心理的安全性(Phychological Safety)の“壁”
などがあるようですが、アジャイル開発をやるために変化したくない人の口実に近いかもしれませんね。
―最後に
アジャイル開発とはどういうものかわかりましたでしょうか。
アジャイル開発のほかにもソフトウェア開発にはいくつか手法があるので、プロジェクトに応じて最適な開発手法を検討することが大事だと思いました。
今回の講演は専門的なことで少し難しかったですが、次回のウイング大学は契約書について学んでいきます!
次回のウイング大学の記事もお楽しみに!
ウイングでは、成長したい社員同士が高め合っています。
ぜひ、一緒に成長いたしませんか!