基本的なアジャイルフレームワークを知りたいならアジャイルプラクティスマップがおすすめ
色々あるのでまとまったフレームワークやプラクティスがわかる資料があると便利だと思ったことはないですか?
アジャイルアライアンスでは、アジャイルプラクティスマップを公開していて、まずそれを眺めてみるのが良いです。
すでにアジャイルの経験や知識がある人にも知識の整理に役立ちます。
日本語翻訳されて、各プラクティスがわかりやすくまとめられているものもあります。
本記事ではアジャイルプラクティスサブウェイマップを理解しやすくするために、アジャイルプラクティスサブウェイマップに出てくるフレームワークの概要を説明します。
テストや設計などは言葉の意味そのままですので割愛します。
スクラム
プロダクトオーナー、スクラムマスター、開発者といったロール(役割)をもったメンバーで一般的には10人以下のチームを組み、機能や要件などに分けられた単位で決められたタイムボックスの中で「計画、設計、開発、テスト」、そしてリリースのサイクル(スプリント)を繰り返し、プロダクトをつくっていく手法です。
最もポピュラーで認知度も採用度も高い手法です。
ソフトウェア開発にとどまらず様々な活動でも応用されます。
エクストリームプログラミング
顧客の要望を取り入れながら、要件定義から設計、開発、テストの工程をイテレーションという単位で繰り返し、システム、プロダクトを開発していく手法です。
採用されるプラクティスはペアプログラミングやリファクタリングなどソフトウェア開発の毛色が強く、技術系ではエクストリームプログラミングの方がとっつきやすさや馴染みがあるかもしれません。
リーン
別名トヨタ生産方式とも呼ばれます。
カンバンを用いて、タスクの可視化を行い、無駄を削ぎ落とし生産効率化する手法です。
Kanbanという言葉が世界で通じるほど、カンバンはプロセス可視化に活用されています。
ソフトウェア開発でも、スプリントバックログのタスク項目の可視化によく活用されるほどです。
DevOps
Development(開発)とOperation(運用)を合わせた言葉で開発と運用を分けずに壁を取り除き、開発と運用が協力して柔軟に開発・運用を行うことでプロダクトの構築を効率性と品質を高めていく手法です。
アジャイル開発手法を用いた開発を行っていくと、継続的に要望から開発し、リリースを繰り返していくため、開発と運用のフェーズは明確に切り分けられずどちらも同時並行で行われていきます。
そのため、DevOpsのように開発と運用が協力しあってコラボレーションして活動していくことで開発効率と品質を向上を目指します。
最後に
アジャイルも最初はソフトウェア開発プロセスとして登場しましたが、その概念の内容と流行りなどもあり、今ではソフトウェア開発の域を出て様々なシーンで扱われます。
アジャイルという言葉が一人歩きすることも少なくなく、いったいアジャイルはなんなのか、始めるにもフレームワークやプラクティスも色々あります。
それぞれは難しいものではありませんが、様々なフレームワークや流派がありわかりにくくなっている部分もあります。
まずは、アジャイルプラクティスマップで概要を理解してみるのはよいとおもいます。