音声書き起こし
1. オープニング
Guest
こんにちは、UITのpotato4dです。
Guest
ユーザーインターフェースと、テクノロジーを愛する開発者のためのウィークリープブキャストUIT INSIDE。今週も始めていきたいと思います。
Guest
今回はですね、ゲストにUITのきよさんとアモンさんをお呼びして、エピソード55でえ、紹介したLINEポイントクラブのえタイプスクブスクリプト、マイグレーションの
Guest
その後のえ、進捗共有についてやっていこうと思っております。えきょうさん、あもんさん、本日はよろしくお願いいたします
Guest
よろしくお願いします。
2. ゲスト紹介
Guest
それではですね、今回久しぶりの出演となりますので。きょうさんとあんさんえ、今1度自己紹介の方、お願いしてもよろしいでしょうか。
Guest
はい、LINE株式会社、フロントエンド開発センターUIT1室、フロントエンド開発サチームに所属している京ょうよと申します。
Guest
現在担当しているプロジェクトは、LINEポイントクラブと、LINElivecmsプラットフォームのフロントエンド開発です。皆様よろしくお願いいたします
Guest
はい、よろしくお願いいたしますいしますでは、あもんさんもお願いします。
Guest
はいとこんにちはとライングロス、テクノロジー、株式会社、UITチームのとケシアモンと言います。
Guest
きょうさんと同じく、LINEポイントクラブのフロントエンド開発を担当しています、お願いしますはい、
Guest
よろしくお願いいたします。
Guest
それではですねえ、今回のホームペーに入っていこうかなと思うんですけれどもえ、まずですね。今回のエピソードはえ、前回のエピソード55でえ、紹介してい
3. LINE ポイントクラブの TypeScript 移行について
Guest
だいたLINEポイントクラブのタイプスクリップと、マイグレーションのえー対応のごちご実談にえとなるかなと思います。
Guest
前回ですね、リニューアルについて話していただいたかなと思います。えけれども、ちょっとえ半年ほどがいたのでえ、改めてですね。簡単にタイプス、フトマイグレーションについての概要を強さの方に説明いただいてもよろしいでしょうか。
Guest
はい、わかりましたまちょうど半年ぶりになりますね。今回おしお話するのがはい
Guest
で、まあ、前回の振り返りってことで、簡単に。LINEポイントクラブについての説明をさせていただこうと思います。はい
Guest
で、まあ、前回の放送でも話した内容なので、まぜひ見ていただきたいっていうのもあったりはするのですが。はい、
Guest
まあ、LINEポイントクラブの規模感やタイプスクリプトのマイグレーション計画について、ちょっと色々おさえしながら説明していこうと思います。はいはい
Guest
で、まず、LINEポイントクラブのまプロジェクトの傾向ですね。はいはい、LINEポイントクラブは、LINEの主力サービスの1つとして、定義されているサービスになります。
Guest
で、様々なプロジェクトのプロモーションになっている。プラットフォームとなっており、いろんなサービスのハブとなる役割を持つサービスの1つとなっています。
Guest
まなので、定常的に多くの機能開発が入る案件の1つだと思っていただければと思います。はいはいでプロジェクト傾向はま、こういうこういう感じになっておりで、あとはフロントエンドの規模ですね。
Guest
まあ単純な規模の話なんですが、フロントエンドのコードのソファイル数がちょうど3598ファイルに
Guest
なっています。そうですね、結構多いですね、はい、多いですね、
Guest
で、そのうちのjsファイル数っていうのが、500ファイル前後あるっていう状態ですね。はい、で、まあ、
Guest
ちょうど今進めているタイプスクリプトのマイグレーション対応で。今はだいぶ減ってきていて、現在は頑張って43楽ファイルほどになってますね。
Guest
はい、おしらもう1割ぐらいはタイプ、スクプトマグレッション中で減ったっていうところ、そうですかね。
Guest
はい、タイプスクリプトマイグレーションしながら、やっぱョークファイルとか結構出てきたりする。あ、これはそうですよね、1個にまとめられるだろうってことで、まとめていった結果、だいぶ整理整頓について。まあ、50ファイル以上は多分削ってる感じですね。
Guest
なんでそういったところも、うん、変化があったってことですね。
Guest
そうですね、変化ありましたね、はい、
Guest
エピソード55のタイミングでは、どこまで完了してたんでしたっけ。
Guest
ええ、エピソード55のタイミングではまちょうどまあとで、ちょっと詳しくはお話しさせてもらうんですが、ステップ2と呼ばれている部分までが一旦完了していた状態になりますね。はい、なるほど
Guest
で、まあまずLINEポイントはまこういったちょっとファイル数が膨大だったり、あとははの開発がすごい定常的に入ってくるって傾向があるんで。
Guest
タイプスクリップとの。マイグレーション対応は、中長期計画で実施するという判断になりました。
Guest
で、前回はその昼食期契約で、どういうことを思って対応してるかっていうのは、まあお話させていただいた感じですね。はい
Guest
ま、その先を今日はおお聞きできるっていうところですかね。あま
Guest
ということになりますね、
Guest
なるほど、なるほど、了解ですでは、聞いていきたいと思います。
Guest
今どんな感じの計画で動いているかっていうところととまそこのえ現状等々について順番に共有いたいただきたいと思います。こちらも、きょうさんでよろしいでしょうか。あ、はい、大丈夫ですですお願いします。
4. 第一弾完了から半年を迎えての現状報告
Guest
ではちょっと。細かい計画部分というのは、前回の放送で。お話はできてなかったと思うんで、ちょっとこちらについて説明していきたいと
Guest
思います。はい、まず通常であれば、えとま計画自体フェイズって形で分けてま。期間区切ってから実施すると思うんですが。
Guest
今回はステップって形で。LINEポイントの方は対応していますね。はい、で、各ステップについて、説明していきたいと思います。
Guest
まず、ステップ1として、タイプスクルトの導入、基盤の整備ま、環境構築っていうのを行っています。
Guest
で、ま、これはちょっと前回。既に対応していた項目になりますね。はい
Guest
で続いてステップ2なんですが、ま、こちらが。ユーキール感性のタイプスクリプト化とディファクタリング続いて、ステップ3で、bux。ま、つまり、ビーのストアとのタイプスクリプトかと、フルディファクタリングっていうのを行っています。
Guest
で、あとはステップ4でAPIのタイプ定義
Guest
でうん、ステップファイブで、ビューファイルのディファクタリングと、タイプスクリット化っていうのを、実施するっていう形になってますね。なんで、全部で5つのステップで実施しています。
Guest
はい
Guest
で、今のステップがえいくつに、
Guest
あかねはい。今のステップはちょうどステップ4がそろそろ終わるっていう段階に
Guest
位置していますね。うん、はい、なので、からステップファイブだけっていう形になりますね。はい、
Guest
なるほど、なるほど了解です、ありがとうございますはいじゃかなりま、今もう進んできてるっていうところですかね。そ、
Guest
そうっすね、もう、だいぶ順調には進んできてる感じですね。思ったよりも、はい
Guest
じゃ、もう結構ままま。もしかしたら、後で話すかもしれないんですけど、もう結構終わりの目処が見えてきてる感じですかね。
Guest
あ、はい、後でちょっとちゃんと報告させてもらうんですが、ちゃんと出ているんで、ちょっと。それはまたちょっと報告させてもらいます。
Guest
了解ですはいました
Guest
で、続いて計画の方針なんですが、なんでフェーズっていう切り方ではなくて、ステップかっていうと、
Guest
まあ、よくある形にはなるんですけど、メインとなる。機能開発の予定に組みむ形で、今込回のマイグレーションというのは実施しています。まあ、なんでほんとに歩みを一緒にしてっていう形です。
Guest
はいはいはい
Guest
で、今ロードマップで引かれている。まあ、各機能の開発が例えばおっきめの開発で全ての画面に影響する機能で、
Guest
ま、全画面のフルリグレッションテストが必要になるものかどうか。あとは、はいはい
Guest
まあ、あとはまあ、それとは別に。また、一部画面のみに影響するような機能で、画面単位でふ。ディグレッションテストが必要になるものかどうか。
Guest
あとは、例えば、うちの会社のテスト舞台である9aチームですね。うん、9aは、チームの稼働に、少し余裕がある場合に、ちょっと
Guest
ここの部分だけちょっと確認してください。で、投げれるかどうかなどをはいはい
Guest
はいはいはいちょ
Guest
ょうどその3点を見極めた上で、マイグレーションを適切に。組み込んでいくっていう形で、今実施しているんですよね。はいはいはい
Guest
なので、まあ、タイプスクリプトのマイグレーションはま、日々の機能開発に、混ぜ込むような形で。無理なく実施していて、
Guest
基本的には、機能開発との足並みを完全に揃えた形の対応というのを。私たちは心がけているの。
Guest
あ、なるほど、なるほど、まあじゃあれですかね。そのリファクトのためにまキベがもう1回走し直す
Guest
直すみたいなことはできるだけないように、ちゃんと機能開発の中で、まちょっと余裕持ってスケジュール入れたりとかすることによって、えまリファクターをしつつ、ちゃんと機能開発も前に進めていくっていう風な形で
Guest
やってるんですかね。あ、そう
Guest
通りですね、はいまや、やっぱそれで、ちょっと期間取るっていう点もなんだろう。はい、やっぱ、スケジュールの調整とかも必要になってくるんで、ま、どちらがいたら、まあ、機能開発がやっぱプロリティーとかインで。
Guest
そこに合わせた上での。まあ、スケジューリングっていう形で、進めさせてもらってますね。
Guest
ああ、なるほど、なるほど、それでちょっと思ったんですけど、
Guest
結構機能開発とま、結構リファクターってなると、いつでもできると言いますか。その開発者側で、できる範囲でやっていくってのができると思うんですけど、
Guest
結構その機能開発側って、授業とかの。要件にもよると思うんで、なかなか。例えば、今回リニューアルから半年たって、ステップも計画されてっていう風にやっていたかなと思うんですけど、なかなかそっち側の機能開発側の未来って、
Guest
開発者側から描きづらいかなと思うんですけど、
Guest
今回ってどういう感じで。え、その事前にどうやってそのステップを今回5つに分けたっていう風におっしゃってたかなと思うんですけど、そこの計画
Guest
の策定みたいなところと、機能開発の部分って、どういう風にうまくロードマップ引いていった感じなんですかね。はい、
Guest
それに関しては、基本的には機能開発のロードマップに合わせて、計画を組んでるって形になっていて、
Guest
ま。実はちょっと。プロジェクトによって多分違うかもしれないんですけど、うちのま、LINEポイントクラブのプロジェクトはもう傾向として、大体半年後かえから1年後ぐらいの機能開発のロードマップも常に引かれてる状態なんです。あ
Guest
ああ、そうなんですね、なんか受容的なビジョンだけじゃなくて、まあ、こういうのを開発しようっていうとこまで結構ロードマップとして引かれてるって感じなんですかね。
Guest
はい、そうですね、まあ、もちろんリソースの金でま前後とかしたりはするんですけど、はい
Guest
ま、ただ前回お話させてもらった。7月の段階ままリプへのマイグレーションが完了して、本格的に進むぞってやってた段階ですね。
Guest
はいはい、実はあのタイミングで2021年にどんな機能開発が予定されてて、どのぐらいマイグレーションを進めることができるのか。っていうのは、もう全部目と立ってたんですよ。
Guest
ああ、そうだったんですね、なるほど、なるほど、いや、もう話す時点でもう次話す時にはここまでは絶対発表できるぞって感じだったん。
Guest
あ、そうですね、もうその通りですね。はい、
Guest
なるほどってことは、じゃあ、今このちょうど半年たって話に上がってるってことは、結構新着とかま、そのロードマップ通りに進んでるって感じですかね。
Guest
あ、そうですね、あれ、自分が当初思い描いていた計画よりもすごい順調に進んでいて、
Guest
あよりより良い方向に進んでる感じなんすね。
5. TypeScript 移行にかかったコストと回収状況
Guest
そうですね、ま、ちょっと最初に出した概算とかよりもまいい数値が出てるんで、ま、ちょっと今回ちょっと数値情報ま、アバウトな数値にはなっちゃうんですけど、ちょっと用意してきたので、なんかこちら説明させていただこうかなと思ってます。
Guest
おぜひぜひお願いしますはい
Guest
でま、今回ちょっとまあ、やっぱ公開できる範囲もちょっと限られてるんですけど、まあ、大はいきく分けて3つの目標と実績について、ちょっとお話ししていきたいと思います。はいはい
Guest
でまず1つ目の話ですね。
Guest
ま、ここはもう完全にスケジュールの話なんですけど、作業工数と完了予定日についてのと、お話を最初にさせてもらおうと思います。
Guest
はい、お願いします。
Guest
はい、
Guest
で、まず当初のプロジェクトをまあ、進行する時のに立てた目標ですね。
Guest
マイレーション前の目標としては、当初。まあ1年半は予定として、見てたんですよ。はいはい、
Guest
目標期間として、ただ前回の放送あった。7月末ぐらいの段階でちょっとま機能開発の方が色々動いたので、
Guest
はいはいと、そっからちょっと計画目標ちょっと変更して、バッファ見て、2年ぐらいの対応計画ってことで、ちょっと目標修正させてもらってます。実はあ、
Guest
そうですね、まあ、ちょっと機能開発に足のみ揃えるという話なんで、まそこを踏まえた上でですね。はいで、一応稼働としては1日平均3時間ぐらいま、もちろん、多い時も少ない時もあるんですけど、
Guest
まそうですね。うん、まただな鳴らすと3時間ぐらいになるあ、
Guest
鳴らすと3時間ぐらいという想定で、一応2年計画ってことで、最初は立てていました。
Guest
はいはいはいで、実際今ステップ4に取りかかって、そろそろ終わるって段階なんですが、はい、ちょうどそれの実績を踏まえながら、一応目処がたったんで、そちらについてちょっと紹介していきますね。
Guest
はいはい、お願いします。
Guest
はい、で、最初は2年対応計画って話だったんですが、一応今ちょうど1年経過してるんですよ。ちょうど去年の2月から対応自体は始めているんで。
Guest
ああ、なるほどなるほど、
Guest
そうなんですよ。で、発表がまあ半年前だったっていう話でで、1年経過している段階で、今進捗としては、70パーセントほど完了してるんですよね。実はおお、
Guest
そうなんですね、
Guest
もがっつり進んでいて、
Guest
じゃもう半分以上進んで4分の3ぐらい進めますもんね。そうです
Guest
ね、はい、もうステップも5つあるうちの4つまで、4つが終わりそうってぐらいなんでは。はいはいはい、なんで残ってるのはほんとに。ステップファイブのビューファイルのタイプスクリップとかですね。
Guest
その対応すれば完了なんで、結構ゴール見えてるんですよね。今
Guest
確かにもうあと1つだけですもんね。
Guest
そうなんですよあともラスト1段でで、まあ、そういうこともあるんで、順調に行けばま、当初2年計画で出してたものが一応1年半ぐらいでえと終わりそうかなという今目処が出て、あ、
Guest
そうなんですね。ってことはま、一旦ちょっと伸ばしてみたけど、実は元々のスケジュールがのままでいけそうみたいなああた
Guest
ありですよ。はい、伸ばしたかいなかったなみたいなのはあったんですけど、まあ、元に戻って1年半で追われる見込みっていうのがちょっと出てきました。はいはい
Guest
で、あとは1日の平均稼働時間を3時間として、見ていたって話をしたんですけど、実際の実績見てみると、まあ3時間かかってなくて、2から3時間なんで、2.5から3時間で平均値が出たって感じですね。
Guest
ま、多い時で3時間になるぐらいに収まってるって感じですね。あ、
Guest
そうですね、一応そのぐらいで収まってますね。はい、
Guest
なるほどなるほどなるほどうん
Guest
なので、ちょっとまとめると、まあ想定よりも良いペース進んでいる状態です。で、あとは、1日あたりのそのタイプスクトルにかける稼働数っていうのも、
Guest
ちょっと少なめに出ているっていう感じですね。実績としては、で、完了日も前倒しできる見込みも入ってるんで、今のところ、そのスケジュール部分に関しては、順調に進んでいると思ってもらって、オッケーです。は、い
Guest
ま、1度修正はしたけれどもはまた元の予定に戻ってきて、しかもそれが本来の稼働より少ない量でいけてるんで、かなり順調と言いますか。
Guest
その当初の計画より、より良い結果が出てるって感じですよね。
Guest
あ、その通りですね、はいや、
Guest
すごいですね逆に初めの制度がすごいですよね、
Guest
したからね、うん、
Guest
よかったですね、意外にもあた当たったっていうところで、
Guest
普通なかなか。やっぱ、機能開発とリバクターって両方かなりえ。あの、色々予期せぬことが起こりやすいんで、見積もりより長くなるとかって、普通によくあることだと思う。
Guest
ですけど、なんか、むしろ前倒しに終わるっていう1年以上かけるものが、前倒しに終わるって、初めの制度がすごいすごいですね。
Guest
あ、だけど、あれですね、やっぱ慎重に多分出してるっていうのもあったりはするんで、ちょっとパパもで、やっぱとってるんですよ。この数値はいはいはい、長めでまなので、一応前倒しで終わってくれてるっていうのはあったり、
Guest
燃え出しで終わるのはすごいいいことですね。はい、そすね、あ、でももうてことは。あとはステップファイブをいかにこう倒すかっていうところなわけですね、
Guest
ほんとにそこですね、まあ、そこももし、まあ普通に半年あればいけるかなとは見ているんで。うん、そうですね、まあ、ちょっとこれからが楽しみですね。どうやってスピード感よく、マイグレーションを実施できるか、あとは、
Guest
運良く機能開発がまあ入ってくるかどうか。
Guest
うん、うん、うん。
Guest
確かに昨日開発と合わせるっていうところが前提となっている。都合、上まいい感じにマッチしてくれるかどうかってのもちょっとあるわけですね。
Guest
まあ、もちろんありますね
Guest
けど、あれあもんさん的にはあれこれ。今回機能開発に混ぜてやりましたけど、なんかマッチしてるとかって、なんか体感とかありました。感想とか
Guest
ま、そうですね、今回で言うと、ま、ちょっとこの後触れるとは思うんですけど、サーバーサイドのコトリンへの移行っていうところで、結構UITの方。でも、まあ、多めにコ数をちょっと確保していたっていうところは
Guest
あったんですけど、意外となんでしょうね。そんなにまだそのUITとしての作業が発生していないっていう部分もあって、ま。そこでまその空いた時間をリファクターに多く
Guest
避けるようになって、ま。そこで、ちょっと息に進捗があったかな、みたいなところはあると思いますね。なんで結構はい、僕的にも早く進んでるなっていう感覚は
Guest
あります。おお、
Guest
あ、なるほどなるほどあいいですねこう開発メンバーみんなでよいい具合に進んでるなっていう認知持ちながら、実際に
Guest
本来より前を進めていけんの。そうい。
Guest
あとは、まあ、先にリファクターをできるっていうことで、まそのこと
Guest
でに対する何かしらの作業が発生した時には、もう少しなんかやりやすい環境になって、進められるっていうところは、結構いいポイントかなと思いました。
Guest
なるほどな、
Guest
確かに確かにそうですね、ちょっと先んじてリファクターしておくと、未来のコストがどんどん
Guest
こうそうですよね、
Guest
下が下がりますからね。あということはま、結構前回はとりあえず第1歩っていうところでしたけども、もう今回はかなり
Guest
もう終わりが見えていて、めちゃめちゃ順調っていうところですかね。はい、
Guest
その通りですね、はい、
Guest
いいですね、やっぱり結構あのき移行話って、とりあえず初めて第1歩を踏み出して動かせるようになりましたが、やっぱりエピソード
Guest
として多いんで、それから上手くいったかどうかって、みんななかなか表に出てこない話でもあるんで、ほんとにうまくいって、調子がいいって話は聞けると、かなり
Guest
珍しいエピソードですし、いい感じですね。なるほど、ありがとうございます、
Guest
ありがとうございますじゃあ
Guest
ま一応今回3つ用意してるんで、そのうちの2つ目行きましょうか。はい、きましょう、はい、きましょう。はい、じゃあ続いてがタイプスクリプトの学習コストについてですね。多分、
Guest
これはい、計測する必要。
Guest
多分、なかなかいないのかもしれないですけど、ま概要としては、ま、
Guest
例えばタイプスクリプトに慣れてないメンバーがタイプスクリプトを使うことで、学習コストはどのくらいかかるのであろうとか、あとは、学習する際にある程度低下するであろう。まあ、作業効率あるじゃないですか。
Guest
はい、それがまどのくらいの期間で元に戻るのだろうって、やっぱ疑問に思ってる皆さん、結構いると思うんですよ。
Guest
そうですよね、前回は前回のエピソード55では、あのきょうさんの方で、もっとやっぱりそういったものはかかけることっていうところのそのなんでしょう。衛生要因というか、あのモチベーションみたいな意味も含めて
Guest
投資しているみたいな話が結構あったかなと思います。けれどもま、実際そういったところ
Guest
現場の人がやってみて、どうだとかっていうのは、やっぱりなかなか外に出てこないんで、やっぱりみんな実際どうなんだろうなって。タイプkプトに触れる機会が少ない人がも思っている印象は
Guest
ある気がしますね。まあ、そう
Guest
すよね、ま、自分もちょっとこれ疑問で思ってたりはしたので、ちょっと試しに計測を簡単にやってみました。っていう話ですね。はい、ほう
Guest
で、まあ、簡単に言うと、学習コストがどのぐらいプロジェクトに影響を与えるのかを測定するために、
Guest
まこんなことをやってみました。タイプスクリプトに慣れてないメンバーがタイプスクリプトを使ってま。何年で稼働コストが平常レベルまで戻せるかっていうのを、測定するっていうことをちょっと試しにやってみました。今回
Guest
はいはいはいで、ま、ここで1回角コストっていう言葉でちゃったんですけど、はいまあ、業務において、学習コストって角コストに含まれるじゃないですか。ま
Guest
あ、そうですよね、どうしても業務時間か食って勉強するっていう話になっちゃいますね。
Guest
ま、あとは、慣れるまでの時間っていうのもやっぱ入ってきますし、そういった意味でカコストっていうのをベースでちょっと測定したっていう形になってい
Guest
はいはいはい
Guest
はいで、まあ、もちろん測定するにはサンプルが必要なので。今回は今日賞用って男をサンプルにして、ちょっと計測を行いました
Guest
それはあれですか。フロントエンド開発センターUITフロントエンドさん、チームの教ョヨさんですか、
Guest
了解です、わかりました、私ですょうしょうよさんの話をお聞きに、できれば、と
Guest
はいはいでお願いします。はい、すいません、
Guest
はい、ポイン
Guest
トクラブに関しては、
Guest
あ、タイプスクリプトへの移行は。あれですね。全色でアングラをま使用してまチームの中で、タイプ、スクリプトの経験がすごいあるアロンさんを一応メインに置いていて、
Guest
あ、はい、自分がまあサポートみたいな感じで、進めるように進行しています。
Guest
はい
Guest
で、自分今回タイプスクリットを本気でがっつりやるのって、実は初めてで、
Guest
でタイプスクリプトに慣れてない。ま、自分がタイプスクリプトを学習しながら、移行を進めていくと、まどれぐらいの稼働コスト
Guest
がままどれぐらいで、稼働コストが平常レベルまで戻るかっていうのを図っています。
Guest
はいはい、タイプスクとか慣れてない人が、タイプスクリット始めました。ま、そこでちょっとやっぱ最初手こずるんで、稼働コストはちょっと長めにできてしまうんですけど、それが元に戻った時期っていうのを一応調査してます。はいはい
Guest
で、UITメンバーだったら、すごいイメージしやすいかもしれないですけど、私がサンプルってこともあるんで、ま1個の基準にはなるかなとは思っています。
Guest
まあ、ほんとに慣れてる方とか、初めての方でも容量いい方だったら、自分より全然早めに。学習は完了できますしま、ちょっと初めては
Guest
いじるって人でもちょっと遅いぐらいで、多分完了はできると思うんで、1個の指標にはなるかなと思っています。はい、
Guest
で、当初の想定だと、えーは、いま1年半から2年という目標を実は立てていたんですね。
Guest
はい、
Guest
慣れるまでま稼働コストが、平常に戻るまでま、そのぐらいの期間はかかるかなって、最初は見込んでいました。
Guest
まあ、なぜかって言うと、まあ、タイプスクリットってま型の定義があるんで、コードか量は増えます。はい、ただ、
Guest
肩の力でコードの品質やデバッグに関わるコース自体はすごい減るので、まその見込みを立てて、
Guest
まあ、既存のコード品質改善がまあ、タイプスクリートによって改善されて、トータルの作業時間がまあ、導入前ののレベルとを下回った時期というのをまけ。はいはい
Guest
まあ、まあ、そのコストのコスト減るって部分に関してはまレビューが結構多い部分ですね。ま、例えばまレビューでま、今まで肩がない時代のレビューって
Guest
あれなんですよね。ま、チェックして、一目でほんとに漏れがないかっていうのをバーってチェックしてそうですね。
Guest
処理の配慮漏れがないかっていうのを指摘をレビューで返すみたいなパターンが多かったと思うんですよ。
Guest
ありました、ありました
Guest
まあ、ただタイプスクト入れたことによって、
Guest
まあ、なんすかね。plリクエストがもうできた時点で、そこらへんはもうある程度回収してる。もう
Guest
そこはもみつみつけて修正してるって状態になったんで、はいはい、プルリクエスト出す人も、レビューで見る人も、多分稼働コスト下がってるはずなんですよね。うんま、そういった意味でのそこまでのトータルコストがまあ、どのぐらい下がったかっていうのを見てみます。
Guest
はい、
Guest
で、実際に測った実績なんですが、1年半から2年計画で、まあ、2年ぐらいの時期を見込んでたんですけど、
Guest
実際に終わったのは6か月ぐらいで目標達成できました。
Guest
なお、お、なるほど、なるほど、
Guest
てことはま、これはあれですかね。ま、ちょっとまだタイプスフト書くことによって、え、時間かかってる部分はあるけれども。ま、それ以上にレビーの個数が減ったっていうところで、
Guest
あのペイしたっていうとこですか。
Guest
ああ、当たりですね、はい、うん、なるほど、なるほど、ちょうどそういうことになりますね。
Guest
で、まあ、実際にまあ、肩を書く時間自体もだいぶ短縮ができてるんで、慣れ慣れとかによって、なんでそこも短縮できているので、トータルで見ると一気に。角コース下がってるなって感じがします。
Guest
まあ、なんかこれだけだけど、本当かって思われる方もいると思うので、まあ、そのことあった出来事で話していくと、あ、ちょっと自分がまちょっと時間の余裕ができたんで、午後ぐらいですかね。
Guest
午後ぐまとある日の午後ぐらいに、abaの片定義やってきます。ってことで、
Guest
あもんさんに明日prお願いします。ってことで、一応ま依頼を出したんですけど、ま、翌日アもんさんが出社して見たら、プルリクエスト10件ぐらい出ていたっていう事件があった感じですね。
Guest
その通りですね、なんで1日で10件ぐらい送ってきて、おおって感じになってますね。
Guest
あん時
Guest
まあなんで。まあ伝えたいこととしては、半年あれば、1日に10件のプレリクエスト出せるぐらいまで、開発効率は戻ります。正直
Guest
ま、慣れることができるって感じですね。ま
Guest
ほどなるほど、じゃ結構半年でいい感じに行くになるってとこです
Guest
ね。あ、まあそうですね、はい。
Guest
ちなみにこれ、あのAPIの方定義ってなると、結構色々そのレスポンスのバリエーションとかもあって、結構tsえ的なえところの
Guest
知識も必要なところをきょうさんがばっちりやってくれたって感じかと思うんですけど、あのさん的にこのこの10件来たプロリーグ見たとき、どんな感じですかね。
Guest
そうですね、まあ、一言で言うと、だいぶ助かりましたっていうところがありましたね。
Guest
結構なんか定義のところってなんかはい、もうこれ使ってないものあるんじゃないかとか、はいはいはいうななんですかね。
Guest
あの、例えば、サーバーのAPIのドキュメントを見て、で、それを元に多分tsの片定義作っていくとは思うんですけど。で、そうすると、コードに当てはめると、コード上でエラーが出て、このプロパティーがないですとかは、はい、パティもう使ってません。みたいな
Guest
エラーが出るとま、どうしても新しく入った僕としては、この歴史的な経緯がわからない。それは、もうほんとに消し消していいのかとか、つか入れなきゃいけないのかわからないっていう部分では。
Guest
ま、結構そのポイントクラブとして長くやってるきょうさんにこの辺をやっていただけたのは、すごいほんとに助かったなという感じですね。
Guest
逆に、ここの方がちゃんとつくことによって、これまでそのあまさんが後から入ってきたことによって分からなかった。そのプロパティーの怪しい部分みたいなのを、ほんとにダメなも、もういらないものだったら、いらないって思いやすくなった感じ
Guest
いうそうですね、はい、
Guest
確かに確かになるほど、なるほど、結構ま長く携わっているメンバーが新しくタイプスクープに集中していくと、そういうメリットも結構ありそうですね。
Guest
そうですね、
Guest
あと1点はこれあとね、実は工夫があって、はい実はさっきもステップ説明した時、あれ。ストアソをステップ3でやって、APIをステップフォードやるって流れあったじゃないですか。はい、
Guest
ステップ3の段階でストアが、APIの型を基にちゃんと動くように実はしてあって、で、それの方に片定義してたやつを全部。最終的にAPIが
Guest
やるってタイミング全部移行してきたんですよ。
Guest
あ、そうなんですね、うん
Guest
で、そうすると、まずストアでちゃんとした動きになってるかどうかっていうのをまずがっちり固めた後に、はいはいAPIに持ってきて流し込むみたいな。
Guest
はいはいはいはい、工夫みたいのをやってたんで、スピード感よくできたっていうのも、一応経緯としてはありますね。
Guest
結構スムーズにこうしやすかったし、まあ、結構APIの片手って逆に先に片手だけあって、実装が伴ってないと、
Guest
その間違った形を信用してしまうってこともあるかなと思いますけど、まあ、そこはこれまでのステップ3リーで完全に担保してたんで、すごいスムーズにできたって、
Guest
あ、そういうことですね。はい、
Guest
なるほど、なるほど、ありがとうございます。
Guest
結構6か月で、もうそういうところまでまプロジェクトとしては、そのきさんがタイプスクープトにキャッチアップして、6か月目にはということは、もうえ、ステップ4まで進んでいるっていう話でしょうし、すごい
Guest
新宿としては、すごい短い間で移行が進んでる感じだったんですね、
Guest
どうでした。共産的に学習コスト6か月でっていうのは、結構想定よりは早かったかなと思うんですけど、実際体感としてどうでしたかね。学習コストか、その
Guest
高数っていうり、裸として感じたところってどういう感じでしたか。
Guest
そうですね、まだか、最初はやっぱタイプもいろんな書き方があって、すごい手こずるなって思ったんですけど、はい、やっぱアモンさんがいたことによって、多分この6か月っていう目標達成っていうのは実際できていて、
Guest
多分い
Guest
タイプスクリップとか、ちゃんとやってる方と組んだ上で、その人からちゃんと教えてもらうことによって。この1年、2年って最初見込んでたのが一気に多分短縮すると思うんですよね。
Guest
はいはいはいはい、そうですね、
Guest
なんでやっぱタイプスクリップをちゃんと理解して、まあ、教えてくださる方と一緒に組むと。まあ、自分は6か月だったんですけど、もっと早い方だったら、もっと早い段階で、もう慣れてバンバンかけるようになるんじゃないかな、とは思ってます。
Guest
なるほど、なるほど、ありがとうございます
Guest
じゃですね、ちょっと色々話していきましたけど、タイプスケると、マイグレーションのえ、進捗報告としてま気になる。え、最終的な稼働コスコストの回収期間みたいな話を改めて
Guest
話していただこうかなかなと思いますけど、こちらもきさんの方にお願いしてよろしいでしょうか。
Guest
じゃあ、まあ、3つ目の稼働コストの回収期間まこれ。多分いろんな人が気になってる部分かなと思ってるので、ちょっと話していこうと思います。はい、お願いします。ちょっと繰り返しにはなっちゃうんですけど、
Guest
まず、LINEポイントクラブでは。まあ、新しいメンバーがま古い技術を勉強するよりも、
Guest
モダンな技術で、即戦力となる環境を整備すること。っていうのを、まあ、1個のスローガンとして掲げている。この方針がチームビルディングメンバーのメンタルケアにつながり、そのメンタルケアの影響によって、
Guest
稼働コストの削減という付加価値を生むと、考えて、対応とかを進めています。ま、タイプスクリートだけじゃなくて、いろんなリファクターですね。
Guest
はい、実際に作業する上でわ、これ対応したくないなっていうストレスのケアだったりとか、あとはうわ、これちょっとサイドフェクト多すぎて辛いみたいな。そういった部分、
Guest
あとは、まあ、精神負担とか、そういった部分をちゃんとケアして、より、作業がしやすい環境を作ることによって、稼働コストを削減して、あとはモチベーション管理もするって意味合いで、ちょっと1個にトータルして、メンタルケアって言葉で呼んでいます。
Guest
はいで、前回のまあ話でま言ったところとしては、今の仲間と未来の仲間を救うためのタイプスクリットということで、タイプスクルの実装っていうのは、目標出してます。
Guest
なので、意図としては、チームマジメントにおけるま、そのメンタルケアのですねメンタルケアや、まあ、そのメンタルケアができなかったことによるリスクヘッジをえの一環として、タイプスクリプトの導入をしています。
Guest
なんで、最大プロオリティーとして、はまチームのリスクヘッジというところで目標を立てています。うん、うん、うん
Guest
までなので、実はこの目先のコストパフォーマンスを考慮しないっていう。ま、優先目標に立てていないっていうこともあるので、実際のところか、コストの回収話はは。プライオリティは低めっていうか、形になっています。はい、
Guest
まあ、ディスクヘッジを例に例えるんであれば、まあ、セキュリティ対応と一緒で、どんなにコストかかってても、絶対にやんないといけないことだと思ってるんですよ。はいはい
Guest
まそれと同等ということで、まあ、リスクヘッジのために私たちはやるんだっていうのは、上に伝えてるような感じです。うん、うん、うん、うん、
Guest
まあ、チームマネージメントにおけるリスクっていうのは、まあ、セキュリティリスクと同等ぐらいの危険性があると、自分の中でも定義してるんで、ま。それでやらせてもらっているものの。
Guest
ただ、やっぱコストパフォーマンス出さないと説明もできないんで、コストパフォーマンスちゃんと出しとかないと説明責任。やっぱ発生するんで、それがあるんで、稼働コストの回収期間ていうのは、ちゃんと
Guest
定義してやるようにしてるっていう形ですねう、私たちとしては、はい、
Guest
チームが画解しないように、まあ、あのリソースはかけるけれども、そのリソースに関して、その開発者か以外から見た時の合理性みたいなのも、しっかりと
Guest
担保しておくっていうところですね。
Guest
そういうことですね、はいはいはいまなんでま優先度は低いんですけど、一応ちゃんとそういった数値は出しているっていうことで、まその話をさせてもらいます。はいはいで、
Guest
そうですね、まず稼働コストの回収って、結局ま回収っていうことなんで、タイプスクリットを対応することによって、増えるコストと、
Guest
実際に導入が完了したタイミングで、運用改善されて、削減できるコストの2種類があると思うんですよ。
Guest
で、まあ正直何で削減するのかって話なんですが、まあ、先ほど話した通り、開発効率の向上
Guest
だったりしますね。そのまあ、やっぱメンタルケアとかにも繋がる部分にはなるんですけど、まあ、開発とかよりやりやすいような。
Guest
環境を揃えることによって、開発効率を向上させて、
Guest
まあ、作業者のま、業務ハードルとか、精神的な負荷をま下げることで、一機能単位の開発コストをま減らすっていう形を取っています。
Guest
で、短期間で一定レベル以上のコードがまあ作れるようにってことで、まその3点ですかね。開発効率の向上を、作業者の負荷を下げるあとは、一定レベル以上のコードが、容易に作れる。一応、その3点を
Guest
もによって、コストが削減できるってことで、一応話はしていますね。はい、
Guest
で、じゃあそのコスト削減によって、どのぐらいで、回収が可能なのかって話をしていきたいと思います。で、
Guest
まず目標として立てたのは、マイグレーション完了後に2年6カ月で、稼働コストの回収ができるっていう計算を最初は出していました。
Guest
これに関しては稼働人数2名、計算ですね。はい、
Guest
で、実際に今プロジェクト進んでいく中で、実際のかけたコースとかも出てるんで。それに伴う実績としては、
Guest
当初2年6か月計算だったんですが、2年、2カ月に減っていますか。働コストの回収期間ていうのはまこれも稼働稼働人数2名ですね。はい、
Guest
で、あとは、マイグレーション完了後に、2年6か月で回収するって話をしていたんですが、
Guest
正直言って、これ間隔地ですよ。間隔地なんですけど、もう既にコストの回収はされ始めてるのでは。っていう感じになっている印象です。はい
Guest
ま、そのあ、あれですよねあの、全部タイプスクープスに回収収し直したから、そのコストが戻ってくるっていうよりは、もう今移行している中で、どんどんレビューの
Guest
あの負荷が減ったりだとか。ま、そのそれこそファイルが1割ぐらい減っているってことだとかっていうところでま、コストの回収が置きながら、なお
Guest
品質が上がっているっていう感じですかね。あ、
Guest
その通りですね、はい、
Guest
確かに確かに
Guest
まちゃんとした影響範囲は分離できていないんですけど、まあすでに多分されてるだろうみたいな感覚はええと思ってますね。はい
Guest
ま、全体としてまだかけているコストみたいなのもあるとはいえ、ま回収できているところは、どんどん回収され始めてきている段階には、もう1年と少しで至っているっていうところで
Guest
ですかね。あ、そういうことですね、はい、
Guest
なるほどなるほど、
Guest
結構前回、そのコストパフォーマンスみたいなよりはどっちかっていうと、衛生要因というか、メンタルケアとか、チームとしてのえ、うまく回るところをえーゴールに据えているって話を
Guest
されていたかなと思うんですけど。まあ、結構計算や目標をしっかり出しつつ、そこにえちゃんと至るように、あ、形で進めていってはいるんですね。
Guest
そうですね、うん、まあやっぱちょっと数値出しとかないと、後で説明責任絶対出てきちゃう。
Guest
まあ、そうですよね、
Guest
なので、ちゃんと人に説明するための数値っていうのは、ある程度取るようにはしてますね。定義したりとか、まあ、もちろん、ちょっとアバウトな部分もあったりはするんですけど、ま、そういう形でLINEポイントの方は、タイプスクト対応というのは進めています。
Guest
で、ま、ただタイプスクリットのまあ、そうですね、パフォーマンスだ出すためには、まあ、タイプスクリプトの恩恵にちょっと座るっていう部分はあったりするんですけど、
Guest
まそこは多分。えと、恩恵をマックスまで出せるような運用体制だったりとか、工夫っていうのはしっかりやっているんで、ま。問題ないとは思うんですが、ま、ちょっとどのぐらい
Guest
え工夫がはまるか。でか、起こすの回収率はちょっと変わってくるかなと思っているので、そこは努力引き続きしていこうかなと思ってるところです。
Guest
なんか、せっかくですし、あれですよね。そのパフォーマンス出すための工夫のどれがどれぐらいハマったかみたいなのは、結構それぞれで分けておいてもらえると、例えば、UITのやっぱり他のプロジェクトとかも
Guest
歴史的に長いんで、ts以降できてないものもいっぱいあるかなと思うんで、なんか、次取り組む人がわかりやすくなったり。そうですよね、
Guest
そうですね、まそこもちょっとまとめてみましょうかね。うん、後々
Guest
せせっかくなんで、なんかこういう施策はま、こういう工夫はこれぐらいはまったっていうのがあると、もしかしたら、他の人にとってもプラスになるかもしれないですね。はい、
6. TypeScript 移行には賛成?反対?
Guest
ではですね、ちょっとですねえ、今回あのタイプスケープト以降に関しての話え、進捗共有ってのをきよさんの方からえて、サイドでぜひ話したいっていう風にねえ、ご連絡いただいたと思うんですけど、
Guest
これって、あの、そもそもどういったモチベーションで、今回お話持ってきてもらったんですかね。
Guest
あ、そうですね、ま、ちょうど半年経ったっていうのもあありにしてはあったんですが、
Guest
ちょっと面白いものを見て、前回UITのブログでま、エンジニアブログですかね。LINEのエンジニアブログで、タイプスクリプトのメリットとコストっていう記事あったじゃないですか。
Guest
あ、ありましたね、うん、うんで、
Guest
あれの。記事ももちろん読んだんですが、twitterの反を見たんですよ。実は、
Guest
はいはいはい、そしたら、
Guest
あやべろいろんな意見出てて面白いなと思ったんで、なんかそこの話をちょっと踏まえてやりたかったなっていうのがちょっとありましたね。あ、はいな、そこについてちょっと語りたかったなっていうところですよ。
Guest
ま、それがあったんで、ちょっと話したいなと思ってました。はい、
Guest
ちなみに、共産的にはそのタイプスクリプトのえ、移行、結構
Guest
ま推進したい人と反対したい人みたいな人が結構いたかなと思うんですけど、共産的にはどうですかね。あの記事であ、
Guest
自分すね、もちろんタイプスクリプトをまあ推進したいなっていう立ち位置ではあるんですが、あえてそこ寄らずに、ちょっと自分は中立派ですってことで、
Guest
見ていますね。
Guest
ちょ、ちょっと中立派としてのスタンスが気になるところなんですけど、はい、ちょっと今回のエピソード結構な時間になってきているんで、来週のエピソードとして、とってもよろしいですか。その話あ、
Guest
なるほどすあ、もう結構時間かかってますもんね、ま、
Guest
まあそれで大丈夫ですよ。オッケーですじゃあ
Guest
あ、ちょっと来週是非ま。タイプスクトのえまメリットコスト推進派、中立派の話をちょっとできればなと思うので。え、今回いいテンサイドお聞きいただいている。皆さんは、ぜひぜひ来週もお話を聞いていただければと思います。
7. クロージング
Guest
というわけでえ、今週はですねえきょうさんとあんさんにえ。LINEポイントクラブのマイグレーション対応の話を聞いていきました。
Guest
タイプスブトのですねえ、利用にあたってのえーま推進かえ、あるいは反対かという話については、ちょっと。来週にもえ、実際にポイントクラブの話も交えつつ
Guest
やれればと思うんですけれどもま、今日は進捗報告というところでま、どれぐらいのえ、期間でえ、コストをペイしていくことができたのか、という話をえ、聞いていきました。
Guest
ラインではですねえ、このような、フロントエンドに関する議論や、えー発表などえ日々行っております。
Guest
えま、社内勉強会で行っているコンテンツをそのままえUIT INSIDEで行っている例もありますので、ま、今後もどんどんアウトプットしていこうと思っておりますので、ぜひぜひお聞きいただければと思います。
Guest
それでは、ちょっと来集合となってえしまいますけれども、引き続きょうさんもさん来週もよろしくお願いいたします
Guest
よろしくお願いよろしくお願いします
Guest
少しはお聞きいただき、ありがとうございました。