初めに
前職では正直言ってなんちゃってアジャイル開発をおこなっていた節があり、転職を機に改めてきちんとしてアジャイル開発を行なっている企業に転職をしたので概念的なものをなんとなくは理解はしていましたが、自分の勉強を兼ねてアジャイル開発にまとめました。
そもそもアジャイル開発って?
アジャイルの意味を直訳すると、「素早い」「機敏な」「頭の回転が速い」という意味になります。
アジャイル開発はシステムやソフトウェア開発におけるプロジェクト開発手法のひとつで、大きな単位でシステムを区切ることなく『計画→設計→実装→テスト』といった開発工程を機能単位の小さいサイクルで繰り返すのが最大の特徴です。
このサイクルのことをスクラムやイテレーションと呼び、1〜4週間程度の期間になります。
スクラム開発について
アジャイル開発と言っても色々な手法があります。その中でも最も代表的かつ、現在当社でも採用しているもの「スクラム開発」について説明いたします。
スクラム開発
スクラムとはラグビーで肩を組んでチーム一丸となってぶつかり合うフォーメーションのことで、その名の通り、チーム間のコミュニケーションを重視している点が特徴になります。スクラム開発ではメンバー自身が計画を立案し、スクラムごとに設計・実装を行います。スクラム毎に開発の進捗状況の動作や検査するため、チーム内のコミュニケーションが非常に重要になります。
スクラム開発の流れは以下の通りです。
スプリントプランニングとは
スプリントプランニングとは、スプリントのゴールを話し合い、そのゴールを達成するために必要な作業を計画するイベントのことです。タスクに分割する過程において、今のスクラムチームでの実装可能性や設計、作業見積りも行われます。精度の高い見通しを示すためにも、必要なステップです。
デイリースクラムとは
デイリースクラムは開発作業を円滑かつ最適化するとともに、予定どおりに進んでいるか、課題はないか確認する目的で開催されるものになります。特徴として毎日同じ時間、同じ場所で15分程度、今後の作業計画やスプリントゴールに対する進捗の確認・調整をします。精度の高い見通しを示すためにも必要なステップです。
また会議には開発メンバーも参加するため、個々のメンバーが自らなすべき役割とタスクをその場で確認することができ、後で認識の相違が起こる事態を防止できます。
スプリントレビュー
スプリントレビューはスクラム開発を導入したプロジェクトで、スプリントの終わりに実施される会議の1つです。
スプリントレビューでは、開発した機能を顧客に実演・プロダクトバックログの項目を更新・今後の開発の見通しが行われます。
スプリントレトロスペクティヴ
スプリントの最後に行われる、スプリントのふりかえりの会議で「ふりかえり」や「ふりかえりミーティング」と呼ばれることもあります。スプリントレトロスペクティヴでは下記の手順で進められます。
1.直近のスプリントについて、評価を行う
2.良かった点や今後の課題について話し合う
3.スプリントの中で課題を解決した事例があれば、それを取り上げる
4.次回以降のスプリントにおける改善点を出す
スプリントレトロスペクティブは今後のスプリントをより良く実施し、スプリントの効果と成果物の品質を上げるこために行われます。
アジャイル開発のメリット・デメリット
メリット
- 開発のスピードは速い
- スケジュールを柔軟に組むことが出来る
- 仕様変更や追加対応も可能なのでユーザーのニーズに最大限応えることができる
デメリット
- 開発の方向性がぶれやすい
- 全体の進捗状況やスケジュールの把握が難しい
最後に
いかがでしたでしょうか。先月までの僕みたいになんちゃってアジャイル開発をしている人は沢山いるかなと思います。今回の記事がそのような方であったり、プログラミング初学者の参考になれば幸いです。