はじめに
アジャイル開発について調べる機会があったので備忘録としてこの記事を残します
まずアジャイル開発って何
システムやソフトウェアの開発手法の1つで、
『計画→設計→実装→テスト』といった工程を機能ごとに迅速に回していくこと
勘違いされがちなのは、開発のゴールがズレまくってそれを追う様に開発してしまうこと
これはアジャイルではなく、「行き当たりばったりの対応」である
防ぐためにはユーザーが求めているものをしっかりと見据えることであり、アジャイルはそれを達成するための手段にすぎない。
この部分はアジャイルソフトウェアの開発宣言にも載っている部分になる
アジャイルソフトウェア開発宣言について振り返る
・個人との対話
・実際に動くソフトウェア
・顧客との協調・コミュニケーション
・変化への対応
これらの宣言は動的でより柔軟性がある開発をするために必要な部分であり、
早期に問題を発見したり、戻りを減らすことにつながる
そして早い段階でサイクルを回すことで古い価値観に囚われ続けることから脱却でき、
レガシーなシステムになってしまうリスクも減る
ウォーターフォールとは対比であり、
アジャイル手法を使う場合は仕様が詳細まで決まってない場合が多い
アジャイルで使われるスクラムとは
アジャイル開発におけるフレームワークの一種で、10人程度のスクラムチームを結成し、「スプリント」と呼ばれる短期間で開発サイクルを繰り返す方法。短い期間で回すためその都度顧客のニーズを把握しつつ、大きな戻りも発生しない状況をくりかえることで迅速な開発が可能になる
①ステークホルダーからの要望をバックログにまとめ、スプリントのゴールを決める
②デイリースクラムで毎日15分ほど、ゴール達成に向けた進捗確認、計画の調整を行う
③レトロスペクティブを行い、チーム内で問題や改善方法についてレビューを行う
④改めてプランニングを行い、次のスプリント計画を決める
一般的にこの様な流れになる
引用
https://asana.com/ja/resources/waterfall-agile-kanban-scrum

カンバンとの違い
かんばんはプロセスの改善に焦点を当てていて、仕事をリアルタイムに視覚化するための
プロセスを改善する方法だと言われている
カンバンはカンバンボードを使用して管理し、
仕事は列によって整理されたプロジェクトボードに表示される
慣習的に、各列は仕事のステージを表しています。最も基本的な形には
、To-Do、進行中、完了などの列を設け、
個々のタスクはボード上で視覚的なカードで表現され、
タスクが完了するまで列間を移動する
