1
/
5

【開発秘話】学習パス機能開発の舞台裏!課題と共に成長するチーム

KIYOラーニング株式会社のページをご覧いただいている皆様こんにちは。
技術広報メンバーの大原です。

開発秘話シリーズの第三弾となる今回はAirCourse(エアコース)の「学習パス」という機能をテーマにしました。

▼AirCourseについて

AirCourse(エアコース)は、受け放題の動画研修がついたeラーニングシステム(LMS)です。
自社オリジナルコースも簡単に作成・共有が可能で、管理機能も充実。
受講者/管理者の使いやすさをとことん追求したシステムで誰でも直感的に操作できます。
教育担当者の手間・負担・コストを抑えて、人材育成にまつわる様々なお悩みを解消します。
AirCourse - 社員教育をカンタンに。クラウド型eラーニング
クラウド型eラーニング「AirCourse」なら、初期費用0円、1ユーザー/月額200円~の定額制で800コース4,500本以上の研修動画が受け放題。自社オリジナルのeラーニングコースも誰でも簡単に作成・配信。集合研修・オンライン研修管理やレポート機能などLMSとしての機能も充実。
https://aircourse.com/


今回は学習パスの開発に関わったエンジニアの方々に、学習パスについてや開発での苦労や課題・工夫したことなどを聞いてきましたので紹介したいと思います。

-学習パスとは?

学習パスは複数のeラーニングコースを組み合わせて1つにまとめることができる機能です。受講してもらいたいコースを1コースずつ割り当てる必要がなく、学習パス単位で受講者に割り当てることができるようになります。学習パスを活用することで、管理者は割り当て業務を効率化できますし、受講者はコースを探す手間が省けるため双方にメリットがあります。

また、目的・テーマ別に複数の学習パスを用意すれば、体系的な教育プログラムを構築することが可能になりますので、教育効果の向上も期待できます。

▼学習パスについて

学習パス機能 - AirCourse
複数のeラーニングコースを組み合わせて1つにまとめたものが学習パスです。 目的別やテーマ別に複数のeラーニングコースを組み合わせたものが「学習パス」です。 受講してもらいたいコースを1コースずつ割り当てる必要がなく、学習パス単位で受講者に割り当てることができるようになります。 学習パスを活用することで管理者・受講者の双方にメリットがあります。 1. 管理者は、割り当て業務を効率化できる ...
https://aircourse.com/function/function37.html

-開発での苦労や課題

学習パス機能を実装するにあたっての最大の課題は、その影響範囲の大きさでした。
実装するためには、メイン機能である「コース」に関連する部分を変更する必要があり、多くのプログラムが影響を受ける可能性がありました。

個々の仕様の理解が必要で、場合によっては有識者に確認を依頼する必要があり、影響の有無を洗い出すために結構時間がかかってしまいました。

また機能自体もアカウントが組織やグループなどの階層構造になっており、それらと権限との関係性が複雑だったため、開発は簡単には進まず、仕様検討が始まってから、初期フェーズのリリースまで最終的に約1年かかりました。

当時は開発メンバーが増えた時期ということもあって、AirCourseの開発経験が浅いメンバーも多く、サービス全体を理解しながら少しずつ開発を進めました。

このプロジェクトの開発規模はそれまでと比べて最大級だったこともあり、組織としても、メンバーとしてもチームでの開発に慣れていなかったことも課題でした。

チームワーク

特に初期の段階では、情報が各メンバーに適切に伝わらなかったり、成果物に対してレビューが遅れたりしました。そのため、レビュー待ちのタスクが溜まってコンフリクトが多発するなど、開発業務に悪影響が出始めました。

今でこそAirCourseチームはチームワークが良いイメージがありますが、当時は1人で1つのプロジェクトの開発を担当することがほとんどでした。
チーム開発がこのときほぼ初めての状態で、コミュニケーションにコストがかかっていました。

幸いだったのはチームが大変な状況になっても、雰囲気が悪くならなかったことです。
「何かあっても気軽に相談できる」雰囲気があって、コミュニケーションにストレスを感じることはありませんでした。

