2024年1月ふりかえり
2024年1月のふりかえりです。 引き続き B 社(週1日)、G 社(週4日)に関わらせていただいております。 G 社が立て込んでおり G 社の稼働が主に変わりました。
B 社
1 月はマネジメント 1 割、プレイヤー 9 割といった割合で対応していました。 Rails 製の EC サイトの開発業務と Engineering Manager / Scrum Master 業務を行っております。
- TechLead 業務
- ひきつづき各エンジニアの成果物のレビューや、設計方針の相談・レビューなどに時間を使っています。
- EC Store Front 面改善
- カート画面の改善を引き続き進めています。
- 一番複雑度の高い、商品のオプションを設定する部分の UI 実装の途中まで実装しているところで1月を終えました。2 月中には React の UI Component 実装を終えて、3月あたりから状態と通信部分に着手できればくらいの日程感でいければベストかなというかんじです。
- カート画面の改善を引き続き進めています。
- Developer Productivity Engineering 関連
- EC 用 API 実装で Lambda を使用していますが、その Lambda に設定している CloudWatch Alarm がアラートを上げすぎる問題があり、設定を見直しました。
- 以前よりも API が増加し、それに伴い使われるケースが増えたことで、管理画面から投入した商品のデータが間違っていたりすると閾値を超える 500 が発生するといったケースでよく発生するようになっており、これを是正する必要が出てきたかんじです。
- Faraday 2.9 以上で Ruby 3 以上を要求するように変更が入ったことに伴い、GHA で回している CI の Ruby version matrix に含まれていた 2.7 を削除し
3.2, 3.3
の 2 バージョンで CI を回すように修正することで対処しました。 - 以前から EC Store Front の一部で使っていた静的画像の配信元 S3 バケットへのアップロード用 GHA 3rd Party Action が突然動かなくなったことにともない、自前で実装し直す対処を施しました。
- EC 用 API 実装で Lambda を使用していますが、その Lambda に設定している CloudWatch Alarm がアラートを上げすぎる問題があり、設定を見直しました。
G 社
1 月は新チームの組成等含めて色々動きがだせました。以下にまとめていきます。
- BOM 関連
- 製品の派生モデル(カラーバリエーション x 仕向け先)の全モデルを Duro に登録する作業を行いました。
- 既存製品の BOM に対して設計変更予定の内容を取り込むための準備を色々と行っていました。
- すでに取り込み済みの設計変更の整理・未取り込みの設計変更の整理などにはじまり、作業手順の明確化、実際に Duro の BOM に設計変更を適用してみる、など…
- また、設計変更を取り込んだ後に、そのデータをエクスポートしつつ、EMS 側の BOM 管理システム(こちらは製造BOMを管理しています)に取り込むようなフローにしているのですが、その際に何を変更したのかを明確にする必要があり、その連絡用シートを作ってみて具合を確かめるなども実施しました。
- 実際に作ってみるとあまりよくない点が見つかったりするので PoC 的な時間を設けて実験するのは非常に大事ですねというところを改めて感じております。
- 変更管理関連
- 製造業の現場では製品の設計変更を管理する事自体が結構難易度が高いのですが、今携わっている製品は非常にその設計変更量が多く歴史的にも難儀しているという状況を続けてきています。
- この状況のうち、ひとつの設計変更につき、ひとつの変更点管理シート(Excel)を作るのですが、このシートの運用が比較的まちまちという問題があり、これを是正するためにフォーマットを改める方向で動いていました。
- フォーマット自体のあいまいな部分を明示的にするだったり、他システムですこしでも活用しやすくするだったりといった観点で色々と修正をおこないました。
- なお、同時期に別観点でのフォーマット変更も同時進行で進んでいたため、それぞれの観点を持ち寄りつつ一つのファイルに落とし込むような作業も走っていました(ここは別の方が作業してくれました)
- 1月末時点では関連メンバー全体でレビュー中という状況です。
- フォーマット自体のあいまいな部分を明示的にするだったり、他システムですこしでも活用しやすくするだったりといった観点で色々と修正をおこないました。
- 内製 PLM システム関連
- 1月はモックアップ実装を進めていました。
- インフラは会社で主として使用している GCP を軸に IaC を Pulumi で進める方向で検討・モックアップを進めました。
- しばらく進めていたのですが、結論としては AWS で構築する方向で方針転換することにしました。
- 主たる理由としては、GCP を使っているのは製品側の人たちで、業務側の人たちは AWS を使っているということがわかったというのが一番大きく、別の話として、業務側システムに関連する人たちが近い将来一つの組織になる可能性を感じているというところがありました。
- 他の理由としては、AWS と比較した際の個々のサービスの機能不足感/かゆいところに手が届いていない感だったり、確たるベストプラクティスが不足していることなどから IaC 実装にあたっての学習コストに無駄が大きいというところがありました。
- これまであまりGCPを使ってこなかったので良い学習の機会だなと思って取り組んでいましたが、むしろ GCP の未来は厳しいなというのを感じてしまった形になりました…
- なお、Pulumi の使用感はかなりよかったと感じております。ESC のコンセプトと実際の挙動も大変よいという感触です。ただ、まだまだ成長途中のプロダクトという感は否めないのでそこは割り引いて評価する必要があるかなという状況だと判断しています。
- しばらく進めていたのですが、結論としては AWS で構築する方向で方針転換することにしました。
- OpenAPI で REST API をいくつか定義しつつ、その HTML を配信するなども実装済みです。
- フロントエンド実装は Storybook + Vite + React + TailwindCSS + react-router + TypeScript ベースで一通りモックアップ実装を終えています。
- バックエンド実装は部品の全履歴を DB に格納、そのデータに対する全文検索インデックスの構築、それらに対する API サーバーモックアップ実装、といったあたりまで実装済みです。
- 上記した作り物に対して、最小限の CI を GHA に設置したり、GHA での cdk deploy 等による CD を設置したりなど、DevOps 基盤を整えるあたりまで実装をおこなっています。
- ほぼモックアップ期間でやることは終わってきたので、2月は本格的に dev 環境で全体が疎通するところまで仕上げられたらベストかな〜という感じで進めていければと考えております。
- 新チーム組成
- これまでアフターサービス側のチームに所属しつつアフターサービスとは違う作業をしていたのですが、改めてチームを切り出して単独で動けるような仕立てになるよう、夢と希望をこめた資料を作りつつボードメンバーにはたらきかけて新チームを発足しました。
- 予算と実績、計画と見積もり、会議体などは従来を踏襲しつつも社内の会計の単位としても独立したので動きやすくなってきたかなというところです。
- ちゃんとレポーティングするという作業は増えましたが、マイルストーンとしてもちょうどいいのでこちらも動きやすくなる方向に機能してくれると思っております。(そのように活用する予定です)
おわり