msksgm’s blog

msksgm’s blog

Webエンジニアです。日々の勉強記録、技術書感想、美術観賞感想を投稿します。

2023年4月の振り返り

概要

2023 年 4 月の振り返りです。

今月は以下を目標にしていました。

msksgm.hatenablog.com

勉強概要

今月は下表のように勉強していました。 合計、約 78.9 時間です。目標の 100 ~ 120 時間に到達できませんでした。 理由は 4 週目に残業のため勉強時間をほとんど確保できなかったからです。 その残業時間は OKR に関連する目標でしたが、過剰に取り組んでしまった結果、燃え尽きてしまい、以降の勉強時間や勉強の姿勢に悪影響を与えてしまいました。

項目 1 週目(4/1~4/2) 2 週目 3 週目 4 週目 5 週目
平日朝の勉強時間 0 時間 約 13.3 時間(32 ポモドーロ) 約 15 時間(36 ポモドーロ) 0 時間
平日夕方の勉強時間 0 時間 0 時間 0 時間 0 時間 0 時間
休日の勉強時間 約 12.9 時間(31 ポモドーロ) 約 14.2 時間(34 ポモドーロ) 約 17.5 時間(42 ポモドーロ) 0 時間
ソフトウェアテスト技法ドリル」勉強会 0 時間 0 時間 約 2 時間 約 2 時間
そのほかの勉強会 0 時間 約 2 時間 0 時間 0 時間
合計 約 12.9 時間 約 29.5 時間 約 34.5 時間 約 2 時間

4 月の OKR 結果

2023年4月〜6月の目標に記述した OKR 目標は CI/CD とテストです。 具体的には下表の通りになります。

注力分野 Objective(3 ヵ月経過後の目標) Key Result(必要だと考えていること)
ソフトウェアテストプロダクトマネジメント 品質の向上と担保を第一義に、テストプロセスおよび開発プロセスを経験した状態 ソフトウェアテスト技法、テストプロセス、の知識。品質マネジメントを主目的にした開発プロセスまたはプロダクトマネジメントの導入と実践
DevOps・CI/CD 開発(Dev)側が必要な運用(Ops)の技術と考え方を認識した状態。DevOps DevOps の知識の拡充。モニタリング、オブザーバビリティ、SRE の知識。業務内外にかかわらず CI/CD の実践経験

4 月は下表に落とし込んでいました。

注力分野 Objective(1 ヵ月度ごとの目標) Key Result(具体的な行動予定)
ソフトウェアテストプロダクトマネジメント ソフトウェアテストの技法について一通り学んだ状態。プロダクトマネジメントの初歩的な部分を学び始めた状態 JSTQB に合格する。「ソフトウェアテスト技法ドリル」の勉強会を開催する。「はじめて学ぶソフトウェアのテスト技法」「ALL for SaaS」を読む
DevOps・CI/CD DevOps の基本を認識している状態 「Effective DevOps」「The DevOps ハンドブック」を読む。業務のふりかえり方法を変えてみる。個人と業務で CI/CD を組み込む

それぞれの注力分野に対する結果は以下です。

注力分野 達成度(100 点満点) Key Result(行動結果)
ソフトウェアテストプロダクトマネジメント 75 点 JSTQB に合格した。「ソフトウェアテスト技法ドリル」「はじめて学ぶソフトウェアのテスト技法」「ALL for SaaS」を読んだ。業務で統合テストの自動化を行い、テスト分析も実践した
DevOps・CI/CD 65 点 godoc を静的な HTML にすること方法がわかり、業務の CI/CD に組み込んだ。「Effective DevOps」「The DevOps ハンドブック」を読んだが、現状活かせていない

注力分野の振り返り

ソフトウェアテストプロダクトマネジメント

75 点とした理由は以下です。最低限のこと以上はできましたが、あまりリターンがない状態ですので、いったんこの点数にしました。

  • 下記のことができた
    • JSTQB に合格
    • 目標にしていた書籍を一通り読んだ
    • 業務でテスト自動化やテスト分析を実践した
  • 一方で、下記の問題が発生した

今月は 1 週目の日曜日に JSTQB Foundation Level を受験し、合格しました。 少し時間がかかってしまいましたが、ソフトウェアテストを体系的に学ぶ良い機会でした。 業務でも設計段階から、テストについて考察する習慣が身につき、受けて良かったと考えています。 いったん資格勉強は後回しにしますが、上位資格である、JSTQB Advanced Level が今後 CBT で受験可能になるので来年を目処に受験を考えています。

2 週目以降は、「ソフトウェアテスト技法ドリル」の勉強会を開催し、月末に完了しました。 テスト技法をあらためて学び、テスター観点のソフトウェアテストの考え方も一通り学べました。 開発者観点のテストとの考え方と比較し、どちらが正しいではなくどのタイミングで 2 つの考え方を合流させれば良いのか考えるようになりました。 とりあえず、現段階で優先するのは、開発者テストだと考えています。良いユニットテストの考え方を持ち、統合テストでテストするべき部分は統合テストでテストできるようなりたいです。 その際に、テスターの考え方で実装できるようになれればと考えています。
他にも「はじめて学ぶソフトウェアのテスト技法」を読みました。 まったく初めての知見はほとんどありませんが、あらためて学ぶとなるほどと思えることが多く、勉強になりました。 ソフトウェアテスト技法の説明を 1 段落程度で的確に表しており、1 つ理解を深められたと考えています。

