認定スクラムデベロッパー研修を受けてきた
こんにちは、 @kz_morita です。
今回は、認定スクラムデベロッパー研修 (略して CSD 研修) を受けてきていろいろ学ぶことができたのでまとめていきます。
CSD 研修とは CSD 研修はスクラム開発のチームメンバーとして何をすべきなのか、どのように開発を進めていくべきなのかといった点を学ぶ研修です。有料で、研修・トレーニング中に能力が評価されると、Scrum Alliance に登録され認定されます。
有料の研修ですが、お金で資格を取得するものではないため必ず認定されると言うわけではなさそうです。
https://www.odd-e.jp/service_01/ 研修は全てで 3 日間あり、
今回は、全て online で行ったため、以下のようなツールを用いた研修でした。
Google Meet Miro Cloud9 デベロッパー用の研修だけあって、かなりコードを書きました。ツールとしては Cloud9 を用いて、主にペアプロでコードを書いていきました。
学び 研修は最初にアジャイル開発について学びました。内容は主に XP (eXtreme Programming) のプラクティスで、TDD とペアプロを重点的に行いました。
TDD の学び TDD は知識として、知ってはいましたが実際に体験するとかなり印象が変わりました。
TDD を体験する前はテストから書いていくのは、多少面倒に感じていたところもあったし開発スピードも遅くなりそうという疑念がありました。
実際にやってみると、TDD は小さなイテレーションを細かく細かく積み上げていって仕様を満たしていく方法だと実感できました。小さくでも確実に積み上げることで開発が前に進んでいることが実感できるし、テストとともにプログラムを成長させていくので不具合が出てデバッグをするといったことがかなり少なく感じました。
今まで、「仕様を確認する」 → 「実装する」 と言う手順で行っていたものを、「仕様をテストとして書く」→「実装する」→「リファクタリングする」といった手順で行うのが TDD だと体験することでしっくりきました。
Baby Step 講義の中で何度も出てきた言葉が 「Baby Step」です。小さなステップを繰り返して不確実性を極力減らしていく。システムが小さいうちに小さくテストを繰り返して確実な領域を積み上げていく。1度の変更を小さくするといったことの大切さを実感できました。
これは、プログラミングだけに止まらず、なにか作業を行う際に手順を小さくしその一つ一つを十分検査可能な単位に分割するのはとても重要に感じました。
ソフトウェア工学とアジャイル 以前、「ソフトウェア職人気質」を読んだ と言う記事を書きましたが、この書籍の内容と通ずるところが今回の CSD 研修ではありました。
それは、「人間に向き合う」という点だと思います。
作業者がミスをせず完璧にタスクをこなせる (まるで機械のように) という前提ならば、効率が良いのはウォーターフォールだと思います。最初から全てを完璧に把握し設計し、実装するのであれば間違いなく効率が良いでしょう。