Posts for: #Iterative and Incremental Development

あとになって13日の金曜日だったことに気付く

0時に寝て6時半に起きた。2時か3時頃に急に咳込んで飛び起きてコロナ感染したんじゃないかと危惧したけど、5分ほどしたら治ってその後もなんともなくなった。よくあるたまに吐き気がして起きるときの咳き込むバージョンだったのかな。たぶん胃食道逆流症のせいだと思うけど、慢性化しつつあるので余裕のあるときに病院でみてもらった方がよいかもしれない。

rabbitmq の exchange/queue の初期化

docker compose で環境構築をするときに rabbitmq の exchange/queue の設定を初期化したい。調べてみると Schema Definition Export and Import という仕組みを使うのがよさそうにみえた。推奨方法としては rabbitmq クラスターが起動した後、管理ツールで definitions.json をインポートするのがよいとある。別のやり方として設定ファイルに definitions.json へのパスを記述しておくと、rabbitmq プロセスの起動時にインポートしてくれるという。このやり方だとプロセスの再起動時にも毎回インポート処理が実行されるので初期設定の定義が大きくなるほど起動処理のオーバーヘッドが大きくなるというデメリットがある。またクラスター環境だと、それぞれのノードでの起動時に同じインポート処理が実行されることになるのでそのオーバーヘッドの分だけ効率が悪い。いま作っている環境はオンプレ向けの1つの rabbitmq サーバーのみだし、初期設定の定義もシンプルなので起動時のオーバーヘッドはとくに気にしなくてよいだろうと考えている。

definitions.json は、あらかじめ rabbitmq の exchange/queue の設定を手動設定した後、管理 API を呼び出して取得したものをベースに不要な設定を取り除くと生成できる。

$ curl -s -u "guest:guest" -X GET http://localhost:15672/api/definitions | jq .

ビッグテックのマネジメント勉強会

出張前の事前に資料作り しておいた勉強会を開催した。出席者の大半はリモートから参加しており、オフィスの会議室では私と他に1人だけだった。毎月1回、私がオフィスに出社するタイミングで質疑応答しやすいように課題管理勉強会を設けているのだけど、最早私がその場にいる必要性もなくなってきた雰囲気はある。リモートワークが定着している会社であり、私自身フルリモートで働けるよう、自分の働き方をリモートワーク向けに調整しているから当然の帰結とも言える。

勉強会の内容は基本的にブログ記事の内容を紹介するものだったので文字数が多くて口頭で説明するのが大変だった。勉強会の中でもっとも盛り上がった議論は自律性というキーワードを得るのに必要なものはなにか?といったもの。ある人はその人の性格や才能といった先天的なものではないかという。私はそう思いたくなくて、プログラミングは後天的なスキルなので開発者が自律性をもつかどうかも後天的なスキルだとみなしたい。そこに環境や組織やライフステージの変化なども関連して自律性をもつ開発者とそうじゃない開発者に分かれていく。もっと言うと自律性は優秀さとも異なる。頭がよくて理解力の高い人が自律性をもたないことも多くある。これは永遠のテーマだと思う。

もう1つ盛り上がった議論として優秀でも成果を出せない人がいるという話し。私も前職で何人もみてきた。頭もよく話すと正しいことを言っていてやることも理解しているように聞こえるのにほとんど動くモノを出せない人たちもいる。プライドが高くて途中段階の成果物を他人にみせられない結果として成果をあげられないのではないかという意見もあった。そういうのはどちらかという年配の人に多い傾向がある気がするけれど、若い人たちでもそういう病にかかってしまうこともあるのだろうか。

仕事始め

0時に寝て8時に起きた。夜に吐き気がしてやや苦しんだ。実家だと吐き気はなかったので寝方の問題なんやろか。今日からオフィスに出てお仕事を再開する。

名刺の発注

オフィスの住所を変更したので名刺を作り直さないといけない。オフィスの引っ越し作業の最後のタスクになる。名刺を配る機会そのものがないので優先度はかなり低いのだけど、一連の引っ越しタスクの親タスクを完了できないのも気持ち悪いので年末にやろうと考えていた。それが葬儀でなおざりになっていた。名刺データは Adobe Illustrator で管理されていて、その ai ファイルから編集した svg ファイルがある。この svg ファイルを inkscape というアプリケーションで読み込んでオフィスの住所が書かれたテキスト編集を行う。元データは有償フォントだったけれど、自分で編集できるよう、フォントも身近な M+ FONTS に置き換えている。

M+ FONTS のインストール方法。