勉強したことを踏まえて、API 統合テストの自動化を実装していました。 実務のコードでテスト分析を実践しました。状態遷移図、制御フロー(CFD 図)、デシジョンテーブルは問題を解いたりサンプルとして作成することはありましたが、正解のないものに対して行うことはなかったので、考えながら作成しています。例題を解いていただけできるつもりになっていたと反省しました。 今まで学んできたテスト技法を利用する良い機会になりましたが、テスト対象があまりにも複雑ですべて書き切るために残業が多くなってしまいました。結果、疲弊し燃え尽き症候群になってしまいました。

プロダクトマネジメントに関しては、「All for SaaS」を読みました。内容的に自分の経験ややりたいこととあまりマッチしていませんでしたが、SaaS 分野において新しくローンチするポジショニングについて知れました。

総じてインプットとアウトプットを両方実践できたのでおおむね良かったのではないかと考えています。 しかし、インプットするべきものが正しいのかわからなくなったり、アウトプットする際に時間がかかりすぎてやる気を消失したりと悪かった側面もあります。 とりあえず、来月以降もソフトウェアテストとプロダクトマメジメントは継続しますが、どのような状態が理想的なのかは一度考える時間を取り巻す。

DevOps・CI/CD

65 点にした理由は、DevOps についてはインプット偏重になったからです。CI/CD も新しく組み込んだ程度になります。

DevOps を学ぶために、「DevOps ハンドブック」と「Effective DevOps」を読み切りました。 どちらも良い本ではあったのですが、組織論は抽象的な内容が多い為、実践するには 1 段階内容を分解して自分のチームに当てはめる必要がありました。 その点に関してうまく答えが出ていないので、DevOps に関して伸び悩んだ結果となりました。 2 つの書籍の内容は重複している部分よりもそれぞれの考え方が多かったので、zenn のスクラップにまとめています。

https://zenn.dev/msksgm/scraps/f547098acdafa6

CI/CD については、業務で godoc を生成して GitHub Pages にデプロイするパイプラインを作りました。 チームでドキュメント化は課題だったため、CI/CD で自動化できてよかったです。 ついでに記事も書いたので良い経験になりました。 しかし、それ以上のことはできなかったのが残念でした。

総じてインプットはしつつも自分の中で勘所をつかめていない状態になってしまいました。 特に、「DevOps ハンドブック」と「Effective DevOps」書籍の感想を書けるほど整理がついていない感覚を持っています。 DevOps については 1 ヵ月目なのでいったん切り替えつつ、組織のあり方について zenn の scrap でまとめています。 来月は、「オブザーバビリティ・エンジニアリング」「入門監視」「サイトリライアビリティエンジニアリング」で技術よりなことを学びつつ、組織とどう適合していくのか考えていきます。

5 月の OKR

今月の OKR の結果から、5 月の OKR を下記のように定めます。

注力分野 Objective(1 ヵ月度ごとの目標) Key Result(具体的な行動予定)
ソフトウェアテストプロダクトマネジメント 5月 プロダクトマネジメントについて学んだ状態。ソフトウェアテストの技法を学ぶ。 業務で「単体テストの考え方/使い方」の勉強会を終える。「プロダクトマネジメント」といったプロダクトマネジメント系の書籍を読む。「ソフトウェアテスト技法」または「実践的プログラムテスト入門」に挑戦する
DevOps・CI/CD 5月 モニタリング、オブザーバビリティ、SRE の基本を認識している状態。業務で DevOps について議論された状態 チームで必要な DevOps について議論を始める。「入門監視」「オブザーバビリティ・エンジニアリング」「SRE サイトリライアビリティエンジニアリング」を読む。個人と業務で CI/CD を組み込む

読書

あまり感想文は書けていませんが、今月は OKR のために下記の書籍を読みました。 OKR の目標としては達成しています。

  • ソフトウェアテスト技法ドリル
  • はじめて学ぶソフトウェアのテスト技法
  • ALL for SaaS
  • Effective DevOps
  • The DevOps ハンドブック

その他

技術記事の作成

静的 HTML な godoc の生成方法とデプロイ方法がわかったので、記事にまとめました。 会社の CI/CD の一環で取り組んだので、このような形にできてうれしいです。

zenn.dev

JSTQB Foundation Level に合格した体験を記事にまとめました。

zenn.dev

最近は、DevOps を「The DevOps ハンドブック」と「Effective DevOps」で比較している scrap も作成しています。 記事にするかは未定ですが、自分の考えがまとまるまでは継続しようとしています。

zenn.dev

その他

4 月 7 日にServer-Side Kotlin Meetup vol.8 『初オフライン LT 大会!』にオフライン参加しました。 オフラインの勉強会に参加するのは前回がコロナ禍前だったので、懐かしい気持ちになりました。 懇親会では以前から SNS 等で知っていた方々とお話しする機会が得られて非常に有意義な時間になりました。 自分も LT 発表をしたいです。

4 月の振り返りまとめ

4 月の振り返りとしては、いろいろなことに手を出してインプット過剰で、アウトプットできていないため、消化不良になってしまったという感覚です。 ソフトウェアテストプロダクトマネジメントについては前半で良いスタートが切れましたが途中で追及しすぎて疲れてしまいました。 DevOps については有名な書籍を読みつつもうまく落とし込めていない状態です。 zenn の書籍「ハンズオンで学ぶサーバーサイド Kotlin」も更新できていないのが悩みです。

今回の OKR 目標の 1 ヵ月目なので切り替えて以下を実践します。また、ゴールデンウィークは 1 週間旅行するので、気持ちを切り替えます。

  • ソフトウェアテストプロダクトマネジメントを学んで何ができるようになりたいのか考え直す。そのために何をどこまでやれば良いのか考える
  • DevOps の 2 つの書籍の考え方を比較しつつまとめる。技術的に必要な側面をも自分の中で勘所を決める