レビューに関しては特定の人がレビューアになっていましたので、開発メンバー間で、誰がどこを開発しているのかが伝わりにくく、不具合やフィードバックの内容も他のメンバーまで共有できていませんでした。

そういった状況を改善するため、少しの時間でも毎日開発メンバーが集まって情報を共有するようにしたり、不具合の状況などをスプレッドシートで全員に共有するようにしたりするといった改善策を実施していきました。


リリースに向けた取り組み

リリース予定日まであと2ヶ月ほどになった頃からプロジェクトは佳境を迎えました。
残業することもありましたが、チーム全員でコミュニケーションを意識して乗り切りました。

特にレビューが追い付かない状況を変えるため、毎日1時間あえて全員で集まって対面でコードレビューをすることにしました。

正直時間が足りない状況でやることを増やすことにリスクがありましたが、結果的には大きなプラスの影響がありました。
誰がどこを開発しているかもわからないことが解消され、各メンバーが持っている知識が全員に共有できる場にもなり、必要な情報を迅速に伝えることができるようになりました。

また複数人からレビューしてもらえるようになったことで、多様な視点でアドバイスをもらうことができ、開発がしやすくなりました。

初めは、自分のコードをチームの前でレビューすることに不安を感じる人もいましたが、チームメンバーの人柄やコミュニケーションの雰囲気が良かったことで、不安は解消されていきました。


-学習パス機能で工夫した点

AirCourseの開発経験が浅いチームメンバーが多く、新しいことはなるべくせずに、出来るだけ既存のプログラムを流用して効率的に開発することを意識し、スケジュール内に完成させることに注力しました。

さらに、ユーザビリティを考慮した機能の実装にも力を入れました。

例えば、一斉割り当て機能や一部の画面表示の高速化にこだわり、重たい処理を非同期でバッチ実行するような仕組みを取り入れました。

処理が終わると通知が届くので、ユーザは待ち時間に他の操作ができるため、ストレスを軽減することができます。

また、Supervisorを利用して常時実行するバッチ処理のプロセス管理を楽にするといった工夫も行いました。これらのこだわりをもって、学習パス機能を完成させることができました。

-最後に

今後も、ユーザビリティの向上と効率的なシステム開発を目指し、更なる改善に取り組んでいきます。AirCourseがより使いやすく、より多くのユーザにとって価値のあるプラットフォームになるよう努めてまいります。

AirCourse開発メンバーはチームワークが良いイメージだったので驚きのお話が聞けました。
色々試行錯誤をした結果から生まれたチームワークなんですね。

この開発プロジェクトでプロジェクトリーダーを担当したのは当時入社1年目だったエンジニアのyoshizawaさんです。

また、当時は派遣で参画されていた木村さんもこのプロジェクトメンバーの一員として、豊富なAirCourseの開発経験を活かして活躍されました。

お二人には以前インタビューをしているので気になる方はぜひ見てみてください。


▼yoshizawaさんのインタビューはこちら

【エンジニアインタビュー】フルスタックエンジニアとして成長できる環境で挑戦したい | システム統括部_エンジニア
こんにちは、KIYOラーニングの技術広報担当の大原です。今回の社員インタビューは約1年前に当社へ入社し、システム統括部でeラーニングシステム(LMS)「 AirCourse(エアコース)」の開発チームに所属しているシニアエンジニアの yoshizawa さんです。 yoshizawaです。KIYOラーニングには 2021年の2月に入社しました。趣味は、 ...
https://www.wantedly.com/companies/kiyo-learning/post_articles/388312

▼木村さんのインタビューはこちら

【エンジニアインタビュー】派遣から正社員へ転換!この環境を選んだ理由とは? | システム統括部_エンジニア
こんにちは、KIYOラーニングの技術広報担当の大原です。今回の社員インタビューは、企業向け社員教育eラーニングサービス「AirCourse(エアコース)」の開発チームに所属しているエンジニアの木...
https://www.wantedly.com/companies/kiyo-learning/post_articles/465816
KIYOラーニング株式会社's job postings
4 Likes
4 Likes

Weekly ranking

Show other rankings
Invitation from KIYOラーニング株式会社
If this story triggered your interest, have a chat with the team?