『カイゼン・ジャーニー』まとめ --第1部 一人から始める--

 去年から QA として働き始め, 約一年半経ちました。QA として働くにあたり, 基本的な入門書等々はもちろん読んだのですが, それら入門書ではそこまで触れられない「アジャイル」を推進し, 実践している (あるいはしようとしている) 様子が, 社内外の SNS や 勉強会などから見えていました。

 今のようにリモートワークがメインとなる前, 社内で別のチームが利用していた隣のスペースには, カンバンやタスクボードが並び, ファイブフィンガーでその日の調子を測り, モブプログラミングでワイワイと開発をし, そして毎週のように社内ラウンジでスプリントの成果のデモなどをしていました。

 一方で私が所属しているチームでは, スクラムを取り入れていなかったため, 私はスクラムの経験値が全くありませんでした。これは, 私の従事する「インフラ改善」が, あまりスクラムとマッチしない, スパンが短く, 粒度が小さい開発物が主なためです。今だから隣のチームがやっていたことがスクラムの手法とわかるのですが, 経験のない私には「なにかおもしろいことやってるな」くらいに思いつつ, 自分の仕事を進めるのに必死でした。

 それからしばらく経ち, そろそろ当初よりは周りも見えてきたので, よく聞くけど実態を理解できていない「アジャイル」を勉強してみよう, と考えました*1。同じチームのメンバーの机に『カイゼン・ジャーニー』が立っていたことを覚えていたので, その人に本の感想を聞いて, 自分でも情報を集め, 買って読んでみました。

 結論から言うと, 非常に読みやすく, 勉強になる本でした。この業界でよく見聞きする様々な問題に悩まされ, 疲弊した開発者を主人公とした, 小説仕立てのストーリーを軸に, アジャイルの解説が展開 されます。この主人公がアジャイル手法を取り入れて, 失敗もしながらもカイゼンを進めていく, というストーリーを展開しながら, 各話で触れられた手法を第三者視点で解説する, という構成となっています。読み進める中で, 主人公や他の登場人物に共感をを覚えるポイントが多々ある人も多いと思います。

 『カイゼン・ジャーニー』は三部構成となっており, 第一部が「一人で始めるカイゼン」, 第二部が「チームで始めるカイゼン」, そして第三部が「別の部署やクライアントなど, ステークホルダーを巻き込んだカイゼン」となっています。

 折角の良い本だったので, 内容のまとめと学びをアウトプットしておこうと思います。
前置きが長くなりましたが, ここでは第一部「一人から始める」について書きます*2

  • 第一部の学び
    • 自分はカイゼンのための行動を起こしているか
      • 学び
    • カイゼンは状態の見える化から始める
      • 学び
    • ふりかえり
      • 学び
    • タスクマネジメント
      • 学び
    • 朝会
      • 学び
    • タスクボード
      • 学び
    • 二人以上で取り組む効果
      • 学び
    • 越境
      • 学び
  • まとめ

*1:念のため, あくまでアジャイルを実現する手段の一つがスクラムであり, スクラムでなければアジャイルでない, というわけではありません

*2:一定以上抽象化したつもりですが, 内容の言及が紹介の範囲を超えている場合削除しますのでご指摘ください。おもしろさを感じられるように紹介したつもりなので, 気になった方は是非ご購入ください。

続きを読む

2020 年上半期振り返り

早いものでもう 2020年も半分終わりました。
現在の会社に入ってから約1年半も経つと思うと中々に恐怖すらあります。

私は年初に目標を立てていたので, 一旦ここで自分のために, 自分の目標を振り返っておきます。

2020年の目標達成度

  • [未] 業務で信頼されるだけの成果を出す
    -> 裁量と責任は増えたが自信を持って言えるだけの成果はまだないという自己認識
  • [未] DB スペシャリスト取得
    -> COVID-19 で春季は流れた
  • [未] NW スペシャリスト取得
  • [未] ブログを100本まで書く
    -> この記事で 42/100, 今年だけなら 15記事
  • [未] Wordpress 移行
  • [未] アプリ作成
  • [未] OSを自作する
  • [未] 平均週2回ペースで運動
  • [未] 規則正しい生活をする

2020年上期に読み終えた本

  • Linux 教科書 LPIC レベル1

買った本は多いのに読破したのはこれだけ......? (ちゃんと参考にしたり拾い読みしたりはしてるはず)
あまりに情けないけど, この現実に直面したのをよい機会として, 下半期は積読消化期間にします!

