若手の力で0からシステムを開発!OFF-JTプロジェクト
システムソリューショングループ
小松田 悠太
システムソリューショングループ
佐藤 颯大
システムソリューショングループ
呉 竺芫
DATE 2024.10.08
2024年4月、開発部システムソリューショングループの若手社員を中心としたメンバーが
管理部門の業務で使用する「資金繰り管理システム」を開発しました!
今回はこのプロジェクトのリーダーである小松田さん(入社3年目)と、
開発担当の佐藤さん、呉さん(共に入社2年目)に、開発当時の出来事や想いについて聞いてみました。
Table of Contents
プロジェクトとメンバーの役割
Q.これはどのようなプロジェクトですか?
小松田
管理部が業務で使う「資金繰り管理システム」を1から開発するプロジェクトです。
もともとは他社で作られた既製品を使っていたのですが、その製品がサポート終了となったため、代替品が必要でした。そこで、OFF-JT(※)の一環としてSSグループでこれを開発することになった次第です。
(※)OFF-JTとは:「OFF the Job Training(オフザジョブトレーニング)」の略。セミナーや研修など、実務から離れて行う人材教育の手法のこと。
Q.プロジェクトにおける、ご自身の担当を教えてください。
小松田
私はプロジェクトマネージャーを担当しました。
顧客役である管理部とのコミュニケーションを中心に、佐藤さんと呉さんの進捗管理や成果物のレビューも行っています。
開発については、基本的に佐藤さんと呉さんに進めてもらいました。
佐藤
私は開発担当として、要件定義から設計・開発まで広く取り組みました。
呉さんより2週間くらい早くプロジェクトにアサインされていたので、最初の頃は要件定義とかんたんな画面設計を通してシステムのイメージを作っていました。
呉さんが研修を終えてプロジェクトに加わってからは、画面設計を呉さんに引継ぎ私はデータベース設計や機能一覧の作成に着手する形で分担しています。
呉
私は開発担当として、佐藤君と一緒に画面設計と実装を行いました。
管理部がシステムを使い始めて問題が起きた時は、修正作業も行っています。
小松田
このほか、プロジェクトには上司も参加しています。
アドバイザーとして、日々の朝会や打ち合わせに同席してアドバイスをくださったり、営業窓口として顧客役である管理部メンバーとの打ち合わせに入ってくださったり、広くご対応いただいています。
大変だったこと、ぶつかった壁について
Q.初めてのリーダー経験の中で、大変だったことやぶつかった壁はありましたか?
小松田
私は別の仕事と兼任していたのですが、このプロジェクトが始まった頃はそちらが忙しく、あまり時間をかけられなかった点を申し訳なく感じています。
反省点としては、スケジュールを詰めすぎてしまったことです。
最初は3月末日で終わらせるという話だったので、それに合わせてスケジュールを立てたのですが、実装に思ったより時間がかかりました。このプロジェクトは何もない状態からシステムを作っていったので、画面作りの部分にかなり時間がかかってしまったと思います。
Q.開発で、大変だったことやぶつかった壁はありましたか?
佐藤
私は、呉さんと2人でシステムを作るにあたって、作るモノのイメージがバラバラだったことがレビューで判明した時です。
今回の開発は、ウォーターフォール型ではなくアジャイル型を採用しています。このため設計を作らずに進める方針だったのですが、内部処理の想定がそれぞれ異なる状態で進めてしまいました。
レビューの時にその事実に気づき、そこから最初に画面を作るまでが一番大変だったと思います。
2人とも出社勤務だったので、コミュニケーションを密に取れるから大丈夫だと考えていました。しかし、疑問に思ったことは聞けても、自分が「こうだ」と思って進めている部分は聞けないんですよね。もっと細かい単位で確認して進めるべきだったと反省しています。
呉
私は、これまで開発を経験したことがありませんでした。
研修と比べて全然レベルが違うので、「この機能をどう実装したら良いのか?」「問題をどう解決したらよいのか?」を考えることが難しかったです。
最初の頃はどうやって始めるのかがわからなくて、佐藤君に質問したり、対面でレビュー会を行ってもらいました。
Q.対面のレビュー会というのは、どのような感じなんですか?
小松田
会議室に集まって、モニターに書いたコードをうつして書き方を教えるイメージです。
「ここは同じ機能だから、あわせて新しいメソッドが作れるよね」「ここの書き方はもうちょっとこうできるよね」といった技術的な話をします。
佐藤
文章で伝えることが難しいので、
最初の頃はよくホワイトボードに図を書いて説明していました。
呉
みなさんに色々教えてもらって、だんだん理解できるようになりました。これはとても助かりました。
このほかには、打ち合わせで専門的な日本語が出てきて意味がわからないことがあって、これも少し困りました。わからない単語が出てきたらメモをして、調べて、対応しています。
嬉しかったこと、印象的だったことについて
Q.嬉しかったことや、印象的だった出来事はありましたか?
小松田
品質が高いシステムを作る事ができて嬉しかったです。
利用が始まった頃に少し障害が出ましたが、それ以外は問題なく動いています。
管理部からは「旧システムの使いにくい部分が解決できてとても助かっている」と言っていただけました。
佐藤
私が嬉しかったのは、最初に作った機能が一通り動いた時です。
1からシステムを作る経験は今回がはじめてでしたが、この時に「こうやって完成していくんだな」と見通しが立って嬉しかったです。いま完成したシステムが実際に使われていますが、大きなエラー無く動いていて安心しています。
印象的だったことは、1からシステムを作る上で「書き方を自分で決める」責任の重さです。
以前取り組んだ既存システムの改修は、プログラムの書き方が決まっている安心感がありました。しかし、今回は何もないところからのスタートで、かつ呉さんとの共同開発です。ひとりで作るプロジェクトなら自分が頑張れば良いのですが、他人を巻き込むという点にも不安を感じました。
呉
私は問題が解決した時が嬉しかったです。
対面のレビュー会で、みなさんが優しく色々教えてくれたことも嬉しく感じました。
成長の手応えを感じたことについて
Q.プロジェクトを通して、成長の手応えを感じた部分はありますか?
小松田
私は、タスク管理の意識が変わった点です。
優先順位の付け方や重要度のかけ方が、プロジェクトを経験する前よりも正確になったと思います。
このほか、Gitやブランチ使い方など、今後使えそうな技術も学ぶことができました。
佐藤
私は、チーム開発を行う上で必要なことを一通り学べたことです。
チーム開発をする上での共有の方法や、実際の現場におけるプログラムの書き方を学ぶことで「こうしたらもとよくなるんだろう」という振り返るを得ることができました。これは今後の開発でも生きると思います。
呉
私は、先ほどもお話しした通り開発の経験がありませんでした。
このプロジェクトを通して、開発の知識やHTMLに関する知識など、たくさんの新しい知識を学ぶことができました。
開発以外では、日本語も前よりも良くなったと思います。
最初の頃のミーティングでは皆さんが話すことがあまり理解できなかったのですが、今は大体理解することができるようになりました。また、毎日朝会で「自分がやったこと」や「その日の予定」を話すことによって日本語を話す練習にもなったと思います。
Q.リーダーの小松田さんから見て、佐藤さんと呉さんのすごいところは何だと思いますか?
小松田
佐藤さんは、入社前から趣味でプログラミングをやっていると聞いてはいたのですが、想像を上回るスピードでコードを書いてくれました。技術力がすごかったですね。レビューでは「こういう書き方もあるな」と私が参考にさせてもらうこともありました。
呉さんは、開発未経験の人にとってかなり難しいプロジェクトでしたが、その中でも弱音を吐かずに仕事をこなしてくれたことがすごく印象に残っています。数値の計算なども色々あったので、鬼のような難易度だったのではないでしょうか。
問題をほとんど起こさず、2人でシステムを完成させたことは、本当にすごいと思っています。
小松田さん、佐藤さん、呉さん、ありがとうございました!