On Blahfe

整理したい私はITILをかぶる、PlantUMLへの愛

blog/organizationteam-building

現在、ネクイノでエンジニアリングマネージャー、バックエンドエンジニア、インフラエンジニアを担当している私は、年の瀬を迎えて振り返り記事を書くことに決めました。この記事では、PlantUMLに絞り、振り返ることで気づいた問題点とその解決策を詳細に描写します。PlantUMLは私にとって全知全能のツールではありませんが、愛しているツールであり、これまでの8ヶ月間の成長を共有したいと思います。

thumbnail

PROBLEM

振り返ることで私が気づいた主な問題点は、開発チーム全体がまだ機能していないことでした。管理規程はあるものの、業務フローが明示化されておらず、誰が何を何の目的で業務を回しているか分からない状態でした。この可視化されていないプロセスが問題になるケースが増えてきました。

SOLUTION

この問題に対して、私は入社早々PlantUML1を活用して業務フローの可視化を始めました。PlantUMLはオープンソースのUMLダイアグラム作成用のテキストベースの言語であり、シークエンス図、ユースケース図、アクティビティ図、クラス図などのダイアグラムをシンプルで直感的に書くことができます。

私がネクイノに入社してから使用し始めたのは、Emacsのorg-babelで実装された2014年頃であり、esa.ioやVS Codeなどで実装されてから爆発的に普及したと記憶しています。私がesa.ioでPlantUMLの実装を要望したのも良い思い出です。

やったこと

さて、私はネクイノに入社してすぐに既存システムの運用開発と情シス(業務運用)の部長職にアサインされました。外部パートナーが入るということで、開発フローが大きく変わる節目にありました。

開発フローを整備する

開発フローを整備するために、新しく入る外部パートナーがプロジェクトマネージャ、ブリッジエンジニア・コミュニケーター、モバイルエンジニア、バックエンドエンジニア、フロントエンジニア、品質チェックを含めて20名程の体制であることを把握しました。また、既存システムの運用開発ではプロダクトマネジャー、プロダクトオーナーが各開発者とともに企画策定を行うことが慣習として存在していました。そこで、私は企画から実装、レビュー、リリースまでの流れを整理しました。

UML

開発の流れ

その結果、開発フローはJira上で大まかな流れとして、エピック(仕様策定)、エピック(見積)、エピック(実装)、エピック(レビュー)、エピック(リリース)という5つのステップに分かれました。このフローをPlantUMLを使って可視化しました。

UML

要望フローを整備する

また、要望フローについても同様に整備しました。機能要望、バグ報告、改善要望がSlackチャンネルに散在しており、チケット化されないケースがあったため、GoogleフォームとJira連携を行い、要望の集約とトリアージを行いました2。プロダクトマネジャーの体制が整備された後も、バグ報告や改善要望は要所要所で利用され、トリアージが定期的に活用されるようになりました。

UML

デプロイフローを整備する

開発が進んでいくと、今度は開発環境が足りなくなりました。当時はステージング環境と本番環境しかなく、かつ、ステージング環境がテスト環境兼デモ環境の役割を呈しており、ステージング環境おテストで不具合を起こすとデモに影響が出るという状態が続いておりました。また、外部パートナーが開発するに当たり繊細なステージング環境を使うのが難しいため進捗に影響が出始めておりました。

急を要する事態のためAWS CDKでステージング環境とは別に結合環境を用意し3、デプロイフローを整備しました。

UML

障害対応フローを整備する

さて、運用開発が順調に進んでいくと、今度は障害が頻繁に起きていることに気づきました。いいえ、薄々気づいていたのですが多忙にかまけて蓋をしておりました。ここに関しては本腰を入れてAWSサポートプランをビジネスに変更し原因を突き止めました。協力いただいた各位には感謝です。

また、今まで見過ごされていたGoogle Workspace等の業務運用のシステムも含め障害報告の体制を敷くとともに、監視体制も強化しました。

UML

業務フローを整理する

まだまだあります。業務内容に関しては詳細は書けませんが、部内の業務から他部署の業務まで安全に生産性を高めるため整理を行いました。まだまだ行います。

リモート飲みのフローを整備する

いよいよ疲れてきたのでお酒が飲みたくなりました。飲み会フローを作ってみましたが思いの外手間がかかることが分かりあまり活用できておりません。その代わり社内でオンラインシャッフルランチという制度ができました。

UML

分かったこと