参加した勉強会

  • 2020/4/16 Test Automation Meetup #1
  • 2020/4/24 Infra Study Meetup #1「Infrastructure as Code」
  • 2020/5/16 (リモート) 第5回 日本Seleniumユーザーコミュニティ勉強会
  • 2020/5/20 Infra Study Meetup #2「VM時代の開発とCloud Native時代の開発」
  • 2020/5/22 SRE Lounge #12(オンライン開催)
  • 2020/6/16 Infra Study Meetup #3「SREのこれまでとこれから」

計 6つの勉強会に参加 (一部途中参加・退出)
リモート開催メインになったこともあり, 以前よりずっと多くの勉強会に参加できました。

総括

良い点

  • 業務は順調と言えるかもしれない, しかし後半が勝負
  • ブログ記事は目標達成できないペースだけど, 以前よりは執筆ペースが上がっている
  • OS 自作は何もできていないが Linux に少し詳しくはなったので準備は進んでいるか
  • 勉強会に多く参加できた

改善点

  • 圧倒的「未」
  • アプリはアイディアはできたけど実現可能性がないという結論で潰れた
    • もう一つアイディアはあるがフロントちゃんと勉強しないと書ける気がしないのでそこから頑張らなければいけない, 勉強 - 設計 - 開発期間を考えるとそろそろ手を付けないと年内は難しい
  • 運動習慣がほぼない
  • 生活習慣もましにはなったけどまだ改善すべき
    • 1:00 には布団に入り, 8:00 には起きたい
  • 本を通読できてなさすぎる
    • 積読を減らすべき

感想

あと半分で巻き返せるのだろうか。

少なくとも,

  • 平均週2回ペースで運動
  • 規則正しい生活をする

この 2つは今からでもできるし今からすべき, 達成したい。

それと, 積読消化率が非常に悪いので, 下半期は消化していきます。
もっと読んでると思ったんだけどな。。

そもそもの目標の妥当性はともかく, 今年はこの目標をベースにやっていきます。
来年はもっと具体的な目標を立てて, 定点観測もしていきたいです*1

とにかく, 振り返ったことで課題は認識できたので, 巻き返すべくやっていきます!

*1:これは年初の Twitter に書いたものをベースにしてるだけなので, 業務などだともっとちゃんと定量化できる設定とか具体的な設定とかしてます, 本当です

「テストのテスト」問題への解答例 --Google Testing Blog より--

このブログには QA らしいことをほとんど書いていませんが, 私は現在 QA として働いています。
2019 年に現在の会社に入社した時が, QA としてのファーストキャリアなのですが, そのため良く言えばフレッシュな疑問が多々あります。

その中の一つ、「テストのテストはどのようにするべきか」について, Google が Test の知見を書き溜めたくれているブログ, Google Testing Blog が 1つの解答を示してくれており, 目から鱗が落ちたので記録しておきます。

  • 「テストのテストはどのようにすべきか」という疑問について
  • Google Testing Blog の回答
  • 雑感
続きを読む

ユーザーのログインシェル: nologin と false 指定時の違い

LPIC 勉強中に気になったことシリーズ, ユーザーのログインを禁止する際の指定ログインシェルによる違いについて です。

LPIC の参考書には, 「ユーザーのログインシェルを /bin/false/sbin/nologin にしておくと一般ユーザーのログインを禁止できる」といったことが書かれていました。
2通り書かれていたので, それぞれの挙動の違いを確認しました。

  • /bin/bash: bash でログイン
  • /bin/false: ログイン禁止 1
  • /sbin/nologin: ログイン禁止 2
  • まとめ
  • おまけ 1: /etc/nologin
  • おまけ 2: /bin/true などその他のファイルをログインシェルに指定
続きを読む

useradd と adduser の特徴と違い

LPIC 気になったことシリーズ, 今回は 2種類存在するユーザー追加コマンドについてです。
私が読んだ LPIC の本*1では, Linux のユーザー追加コマンドとして useradd が紹介されており, 脚注で 「Debian 系では adduser の利用が推奨」と紹介されていました。

ただ本文中ではそれぞれの違いについては触れられておらず, 私が普段使うディストリビューションが Ubuntu なこともあり, これらコマンドについて少し調べました。

  • useradd と adduser の主な違い
  • useradd について
    • man useradd(8)
    • useradd -D: デフォルト設定値
    • /etc/default/useradd
    • /etc/skel/
    • /etc/login.defs
    • useradd 実行
  • adduser について
    • man adduser(8)
    • /etc/adduser.conf
    • /etc/skel/
    • adduser 実行
      • adduser のインタラクション回避方法
  • まとめ

*1:中島 能和; 濱野 賢一朗. Linux教科書 LPICレベル1 Version5.0対応 (Kindle の位置No.6388-6390). 株式会社 翔泳社. Kindle 版.

続きを読む

