1分で分かる!アジャイルとは?
ジャバード先生、アジャイルってしってる?
突然の質問だね。アジャイルがどうかしたの?
実はね、スマホアプリ開発をやってるメロンアプリ開発さんが、アジャイルに詳しいエンジニアさんを探しているみたいなんだ。でもアジャイルがよく分からなくて…。
そういうことか。じゃあ今日はアジャイルについて説明するね。
お願いします!
アジャイルっていうのは開発手法の1つだよ。ちなみに同じ開発手法であるウォーターフォールについては、以前説明したから復習しておいてね!
ウォーターフォールってたしか、要件定義→設計→製造→テストみたいに1つずつ工程を進めていく開発手法だったよね?
そのとおり。ウォーターフォール型の開発はつくるものが決まっている、かつ期限が決まっているようなプロジェクトには最適なんだ。
ふむふむ…。
でも、最近はアプリケーションに求められるものが大きくなっているし、状況も日々刻一刻と変わっていくんだよね。だから、アプリケーションによってはウォーターフォール型の開発では、なかなかマッチしないこともあるんだ。
なるほどね。たしかにウォーターフォールで開発している間に、やりたいことが変わるってありそうだもんね。
そうそう。そこで登場したのがアジャイルという開発手法なんだ。アジャイルはシステム全体ではなく、機能という単位に着目して開発をすすめていくよ。
どういうこと?
システム全体ではなく1つの機能に対して、要件定義→設計→製造→テストをするんだ。こうすれば欲しい機能が短期間で開発できるし、仕様変更についても反映しやすいよね。
あぁ、なるほど。システム全体で考えるといろんなところへの影響を考える必要があるし、スケジュールだって必然的に長くなっちゃうよね。
そういうこと!特にWebやスマホアプリ界隈は、状況が変化するスピードがとんでもなく速いからね。
なるほどねぇ。確かにウォーターフォールよりアジャイルのほうがいろいろ都合がよさそうだよね。今後はアジャイル型の開発が中心になっていくのかな?
確かに将来はアジャイルが中心となっていくのは、おそらく間違いないと思うよ。でも、大規模なシステム開発にはあまり向いていなかったり、ウォーターフォールの方が品質を高めやすいという特徴を持っているから、適材適所で使い分けていくことが大事だね。
なるほどね。たしかにどちらにもいいところがありそうなので、優劣をつける意味はなさそうだね!ジャバード先生ありがとう!アジャイルについてよく理解できたよ!
はーい!アジャイルエンジニアが見つかるといいね!
アジャイルとは?採用に役立つ基礎知識
アジャイルとは、開発手法の1つです。同じ開発手法として、ウォーターフォールというものがあります。もともと「アジャイル」とは、「俊敏」や「素早い」という意味を持っていますが、この俊敏で小回りが利くスタイルを開発に取り入れたものとなります。
ウォーターフォールは、開発対象となるすべての機能について、要件定義、設計、製造、テスト、リリースといった工程に分けて対応します。一方、アジャイルは小規模なチームを組み、そのチームで1つひとつの機能に対して、要件定義からリリースを実施します。
アジャイル開発は、要件が確定していないシステム開発に有効といわれており、開発をしながらブラッシュアップすることが可能です。また、ウォーターフォールと比較すると機能を素早くリリースできるというメリットもあります。
アジャイルに関連するエンジニア
アジャイルは開発手法の1つであるため、関連するエンジニアも多いです。一例をあげると、フロントエンドエンジニア、サーバーサイド(バックエンド)エンジニア、またはネイティブアプリエンジニアなどです。
また、機能単位でリリースしていくことになるため、インフラ(サーバー)エンジニアなどのインフラエンジニアもアジャイルのチームに加わることが多いです。
アジャイルに関連するエンジニアの特徴と在籍業界
アジャイルを好む人は行動派が多いです。詳細な仕様などが決定していない状態でも「とりあえずつくる」という精神が重要視されます。
なお、アジャイル開発は、Web業界やスマホアプリ開発といった開発スピードが速く、状況が変化しやすい業界に向いています。そのため、アジャイルに知見があるエンジニアもそれらの業界に多く在籍しています。
ただし、最近では日本でもアジャイルの存在感が大きくなってきています。SIerなどでも積極的にアジャイルを採用しているところもあるため、今後アジャイル人材はさらに増加していくことでしょう。
採用する時に知っておくとよいこと
アジャイルとスクラム
アジャイルとスクラムという言葉は、よくセットで耳にするのではないでしょうか。ただ、きちんと違いを説明できるエンジニアは、実はあまり多くないです。
アジャイルは開発手法の1つと前述しましたが、どちらかというと概念的なもので、細かいルールや手順などを定めたものではありません。
一方、スクラム(開発)とは、アジャイル開発を現場で実践するための開発手法の考え方やルールを定義したものです。具体的な登場人物や役割、さらには手順などがきっちりと決まっています。
「アジャイル」と「スクラム」という2つの言葉は似てはいるものの、厳密には異なる用語だという点は把握しておきましょう。
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス
アジャイルの豆知識
アジャイル関連の資格
アジャイル関連の資格としては以下のようなものがあります。
認定スクラムマスター
認定スクラムマスターは、Scrum Allianceが主催するスクラムマスターに関する認定資格です。
この認定資格では、アジャイル開発の1つであるスクラムで重要なポジションである「スクラムマスター」として必要なスキルや知識を問われます。
スクラムマスターに関する資格はいくつかありますが、この認定スクラムマスターが最もメジャーだといわれています。
なお、日本ではOdd-e Japanなど、いくつかの団体がテストを代行しています。
参考:Odd-e Japan(オッドイー・ジャパン) 認定スクラムマスター
アジャイル関連のイベント
アジャイル関連のイベントとしては以下のようなものがあります。
Agile Japan
Agile Japanは公式サイトの言葉を借りれば「アジャイルの心」を学ぶことをテーマとしたカンファレンスです。このカンファレンスは、アジャイルを浸透させ、日本の変革を促進するという目的を持っているため、エンジニアだけではなく、さまざまな業界、さまざまな職種の方を対象としています。
基調講演には「アジャイルソフトウェア開発宣言」の共著者として有名なアリスター・コーバーン博士を招くなど、アジャイルに携わる人としては参加しておきたいカンファレンスといえます。
参考: Agile Japan