お客様の声を聞き、自らシステム開発に挑戦!~モノづくり研修レポート~

こんにちは!

第3システム開発部新人の西村、岩出、菊池です。

第3システム開発部では、中堅・中小企業様向けにDX化を支援する事業を行っております。製造現場の可視化、情報伝達、事務作業、などこれまで人の力で行ってきた各作業を、IoT、AI、クラウドといった先進技術を使うことで、効率化を実現してまいりました。

今回は、新入社員3名が体験した新入社員研修、改め「モノづくり研修」についてご紹介します。

モノづくり研修とは?

第3部への配属決定後、5月から7月にかけて「モノづくり研修」が実施されました。
この研修は、新人ながらも「実際のお客様に対して自分たちで開発したシステムを提供する」という挑戦的な内容です。

本ブログでは、実際に経験した私たちから「モノづくり研修」の概要と学びについてお伝えします。

研修概要

お客様訪問と課題の聞き取り

研修のはじめに、私たち自身が実際のお客様を訪問し、現場の課題を直接聞き取る機会がありました。

課題の聞き取り(いわゆるヒアリング)は、自分たちがどういった目的でどのようなシステムを開発、提供するかという指針を決めるうえで非常に重要な判断要素となります。

お客様とのコミュニケーションを通じて、本当に叶えたい要望は何かを推し量ることはとても難しかったです。初めての訪問で緊張して全く話せなかったり、前もって準備していた質問リスト通りに話を進めることができなかったりととても苦労したことを覚えています。(思うようにはいかないですね…)

しかしながら、ありがたいことに現場の皆様から多くの意見・要望を頂くことができましたので、ここでのヒアリング内容を基に、具体的な課題を整理し、チーム内で共有することで、より効果的な解決策の提案を目指しました。

このプロセスは、システムエンジニアにとって欠かせない工程ではありますが、新入社員の立場でいきなり経験できるものではないと考えます。

解決策の提案

ヒアリング内容を整理した後は、その情報を基に解決策を考え、提案する段階に進みます。

ここではまず、お客様の現状と課題をまとめ、それを改善するためにはどういったシステムを開発するべきかを考えます。そして、それらを資料にまとめたうえで、お客様にプレゼンを行います。
プレゼンと同時に、ヒアリング内容に認識違いがないか、提案内容に問題はないかなどのご意見を伺います。

ちなみに私たちがまとめた資料内における現場のフローに認識違いがあり、危うく間違った仕様でシステム開発をするとこでした…(小声)

技術の学習と開発

提案が終わった後は、いよいよ実際にシステム開発をしていく工程です。
モノづくり研修の大半の時間をここに充てることになるので、メインともいえる工程ですね。

なんの経験もない新入社員ですので、まずは技術の学習から始めます。
環境構築はもちろん、プログラミング言語やライブラリといった今回の開発に必要となる基礎知識を学んでいきます。

今回は3人1チームで取り組んでいくので、それぞれで学習する範囲を分担し、効率的に進めていきました。

複数回にわたるリリースと改善

今回の研修はシステムを作るだけでは終わりません。お客様に提供(リリース)するまでが研修に含まれています。また、リリースは一度きりではなく、複数回にわたります。

リリースの実施と同時にお客様からフィードバックを頂き、それを基にシステムの改善点を特定、修正します。このサイクルを何度も繰り返すことで、システムのクオリティが向上し、お客様の満足度の向上を目指します。

改善点の洗い出しといった意味でも大変重要な工程ですが、私たちが開発したシステムに対しての感想をお客様から直接聞ける唯一の工程でもあります。

自分たちが作ったものに対して「いいものができている!」「理想的だ!」といったお褒めの言葉を頂けた際には、新人ながらにとてもやりがいを感じました。

今回のお客様

今回のお客様は山﨑醸造株式会社様です。公式ホームページ

なんと昭和15年創業という歴史ある企業様!
お味噌やお醤油だけにとどまらず、長年培った醸造技術を基盤に、たれやつゆなどの加工品も製造・販売する総合調味料メーカーです。

弊社と同じく新潟県小千谷市に拠点を構える山﨑醸造様ですが、大変ありがたいことに弊社の新入社員研修にご協力くださりました。ご協力いただき、誠にありがとうございました。

研修を通じて学んだこと

お客様とのコミュニケーション

本研修では、上流工程から下流工程まで新人が一貫して担当しました。一からヒアリングした内容をもとに解決策を考え、システムを作成しました。


この過程で得た最初の学びは「お客様とのコミュニケーションの重要性」です。


システム開発と聞くと、長時間パソコンと向き合ってコードを完成させる能力が最も重要だという印象を受けるかもしれません。しかし実際には、お客様の要望を正確に理解してシステムに反映させることの方が重要です。どんなに優れた技術力を持っていても、お客様とのコミュニケーションが不足していると、その成果は的外れになってしまいます。