/etc/passwd と bash のプロンプトなどの関係について

しばらく期間が空きましたが, LPIC を勉強していて気になったことまとめシリーズです。
LPIC の参考書*1にこんな記述がありました。

しかし /etc/passwd ファイルから一般ユーザーの読み取り権限を削除してしまうと、さまざまな不都合が生じます。たとえば、一般ユーザーではプロンプトが適切に表示されなかったり、ls -l コマンドの表示がおかしくなったりします。

/etc/passwd について, 「一般ユーザーが読み取れる必要があるもの」という認識がなかったので, 気になって実際に権限を剥奪するとどうなるのか確認しました。

  • /etc/passwd と /etc/shadow について
  • /etc/passwd の read 権限を剥奪してみる
  • 原因を探る: /etc/passwd の参照を確認
  • bash で /etc/passwd を参照する部分: シェル変数 PS1
  • まとめ
  • おまけ: /etc/passwd が読めるときの bash の systemcall

*1:中島 能和; 濱野 賢一朗. Linux教科書 LPICレベル1 Version5.0対応 (Kindle の位置No.6388-6390). 株式会社 翔泳社. Kindle 版.

続きを読む

補足記事: 「OpenSSH 公式による scp 非推奨宣言を受け, scp, sftp, rsync を比較してみた」の再検証 (2020/05/27 キャッシュクリア方法を変えて更新)

2020/05/27 更新
2020/05/27, コメント欄のご指摘を受け, ShellScript 内のキャッシュクリアコマンドを変更して再計測し, 結果を更新しました (方法変更前後で結果に大差はありませんでした)。matoken さんありがとうございました!

本日 (もはや昨日). 以下の記事を inductor さんがリツイートされたことをきっかけに, いろいろな方が以下記事を読んでくださいました。

www.kangetsu121.work

この記事の内容はタイトルの通りで, OpenSSH 公式が 2019/4/17 のリリースノート で, 「scp は非推奨」宣言をしています。
ですが, この記事の中で私が行った scp, sftp, rsync の転送速度比較結果について, rsync の速度に疑問を持って検証してくださった方がいて, 転送ファイルを削除していないために rsync が差分転送になっており, このために rsync の速度が速いような結果になっている という趣旨の指摘をいただきました。

詳しくは ttdoda さんの上記 Gist にも結果があるのですが, 私の手元でも改めて検証を行ったため, こちらに結果を記載します。

  • 検証条件
  • 検証スクリプト
  • 転送速度計測
    • SCP
    • SFTP
    • RSYNC
    • RSYNC (転送ファイル削除なし)
      • 利用スクリプト
      • 計測結果
  • 計測結果発表
  • 謝辞
続きを読む

スティッキービットについて

LPIC を勉強していて気になったシリーズまとめ 3 です, スティッキービットについて。
まとめ 1, 2 は以下です

www.kangetsu121.work www.kangetsu121.work

  • スティッキービットとは
    • スティッキービットの利用例
    • スティッキービットの付与の方法
  • まとめ
続きを読む

SUID と SGID の挙動についてまとめ

LPIC を勉強していて気になったことまとめシリーズ, SUID と SGID についてです

ちなみに 第1回awkcut の違いについて

  • SUID (Set User ID) とは
    • SUID の利用例
    • つまり SUID は何に使えるのか, 何が嬉しいのか
    • SUID の付与の方法
  • SGID (Set Group ID) とは
    • SGID の付与の方法
  • ディレクトリへの SUID, SGID の付与
  • おまけ: 混乱した挙動, shellscript への SUID や SGID
  • まとめ
続きを読む

Linux 文字列抽出: awk と cut の挙動の比較

LPIC を勉強していて気になったことまとめシリーズです。

業務で Linux を触っているのでいろいろなコマンドを使う機会は多いのですが, テキストの一部を抽出するときには awk をよく使っていました*1
同じような目的で cut を使えることは知ってはいましたが, 先に awk を覚えたこともあり, 使い分けることはしていませんでした。

しかし LPIC を勉強していて, 改めてこれらコマンドの差異を知りたくて少し調べました。
ごく簡単かつ他のブログの引用が主です。

  • 区切り文字 (delimiter) を ' ' (半角スペース) にした場合の挙動の違い
    • 文字列1: "abc def"
    • 文字列2: "abc def"
    • 文字列3: " abc def"
    • 結果の解釈とその理由
    • おまけ: 区切り文字が半角スペースでない場合 "abc:::def"
  • 速度比較
  • まとめ

*1:awk は高機能で, これと sed だけで本一冊出てるほどなのでもっといろいろできるということは知っていますが, 現時点では私はこの程度のことにしか使えていません

続きを読む