はじめに
こんにちは、共通基盤開発チーム、通称FACommonチームでテックリードを務めている眞神です。 今回はmeviy開発に携わるチーム紹介というカテゴリーでFACommonチームについて紹介したいと思います。 なお、先日入社していただいた張さんも現在FACommonチームに所属しています。
チーム紹介
meviyのWebシステム開発チームには、切削加工や板金加工などの加工方法固有の機能を担当するチームと、加工方法を横断した汎用的な共通機能を担当するチームがあります。その中で、FACommonチームはCommonと付いているように、共通機能の開発・保守運用を担当しています。なお、FAはFactory Automationの略です。 FACommonは共通機能の新規開発や改善を担当しているため、関係するステークホルダーが多いですが、多様な知見や経験を得られることが魅力だと思っています。
具体的な開発案件
FACommonチームでの具体的な案件に関していくつかピックアップし、紹介したいと思います。
CAD属性連携
CADモデルに設定した製造情報をmeviyで認識し、meviyの見積に自動反映する機能です。 meviyを利用する設計者の方々はCADでモデルを作成する際に、各種形状に対して製造情報を設定することが多いです。CADモデルに設定した製造情報をmeviyで認識し、meviy側で再設定する手間を省けるメリットがあります。 具体的にはiCADの色属性による連携機能などがあります。
CADプラグイン用API開発
RAPiD Designというミスミ製のCADプラグインとmeviyとの連携機能のためにRAPiD Design向けmeviy APIを作成しました。 なおRAPiD Designとmeviyとの連携に関しては、以下のYouTube動画で分かりやすく説明しています。
DXFファイル生成・ダウンロード機能
DXF(CADデータファイル形式の一種)を生成・ダウンロードする機能もFACommonチームで開発を担当しました。 開発初期はPoC的な面が強くローコストな開発でDXF提供機能を開始しましたが、想定以上の顧客要望を受けてアーキテクチャを見直し、DXFの生成速度改善を実現しました。 また本案件はインドの協力会社と一緒に開発した案件になります。
チームとして大切にしていること
以下、テックリードとして私がFACommonチーム運営に対して大切にしていることを3つ紹介します。
コミュニケーション
前述した通り、担当範囲が共通機能であることや他組織とも認識を合わせながら開発を進めることもあるためコミュニケーションをとても大切にしています。 基本はテキストコミュニケーションですが、必要に応じて図を交えながら説明したり、口頭説明するのが効率的と判断したらカジュアルにSlackのハドルを使うなど柔軟に対応しています。
品質
meviyはドメイン領域・システム領域共に複雑な作りになっているので、システム・コードの品質は特に重要な要素になります。 FACommonが共通機能という既存機能に影響を与えやすい領域の開発をしていることもあり、コードにおけるモジュール性・修正性といった保守性やテストコード記載などには特に気を配っています。 また当たり前の話かもしれませんが、上記品質が守られているかをprレビューなどでチームとして担保するのはもちろんのこと、必要に応じて他チームにもレビューを依頼し品質の維持・向上に努めています。
改善
FACommonチームではDevだけでなく、スクラムチーム全体としてより良い開発にするための改善活動を大切にしています。 2スプリント(2週間)に一度の振り返り会で出た課題を次の振り返り会までにアクションを立てて改善する動きや、年間通して出た中長期的課題への改善にトライしています。 またDev内だと過去にチームごとのprレビューテンプレート形式を作成したり、Dev内のトピックに特化したチームナレッジ共有の場を設けるなど、個人・チームとして改善する機会を意識的に作っています。
まとめ
以上、チーム紹介ということでFACommonチームの紹介をさせていただきました。 DTダイナミクスにはFACommonチーム以外も様々なチームがありますが、共通しているのは主体性をもってより良いサービスを作ること、それによるユーザーや社会により良い影響を与えたいと思っているメンバーが所属しています。 この記事始めテックブログを読んで興味を持った方はカジュアル面談もやっているのでお気軽に応募してください!