「アジャイル開発の資格をとりたいけど、どれがいいのかわからない」
こんな悩みはないだろうか。
確かにアジャイル開発については様々な団体からいろいろなレベルの資格が出されている。
本当に力を入れて、時間を割くべきなのは資格取得のための準備やその後の実践であるはずなのに、まず数多く存在する資格の中から自分に合ったものを選ぶのだけでもかなりの時間を取られてしまう。
そこで数多くある資格の中から特に有益なものを、こちらで以下の3つに厳選した。これらは読者の方のエンジニアとしての経歴やチームでの立ち位置などの状況に応じて、スキルアップするためにぴったりなものを選定している。
自分の知識レベルや金銭的な条件に合致する資格選びがしやすくなってると幸いだ。
資格名 | こんな人におすすめ |
アジャイルソフトウェア開発技術者検定試験(Lv.1) | まだチーム開発についてあまり知識がなかったり、考えたことがない1年目くらいのエンジニアの方に特におすすめだ。 |
アジャイルソフトウェア開発技術者検定試験(Lv.2) | チーム開発をより効率的に行いたいと思っているチームリーダーや、アサインされる案件は難なくこなせるのでチーム開発の効率化に意識が向き始めた2〜3年目のエンジニアにおすすめだ。 |
Certified ScrumMaster®/CSM®(認定スクラムマスター) | アジャイル開発を推進していくマネージャーやリーダー的な役割を担う人に特におすすめだ。 |
1 アジャイルソフトウェア開発技術者検定試験(Lv.1)
資格名称 | アジャイルソフトウェア開発技術者検定試験(Lv.1) |
公式サイト | http://agilecert.org/ |
試験時間 | 60分 |
受験方法 | CBT形式(試験会場でオンラインでのテスト受講) |
受験料金 | 10,000円(税別) |
受験資格 | 特になし |
出題形式 | 多肢選択式 |
評価方法 | 80%以上合格 |
1-1. 資格の取得難度
難易度は高くない。
以下に挙げる通り、出題内容としてはアジャイルでチーム開発をしていく上での基本的な考え方、効率よくチーム開発を進めるために行うイベントについての知識が問われる。
http://agilecert.org/test/requirements/
アジャイル開発に対する基礎知識 アジャイル・マニフェスト
アジャイル原則開発チームの運営 コミュニケーション
自律性と協調
ルール
振り返りアジャイル開発プロジェクト管理 会議体
ロール(役割)
反復
ドキュメント
チーム編成
計画
見積り
ビジョン
品質アジャイル開発の技能 ペアプログラミング
リファクタリング
常時結合
テスト駆動開発
1-2. この資格で習得できるスキル
この資格を取得することで得られるのは、アジャイル開発における体系的な基礎知識だ。
具体的には、アジャイル開発の基本となる考え方や、効果的なチーム運営の方法について学ぶことができる。
1-3. 知識以外で習得できるもの
特にない。
この資格は自分で参考書などで知識を習得するだけで取得できる。座学のみで習得できるため入門者には取り掛かりやすい資格である。
1-4. こんな人におすすめ
まだチーム開発についてあまり知識がなかったり、考えたことがない1年目くらいのエンジニアの方に特におすすめだ。
チーム開発について学ぶとっかかりになるからだ。
体系的な知識をテキストを元に独学で学べるので、無駄なく必要な項目を習得しやすい。また、概念的なものが多いため実務での経験がなくても理解がしやすい。
2 アジャイルソフトウェア開発技術者検定試験(Lv.2)
資格名称 | アジャイルソフトウェア開発技術者検定試験(Lv.2) |
公式サイト | http://agilecert.org/ |
試験時間 | 60分 |
受験方法 | CBT形式(試験会場でオンラインでのテスト受講) |
受験料金 | 15,000円(税別) |
受験資格 | アジャイルソフトウエア開発技術者検定試験(Lv.1)に合格していること |
出題形式 | 多肢選択式 |
評価方法 | 65%以上合格 |
2-1. 資格の取得難度
1〜2年目くらいのエンジニアであれば問題なく取得できるレベルである。ただし、未経験のエンジニアやまだ業務経験が浅いエンジニアには難しい可能性がある。
以下に挙げる通り、出題内容としてはアジャイルでチーム開発をしていく際に必ず知っておくべきコーディングやチーム運営の具体的な知識が問われる。
http://agilecert.org/test/requirements2/
モデリング オブジェクト指向設計:継承、インターフェース、ポリモーフィズム、疎結合、Dependency Injection コーディング コーディングルール:ツールによる確認(checkstyle)
ペアプログラミング
リーダビリティ(コードの読みやすさ)
テストコード(Mock、Testing frameworkなど)
静的解析ツール(SonarQube)
ドキュメンテーション構成管理 チーム開発:SCM(ソースの変更管理システム)、分散型(git)、集中型(Subversion、CVS 等)
ブランチ戦略:ブランチとマージ、レビュー・受入(プルリクエスト)
コンテナ技術テスト TDD:Junit(モックを使ったテスト、テスト結果レポートの見方、網羅率C0,C1,C2)
品質管理のためのテスト(パフォーマンステスト、結合テスト、総合テスト・システムテスト)
ユーザー受入テスト、ブラックボックステスト、ホワイトボックステスト常時結合 自動化の導入:何時動かして結果から何を読み取るか、自動化の導入効果、何を自動化するか(ビルド⇒テスト⇒デプロイ等)
何のため、誰のために、常時結合(CI)をおこなうのかデザインパターン デザインパターンを使うことのメリット
ロバート・C.マーチン「アジャイルソフトウェア開発の奥義」(アジャイルな設計、単一責務、Open/Closedの法則)、GoFのデザインパターン、DI(Dependency Injection)
オブジェクト指向開発の考え方(継承、カプセル化、ポリモーフィズムなど)
デザインパターンを使うことのメリット(各パターンの利用法、メリット)
システムアーキテクチャ設計(拡張性、保守性)
UML(Unified Modeling Language)リファクタリング マーティン・ファウラー「リファクタリング」(コードの不吉な匂い等)
オブジェクト指向設計原則(Principles Of Object Oriented Design)チームのスキル スプリント計画
自己組織化されたチーム:メンバーの行動規範(コミュニケーション、自立と協調)
レトロスペクティブ(振り返り)
2-2. この資格で習得できるスキル
チーム開発を継続的に行っていくために必要なより具体的で実践的な知識が習得できる。
個人が開発する視点で言えば、変更に強いプログラムを書くためのモデリングの知識の習得が求められている。
チームで可読性高く開発を行っていく観点では、デザインパターンの活用やアーキテクチャの設計などのより大きな視点での知識の学習が必要になる。
チームのアウトプットを最大化するという観点では、以下の点についても学ぶことができる。
・継続的に改善を回していく上でできるだけ工数を省いていくためにCI/CDやテストコードの導入による各種プロセスの自動化
・チームの活動をより効率化するためのスプリントプランニングや振り返りの実施
2-3. 知識以外で習得できるもの
特にない。
この資格は自分で書籍などで知識を習得するだけで取得できる。ただし範囲が広く内容がより具体的・実践的である分、業務などを通して一通りのトピックについて内容がわかっていた方が内容が頭に入りやすい。
2-4. こんな人におすすめ
チーム開発をより効率的に行いたいと思っているチームリーダーや、アサインされる案件は難なくこなせるのでチーム開発の効率化に意識が向き始めた2〜3年目のエンジニアにおすすめだ。
範囲が広く、内容が深い分資格取得のために学習を進める過程で必ず自分のチームが置かれた状況に合致する課題とそれに対する対策に出会うことができるはずだ。
3. Certified ScrumMaster®/CSM®(認定スクラムマスター)
資格名称 | Certified ScrumMaster®/CSM®(認定スクラムマスター) |
公式サイト | https://www.scrumalliance.org/get-certified/scrum-master-track/certified-scrummaster(英語サイト) |
試験時間 | 60分 |
受験方法 | CBT形式(試験会場でオンラインでのテスト受講) |
受験料金 | 161,139円(税込)〜 330,000円(税込)* |
受験資格 | ワークショップへの参加 |
出題形式 | 選択式 |
評価方法 | 37問以上正解で合格(50問中) |
*研修を行う機関によって価格が異なる
3-1. 資格の取得難度
しかし、資格試験の前にワークショップがあり、そこでグループワークなどを通して具体的なアジャイルの取り組み方を学ぶ。そのため、初心者であってもグループワークに積極的に参加していれば問題なく取得できる。
最終的な難易度としては若干高い。より実践的なアジャイルの知識を持っていることを問われるためだ。
ワークショップの内容は講師によって異なる。
今回は一例として、知名度の高い Agile Business Institute IncのHPを参考にする。以下に挙げる通り「アジャイルとウォーターフォールの違い」という基本的な説明から入り、より具体的な知識の学習をした後に「スプリントの実践」という実践形式のプログラムが組まれている。
アジャイルとウォーターフォールの違いとは
https://abi-agile.com/lp/csm/
スクラム3つの役割と責任
スクラム5つのイベントとは
スクラム3つの作成物の作り方管理方法
バックログアイテムの見積もり納期の予測
スプリントの実践
継続的な改善とチームワーク
認定スクラムマスター試験対策
3-2. この資格で習得できるスキル
アジャイル開発の一種であるスクラムというフレームワークの理解が深まるとおもに、その知識を具体的な運用スキルにまで落とし込むことができる。
普通の座学とは違い、ワークショップ形式で知識の理解とその実践を同時に行えるため、かなり実践に近い形で深く知識とスキルを習得できると言える。
3-3. スキル以外で習得できるもの
アジャイル開発に興味を持つ他の参加者との交流・繋がりを作ることができる。
この資格の取得には、ワークショップへの参加と試験への合格が求められている。ワークショップはオフラインとオンラインを選ぶことができる。オフラインのワークショップに参加することで、同じ興味を持つ人と深く交流することができる。
ワークショップではチームで課題に取り組んだり、ディスカッションをすることでアジャイルの実際の現場を体感し、実践的な知識を習得していく。
3-4. こんな人におすすめ
アジャイル開発を推進していくマネージャーやリーダー的な役割を担う人に特におすすめだ。
業務以外で実践的なチーム運営について学べる数少ない機会であり、同じ志を持った人とのコミュニティ形成のチャンスでもあるためだ。
ただし、資格取得には20〜30万円近い金額が必要になり、なおかつワークショップに参加する時間が必要になる。そのため、会社から費用を出してもらえる方や、ワークショップ参加分の有給取得や費用を賄ってでもより本格的にキャリアアップを考えている方には特におすすめだ。
まとめ
アジャイル開発に関する資格を3つ紹介してきた。
チーム開発についてまだ知見があまりない人にとっては以下の資格がおすすめである。
・アジャイルソフトウェア開発技術者検定試験(Lv.1)
アジャイル開発を推進する立場の人、もしくは導入したい人にとっては以下の二つは特におすすめである。
・アジャイルソフトウェア開発技術者検定試験(Lv.2)
・Certified ScrumMaster®/CSM®(認定スクラムマスター)
この記事がどの資格を取得するかの検討の一助になって、読者の方のキャリアアップや読者の方の所属するチームへのアジャイル導入が進むと嬉しい。