$ unxz mplus-TESTFLIGHT-063a.tar.xz
$ tar xvf mplus-TESTFLIGHT-063a.tar
$ sudo mkdir /usr/share/fonts/truetype/mplus
$ sudo mv mplus-TESTFLIGHT-063a/*.ttf /usr/share/fonts/truetype/mplus/
$ fc-cache --verbose

ubuntu だったら inkscape は apt からインストールできる。

$ sudo apt install inkscape

inkspace で元の svg ファイルを読み込み、Ctrl + Shift + T でテキスト部分を編集して保存する。最後に次のバッチコマンドで svg を pdf に変換する。

$ inkscape --file=my-biz-card.svg --export-area-drawing --without-gui --export-pdf=my-biz-card.pdf

この pdf データを使って パプリ というサービスで名刺を発注した。

ビッグテックの技術系プロジェクトのマネジメント方法と興味深いスクラムの不採用

9月からずっと積ん読していて、本当は12月の課題管理勉強会で取り上げようと読み始めたものの、記事の文量が多いのでちゃんと精読してこれだけで1つの勉強会できそうと途中で読むのをやめて、1月の課題管理勉強会へと先送りしていた。

ローカルで deepl で機械翻訳しながらおかしな翻訳のところだけ精読して直したりしている。それでも数時間程度はかかった。すべて翻訳してからざっと読み返してみると、それほど特徴的なことを言っているわけでもなくて、もともと自分が知っていた内容にいくつか補足や背景があるといったものだった。記事の切り口が「ビッグテックはスクラムやってない」というキャッチャーなタイトルから掘り下げていて、もちろんビッグテックと他の企業との違い、そういう傾向がある背景も解説しているし、著者の経験や主観も展開されていておもしろい考察ではある。私もずっとスクラムよりもイテレーション開発の方がコミュニケーションコストが低い分、自由度が高くて開発者がオーナーシップや主導権を取りやすかったり、その結果として生産性を向上させられるといったことを考えていた。その自説を論理武装する内容もいくつか書いてあった。私にとって今後のコンテンツを書くときに役に立つ記事であることは間違いがない。これから勉強会の資料も作る。

全体を通しての要項をツィートにまとめてみた。

クリーンアーキテクチャを勉強し直したい

0時に寝て5時前に起きたらサッカーやってて最後の10分ほどみた。まさかスペインに勝つと思ってなかったから驚いた。

アーキテクチャと設計

退職したメンバー がドメイン駆動開発 (DDD) とクリーンアーキテクチャから既存のアーキテクチャを構成したというドキュメントを残してくれた。そのドキュメントを読みながら、説明の粗いところや足りないところを私が補って加筆し、既存のコードを読みながら誤っているところなどをリファクタリングしたりしていた。あとアーキテクチャや設計のドキュメントを書く上で図がないのはよくない。現代の開発は分割統治の概念で設計されていて、そこで扱う本質的複雑さは依存関係になる。誤解を恐れずに言えば、現代の開発のアーキテクチャは依存関係をどう管理するかの基本的な考え方に過ぎない。依存関係の向きが分かるので図があった方が圧倒的にわかりやすい。一方で私自身もクリーンアーキテクチャにそう明るくない。もう少し勉強し直す必要があることは感じた。クリーンアーキテクチャ勉強会もやっていいようにも思う。

課題管理 + イテレーション開発とスクラム開発の勉強会

今週ずっと朝起きたら2-3時間かけて資料を作り続けてきた。前回は時間が余ったので今回は余らないよう、最終的には43枚のスライドになった。

  • スクラム事前知識
  • スクラムガイド
  • 課題管理+イテレーション開発とスクラム開発との比較
  • スクラムマスター
  • 会議体とツール
  • 分析・計測
  • スクラムの是非
  • まとめ

話してみたら1時間を10分ほどオーバーした。勉強会で1時間話すネタを調整をするのは難しい。毎月出張でオフィスへ行くときは課題管理に関する勉強会を行う。課題管理や開発方法論の話しを聞いてくれる人たちがいるというだけでありがたい。5日前から準備を始めて資料作りの時間が少なかったので細部の調査はあまりできていないし、構成も荒くて練れていない。もう2-3ヶ月かけて細部の調査や理論武装をしたらよいコンテンツになるかもしれない。イテレーション開発とスクラム開発を比較するときの叩き台として寝かしておく。

オフィスの引越しの荷造り

神戸に戻ってきて一旦家に帰って晩ご飯を食べて一息ついて、23時過ぎから引越しのための荷造りを始めた。大きい家電や電子機器は購入時の箱を置いておくと引越しのときの荷造りが楽になる。言うても一部屋の荷物なんで本気出せばすぐ終わる程度の量。3時間ほど荷造りやって8割ぐらいできたところで今日の作業は終えた。出張と移動で疲労は積み重なってきた。