SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2020】セッションレポート (AD)

エンジニアがビジネスを変革する――IoTで営業課題を解決、旧型アーキテクチャを刷新したパーソルキャリアの開発【デブサミ2020】

【13-E-2】doda開発者が語る IoT&サーバレスでビジネスサイド変革に挑戦した話~イノベ観点のダッシュボタン&負債から進化したアーキテクチャ~

  • このエントリーをはてなブックマークに追加

アーキテクチャ負債を刷新するための3つのポイント

 後半はガラリと内容が変わり、パーソルキャリアが運営する転職求人情報を掲載する「doda」サイトのシステムのアーキテクチャの取り組みについて紹介された。

 上源氏は「新規機能・サービスは新技術で開発できているのに、既存システムのアーキテクチャにさまざまな負債を蓄積させていませんか」と会場に問いかけた。IT関連のメディアでは、新しい技術や仕組みについて盛り上がる記事が多く見られるが、古いサービスはそのまま取り残されることも多く、負債としてみなされることも少なくない。

 古いアーキテクチャの例として紹介された、仮想基盤や昔ながらのクラサバ構成、CentOS 6系、Apache 2.2系などは、いずれも「doda」サイトが抱えてきたものだという。これらを1つずつ解消し、アーキテクチャを進化するためにはどうしたらいいのか。上源氏は刷新にあたって注意したいポイントを3点紹介した。

 1つ目は「やみくもな最新化はNG」ということ。ビジネスへの影響や改善する際の投資効果の高いものから優先的に実施することが大切だ。システム規模が小さい場合はともかく、大きいものはドラスティックに変えていくことは難しい。正しく課題を整理し、投資効果なども鑑みながら優先順位をつけることが大切だ。

 2つ目は「アーキテクチャの進化だけではNG」ということ。エンジニア進化/コストなどリリース後の開発/運用も考慮する必要がある。「doda」サイトでもSVNを捨ててGitも導入したというが、masterブランチを壊すなど「Gitのあるある」を起こしてしまったという。新たに取り入れる技術についてはエンジニアの習熟度や技術の枯れ具合・手探りにならないか等も適切に考慮して進める必要がある。

 3つ目は「単発の開発はNG」ということ。負債が発生する構造/ポイントを把握し、負債を生まない仕組みも検討することが大切だという。年間を通してどのタイミングで改修するかを計画しており、突発的に起きるトラブルの可能性があるも考慮して、余裕を持ってリソースを確保している。なお課題整理の一環として、下記のようなシートを使っており、それぞれの部分について、エンジニアにひたすら課題を書いてもらい、整理した。それを見ながら具体的に手をつけるところ、合わせて改修するところなどを見ていったという。

システム課題の抽出
システム課題の抽出

システムの課題を正しく整理して可視化

 この他、上源氏が行っていたのが、ソフトウェアの構造を正しく可視化して、問題やあるべき姿について把握することだ。実際、JSPにビジネスロジックを混在させMVCモデルを無視して作っていたり、静的解析ツールを入れているのにアラートが数千以上もあったりといった問題も散見したという。

 さらに、リーン開発の阻害要素の抽出も行われていた。企画、設計、開発、デモ、テスト、リリース、運用、効果フィードバックと続く流れの中で、どれだけ歩留まりがあるか、調査したという。そして、もう1つQCDの課題整理として、設計・製造・テスト・運用保守の各工程で課題と解決手段について洗い出しも行っている。そして、それぞれの課題の要因や対策の傾向をブレイクダウンして分析したものも紹介された。

 これらを踏まえ、課題に対してどのようなビジネス要求や実害があるべきか、本来はどうあるべきか、そして投資効果などについて検討された。投資効果に関しては単にコストとしてだけでなく、セキュリティ要件なども含めて整理している。

QCD課題整理
QCD課題整理

 上源氏は「エンジニアの視点から『やりたいこと』『やれること』というより、いったん客観的に図式化し、全体を整理することで、限りある人・モノ・金の適切な投資先について考えることができる。また、一気に進めるのではなく、リファクタリングからプロトタイプの構築、想定していた効果や実装方式の検討に至るまで、徐々に進めていくことが望ましい」と語る。そして、テーマについてタスクの洗い出しを行い、進め方を図式化する様子を紹介した。

課題の全体整理
課題の全体整理

 そして、上源氏は「あまりいいたくないが」と前置きしつつ、「最後はマインドが大切」だと語る。時には経営層や承認者から理解を得ることが困難な場合もあるが、エンジニアが意欲を持って働く環境をつくるという観点からも、より良いシステムを提供するために強い意志を持って負債に挑む必要があるというわけだ。そうした上源氏らテクノロジー本部の努力のもと、「doda」サイトの表示スピードが劇的に向上するなど、目に見えた成果が得られつつあるという。

 最後に上源氏は「正しく整理して可視化し、熱意を持ってしっかりと取り組んでいくことで、エンジニアが快適にやりがいを持って働ける環境づくりがかなうのではないか。それが、事業成長にもつながっていくことが望ましい」と語り、セッションのまとめとした。

お問い合わせ

 パーソルキャリア株式会社

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2020】セッションレポート 連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12034 2020/04/08 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング