📚

認定スクラムデベロッパー研修(CSD®️研修)を受けた話

2023/02/20に公開

✏️ はじめに

この度、認定スクラムデベロッパー(CSD®️)の資格を得ました。

https://bcert.me/sovimjfga

認定スクラムデベロッパーとは、スクラムとアジャイルの原則を理解し、アジャイルエンジニアリングの専門スキルを習得していることをトレーニングで証明した人たちです(Scrum Alliance)。

私は、アギレルゴさん主催の認定スクラムデベロッパー研修を受講し、その結果として、認定スクラムデベロッパーの資格を得ました(テスト等があるわけではなく、研修を受けることが資格の条件でした)。

今回は、私が受講した研修の概要と、そこから得た学びを、簡単に書き記しておきたいと思います。

✏️ 研修の概要

  • 講師 : David Bernstein (同時通訳付)
  • 費用 : 22万円
  • 期間 : 4時間 × 4日間 (08:00-12:00)
  • 形態 : Zoom
  • 内容 : アジャイル、スクラム、原則、ストーリーライティング、デザインパターン、etc

https://www.jp.agilergo.com/online-csd-bernstein-202302

研修の講師は『レガシーコードからの脱却』の著者、David Bernstein氏でした。

https://www.oreilly.co.jp/books/9784873118864/

研修の内容も、こちらの書籍に書いてある内容を、さらに開発者向けに焦点を絞ったものとなっており、期待通りの内容でした。なお、研修に参加する特典として、こちらの本を送っていただけました(結果、私の手元には、読書用と鑑賞用の本があることに...)。

研修の費用は22万円(税込)でした。個人が受ける研修では、割と高額な部類に入るのではないでしょうか。

研修の期間・形態は、平日の08:00-12:00・Zoomにて開催ということで、夜型の私には少々しんどかったですが、業務との都合はつけやすかったです。

✏️ 研修の内容

講義は、座学中心でした。David氏から資料をいただき、スライドを読みながら口頭で解説が続くというスタイルです。また、途中に何回かワークショップがあり、学んだ知識を実践する機会もありました。

認定スクラムデベロッパーの上位資格である、アドバンスド認定スクラムデベロッパー研修では、実践中心に行うそうです。私としては、既にそちらも受けたい気持ちになっています。

講義の内容は、紹介ページの通りでした。私なりにざっくりとサマライズすると、以下になります。

(前半) スクラム開発者のエッセンシャル

  • アジャイルの原則
  • スクラムの基礎・実践
  • 開発プラクティス
  • ストーリーライティング

(後半) デザインパターンのエッセンシャル

  • 原理・原則・観点
  • パターンに対する考え方
  • 各種パターンの解説

✏️ 研修からの学び

David氏の講義の内容は、どれも非常に有意義でした。既知の内容が頭の中で整備されたり、全く新しい考え方を与えてくれたり。この記事ではその中でも、特に私にとって有意義だった内容をピックアップして残しておこうと思います。

💡 古い慣習を忘れ去ることは難しい

新しい考え方や概念はどんどん出てくる。その本質を理解することで、違うように見えても共通点を見出せる。そうして変化に適応していこう、みたいな主張だったと思います。私も、そんなアジャイルな考え方を好ましく思います。

💡 スクラムを使うだけでは...

スクラムフレームワークを使うだけで、変化に強いソフトウェアができるわけではなく、開発者がソフトウェアプラクティスを実践できることが必要、という話です。ハッとしました。開発者として、自分の役割に自覚的になれた言葉です。

💡 お客様に聞こう

要件とは、対話の中で明らかにしていくものである━━すごく重要な考え方だと思います。そのために、David氏は徹底して「お客様に聞こう」ということを言い続けていました。ついつい、開発者の中だけで「こう作ればいい」とか「こういう機能が必要そう」とかを考えがちですが、全てはお客様(スクラムの中では、プロダクトオーナー)との対話の中で決まるものだと。講義の中でも、ワークショップを通じてこの考え方を実践する時間があり「なるほどそういうことか!」と腑に落ちるところまでには至れたと思います。

💡 ソフトウェア品質の第一原則は、テスト容易性

David氏が提供してくれた中でも非常に興味深い洞察の一つは、第一原則という考え方です。第一原則とは、他の原則を導くものであり、ソフトウェア品質の第一原則━━つまり、ソフトウェア品質で最初に考えるべきもの━━は、テスト容易性であると、David氏は主張しています。非常に納得できますし、「ソフトウェアの品質」と言ったときに色々と難しく考えてしまいがちですが、スッキリとした指標を与えてもらった気分になり、爽快でした。

💡 パターンとは何か?

デザインパターンを記述した書籍や記事はあれど、この研修ほど「そもそもパターンとは何か?」を丁寧に語ってくれたものはありませんでした。「デザインパターンではなく、ソフトウェアパターン(ないし、ただのパターン)である」という言葉や、「パターンは発明されたものではなく発見されたもの」という言葉を、建築や医療、合気道の例を交え説明してくれました。デザインパターンを暗記事項的に考えていた私には、視点がガラッと変わり、知見が大変広がった時間でした。

💡 パターンは意図である

私は今までデザインパターンをUMLとしか見えていませんでした。そうではなく「何をカプセルかしたいか」という意図で分類するのが良い、とアドバイスをいただきました。金言だと思います。講義の中では、たくさんのデザインパターンをおさらいしましたが、David氏の観点での分類はわかりやすく、実践に落とし込みやすいなと感じています。

✏️ 最後に

私が今回の研修を受講した経緯は、スクラムにおける開発者の役割をよく知ることで、普段の業務に活かしたい・チームが直面しているレガシーコードを改善するため、自分ができることの解像度を上げたい、といったものでした。そしてこの研修は、そのために必要な情報を十分に提供してくれました。
私が今考えていることは、いかに「チームで」レガシーコードに立ち向かっていくかです。当然チームの私1人だけでは力不足です。研修で得た情報をチームへ持ち帰り、チームで実践できそうなことを一緒に考え、レガシーコードを改善していきたいと思います。

Discussion