お客様の要求や期待を正確に理解し、具体的なシステム仕様に反映させるためには、丁寧なヒアリングと相手の意図や背景を読み取る力が必要です。また、信頼関係の構築も重要です。信頼を得るためには、こちらの考えをしっかりと伝え、お客様のフィードバックを積極的に取り入れる姿勢が求められます。

中堅・中小企業のリアルな課題

今回の研修では「販売事務と製造現場のコミュニケーションが上手くいかない」という課題を解決することを主な目的としました。具体的には以下の課題がありました。

  • 紙とアプリの二重管理:販売事務と製造現場間の製造依頼管理はWebアプリケーションを利用していたが、製造現場のスケジュール管理は紙の製造依頼書を利用していた。そのため依頼の二重作成や転記ミスが発生していた。
  • リモートで情報共有を行うことができない:以前、製造依頼管理に利用していたアプリケーションでは、製造依頼の修正をスムーズに行うことができなかった。そのため依頼修正時は情報を口頭で伝達する必要があった。
  • 情報共有の遅延:上記の理由から製造現場が販売事務に作業完了予定日を連絡するのが遅くなり、事務所がお客様に納品日の連絡をするのも遅くなってしまう。
  • 確認作業の発生:製造依頼について、販売事務と製造現場で認識齟齬がないか確認する手間が毎日発生していた。

このような課題に対して、以下の解決策を提案しました:

  1. 製造依頼の一元管理:従来はアプリと紙の二重で行っていた製造依頼の管理を、本研修で開発するアプリのみで一元管理できるようにする。
  2. スケジュール調整作業のデジタル化:製造依頼の登録や修正をアプリケーション上で完結させることで、情報伝達をスムーズに実施できるようにする。

これらの提案を基にアプリケーションの開発を進めました。その結果、製造依頼の一元管理や情報共有の効率化を実現することができました。

開発技術

本研修で開発したシステムは、AWS, React, Figma, GitHubなど様々な技術やサービスを活用しています。開発を通じて各技術の役割や実装方法について身に着けることができました。

初めは全く触れたこともない技術の習得から始まりましたが、上司や先輩方に手厚くサポートしていただきながら開発に取り組むことができました。

チーム開発経験

本研修は、新人3名全員がチームで開発をする初めての経験となりました。開発を通じてエンジニアのチーム開発に欠かせない「GitHub」の使い方や、他人が読みやすいコードの書き方について学ぶことができました。

システムの構築の際は、新人3名はバックエンド、フロントエンド、レイアウトデザインの担当に分かれました。各人が担当する分野について理解を深めた後、それぞれが他のメンバーに担当箇所の内容を教えあいながら開発を進めました。勉強内容を分担し、互いに教えあうことで、短期間での学習と開発を可能としました。

アジャイル開発の実践

本研修では「アジャイル開発」を取り入れました。アジャイル開発とは、短期間でシステムの開発とリリースを繰り返す手法のことです。短い期間でリリースを繰り返すことで、お客様のご要望に対して柔軟に対応することが可能となります。

本研修では、約1週間ごとに開発物をお客様にお見せしてご意見を伺いました。頂いたご意見を基に次の1週間の開発内容を決定し、開発の際は毎日メンバーの進捗を共有しながら進めました。

初めてのクラウド開発体験

今回の研修では、初めてのクラウドサービスとしてAWSを活用したシステム開発に挑戦しました。
当初は不安もありましたが、AWSの使いやすさのおかげで、初心者の私たちでもスムーズに環境を整えることができました。

特に、Amplifyフレームワークを用いたWEBアプリ制作は直感的で、学びながら進めることができました。DynamoDBによるデータ管理や、Reactとサブスクリプション機能を組み合わせることで、画面をリフレッシュせずにリアルタイムでデータ更新ができる仕組みには感動しました。

ソフトウェア開発の楽しさと難しさ

楽しさ

  • 創造性: ゼロからシステムを設計・開発する過程で、自分たちのアイデアを形にする楽しさ。
  • 達成感: 機能が正常に動作し、ユーザーの期待に応えたときの達成感。
  • チームワーク: チームメンバーと協力して問題を解決し、目標を達成する一体感。

難しさ

  • 要件定義の難しさ: お客様のニーズを正確に把握し、要件に落とし込むことの難しさ。
  • 技術的な課題: 新しい技術の習得や問題解決に時間と努力が必要。
  • コミュニケーションの難しさ: チーム内外での円滑なコミュニケーションの重要性。

本研修を通じて、ソフトウェア開発の楽しさと難しさを深く実感し、今後の成長に繋げることができました。

おわりに

本研修を通じて、私たちは多くのことを学び、貴重な経験を積むことができました。
ご協力いただきました山﨑醸造様には厚く御礼申し上げます。

また研修の最後には「本研修で開発したアプリを今後も継続して利用したい」という嬉しいご報告をいただくことができました!
今後もより良いサービスを提供できるように努めてまいります。


最後になりますが、引き続き株式会社トラストをよろしくお願いいたします!