PROJECT STORY
プロジェクトストーリー
Node.jsでスケーラブルなシステム開発
プロジェクト
Node.js開発やリモート体制を通じて、
新たな開発スタイルを切り拓く


パソナのPASONA DX HUB島根では、主にRubyによる開発案件をメインとしているが、今回のプロジェクトは、PASONA DX HUB島根では初めての「Node.js」による開発。
今まで主に紙で行っていたエネルギー受発注に関する契約をシステム化することで、省力化やコスト削減を目指したプロジェクトだ。
また、クライアントと自社の営業・PMは名古屋にいるため、「PoC開発から本開発まで全ての工程をリモートで完結する」というスタイルも初めての取り組みであった。
初めて尽くしの取り組みを通じて得た知見やメリットに関して、2019年に中途入社したばかりの開発メンバーの一人から実体験に基づく話を伺った。
INTERVIEW MEMBERS
-
- PASONA DX HUB島根
- エンジニア
木下 和也 KAZUYA KINOSHITA


紙媒体での契約手続きからの脱却。エネルギー売買のシステム化を目的に少数チームでプロジェクトがスタート
2020年4月から6月までの3か月間行われたこのプロジェクトは、もともとパソナのクライアントとして取引関係があった大手企業から新たに請け負ったもの。
このクライアントは従来、契約手続きに関しては紙で行っていた。
しかし、実際の契約手続きは事務所など設備が整ったところだけでなく、設備が整っていないアナログな環境化でも行われていた。
そのため、多数の売買契約の際にサインによるアナログの手続きが煩雑化したり、それに伴う管理コストも経営的に無視できないほど多額を要していたという。
また紙の運用によって処理する時間も増えると共に、マンパワーも増加していたことからエネルギー売買の取引や管理を全面的にシステム化することになった。
クライアントは名古屋エリアを拠点としていたことから、パソナの営業窓口も名古屋のメンバーとなり、自然とPMもPASONA DX HUB名古屋のメンバーが就任することに。
大規模なシステムを新たに構築するプロジェクトではあるものの、主にPoC開発を主体としたものであったことから、開発部隊は「PASONA DX HUB島根」に在籍するわずか2名のみの少数チームで構成されることになった。
戸惑いながらも工夫して挑んだ「Node.js」ならではの非同期処理と、
完全リモートによる開発スタイル
米子在住で、2019年にパソナに中途入社した木下氏も、今回のプロジェクトメンバーの一人としてPASONA DX HUB島根を拠点に開発を担当した。
これまでWeb系の開発を中心に15年ほどの豊富なキャリアを持つ木下氏が、今回のプロジェクトに参加した際に感じた大きな課題は二つ。
一つは、「Node.js」による開発。
木下氏「これまでPASONA DX HUB島根ではRubyによる開発がメインで、今回のNode.jsによる開発は初めての挑戦でした。もちろん私自身も初めての言語でしたが、『非同期処理』という独自の概念でサーバーサイドの設計を行うことに初めは少し戸惑いました」
これまでとは違う仕組みや概念に対して、これまで木下氏が慣れ親しんできた言語のように同期処理するにはどうするべきか?
その点に関して木下氏は「以前PASONA DX HUB名古屋でNode.js開発の実績があったことから、そのプロジェクトメンバーにアドバイスをもらえた」ことで、課題をクリアしたそうだ。
そしてもう一つの課題が、「リモートによる開発スタイル」。
名古屋にいるPMや営業メンバーと、島根の開発メンバーが一体感を持ってプロジェクトを円滑に進めることが大きな課題であったという。
木下氏「毎朝ミーティングを開いたり、『Redmine』というプロジェクト管理ツールを活用したり、綿密なコミュニケーションを常に意識して取り組みました。その結果、大きな問題もなく進められて無事納期内にPoCから本開発にバトンタッチでき、お客様から信頼を得たことは良い経験でした」


実証実験のフィードバックを受けて、更なるシステム改良や改善を推進。フルスタックエンジニアを目指す
プロジェクトは現在、実際に開発したシステムを用いてクライアント内で実証実験が進められている。
今後、実験で得た結果のフィードバックを受けてから、さらなるシステムの改良や改善を進めていく形になるという。
今回のプロジェクトを通じて得た経験として、木下氏からは「フルリモートでのチーム開発経験」「フルスタック開発経験」「在宅勤務も含めた効率的な働き方の実現」の3つを挙げた。
- 木下氏
-
営業やPMがいるPASONA DX HUB名古屋と開発メンバーがいるPASONA DX HUB島根間で、プロジェクトを最初から最後までフルリモートによるチーム開発を経験したことで、離れていても円滑にプロジェクトが推進できたのは大きな収穫でした。
また今回、Node.jsによる開発がメインでしたが、テスト時にはアプリ等の連携を意識する必要があるため、iOSアプリの開発やAWSによるインフラ構築も考慮して開発を進めました。その結果、フルスタックでの開発を経験できたことは、今後のキャリアに活かせると思っています。
そして今回、プロジェクト時期が新型コロナウイルスの影響が深刻化していた時期と重なったため、プロジェクト開始からほどなくして在宅勤務に切り替わりました。もともと私がパソナに転職した大きな理由は、小さな子供がいる関係で柔軟な働き方ができる環境を求めており、働き方の一つとして在宅でのリモートワークも選べるので、以前より育児や家の時間が充実できたのは嬉しかったですね。
PASONA DX HUB島根では今後も新しい技術を取り入れながら開発領域を広げていこうとしているので、エンジニアにとっても幅広いジャンルを経験しながらスキルアップできるチャンスがあるといえるだろう。