はい、こうして振り返ると入社時に感じていた雑然さは業務フローが明確でない状態のことでした。開発者なら分かると思いますが、企画段階で思い描く構成図は実装する段になるとあまり意味をなさず、結局は頭の中はシークエンス図でいっぱいになります。それと同じで、登場人物、登場人物間のメッセージ、メッセージの大枠が関係者に共有されていないと、いくらリソースが投下されても不安定で生産性に伸び悩むのです。つまり、雑然とした環境を整理すると言うことはシークエンス図を書くことに他なりません。

しかしながら、当該環境一つ一つを俯瞰的に見るとITILプラクティスそのものであることにも気づきます。

ITILとはITサービスマネジメントのベストプラクティスフレームワークのこと。何らかの高い技術を持っていても、投資対効果を考えていなければ赤字になりビジネスと成り立ちませんし、顧客のことを考えずに作ったものに価値はありませんし、サービスの評価を落とすことになります。このようなことを防ぐには顧客目線やビジネス的な観点が必要で、そのノウハウがまとまったものがITILです。

今回対応したプラクティス

今回の振り返りでは具体的に次のプラクティスをなぞっておりました。

振り返り ITILプラクティス
開発フローを整備する 継続的サービス改善
要望フローを整備する 要求管理、問題管理
デプロイフローを整備する リリース管理及び展開管理
障害対応フローを整備する インシデント管理
業務フローを整理する CMMI
リモート飲みのフローを整備する 組織変更管理

CMMIと組織変更管理が分かりづらいの少し補足します。

  • CMMIとは能力成熟度モデル統合のことで、業務フローを評価し5段階で成熟度レベルを出す手法です。現状はレベル1-2(初期段階)のものがほとんどなのでまずはPlantUMLを使い共通認識を作るところから始めました。
  • 組織変更管理とは経営学で言うところのチェンジマネジメントに当たります。ここでは各種フローを整備しメンバー全員に落とし込むことを目指します。『Fearless Change』では今回のリモート飲み以外にも多くのパターンランゲージが紹介されています。

WRAPUP

次にすること

ネクストアクションですが、採用フローを考えています。

(読者の皆様はどんなシークエンス図を思い浮かべましたか?)

というわけで、ネクイノはPlantUMLを愛している開発者を募集中です。

PR: ネクイノとは

「世界中の医療空間と体験を再定義する」をミッションに、人々と医療の間にICTのチカラで橋をかける遠隔医療ソリューションを手掛けている会社です。医療というと高齢の患者さんをイメージされるかもしれませんが、我らがターゲットとしているのは現役世代の方。病気を治療するというより、現役世代がQOLを高めるためのサポートを目的としています。

メインサービスは、女性に特化したピルのオンライン診療アプリ「スマルナ」。ピルを飲まれている人だけでなく、受診や服用に抵抗がある方にも気軽に利用していただけたらと思いサービス提供しています。診察室の手前に助産師と薬剤師を配置した相談室を設ける等、受診のハードルを下げる工夫をそこかしこに施しているのが特徴です。

様々なメディカルコミュニケーションを行っています
- 専門家相談
- カスタマーサポート
- ユーザーコミュニティ

妻からは「10年前にサービスがあったら良かったのに」とお墨付きをいただいており、興味をもった方は詳しくはこちらをご覧下さい。 https://smaluna.com/

  1. [B! plantuml] nabinnoのブックマーク

  2. https://github.com/nabinno/google-forms-to-jira-slack

  3. CDKはaws-rails-provisionerを参考に ecs_patterns.ApplicationLoadBalancedFargateService を実装しました

nabinno
Emacsianでアート好き、ランニング好きな@nabinnoが書いています
GitHub / X / LinkedIn / ネクイノ
blog/market

今後の成長分野:新たなテクノロジーの展望

テクノロジーの進化は、絶え間ない変化の中で私たちの日常を塗り替えてきました。時には経済的な危機が、新たな可能性を切り拓く契機となることもあります。そこで、過去のリセッション期に生まれたテクノロジーの足

market-trendrecession
blog/organization

ATKerneyの課題解決パターンの魅力的な探求

ATKerneyの課題解決パターン は、課題の本質を見極め、効果的な戦略的構造化を通じて解決策を導き出す手法にフォーカスしています。この冒険の旅は、解決者と協力者たちが心を一つにし、課題に立ち向かう様

problem-solvingatkerney
blog/market

就職氷河期とは何だったのか

私はいわゆる就職氷河期世代です。周囲から時折漏れ聞こえる不平のような言葉がありますが、それを単なる不平として片付けるのはもったいない気がします。できれば、その中に新しい視点を見つけ、次のチャンスへ繋げ

labor-economicsrecessionemployment-ice-age