CodeGym /コース /JAVA 25 SELF /プロダクトづくり:現代のITプロダクトはいかに生まれるか

プロダクトづくり:現代のITプロダクトはいかに生まれるか

JAVA 25 SELF
レベル 8 , レッスン 6
使用可能

1. 「人はもはや生まれるのではなく、育てられる」

さて、まだここにいるなら、続けましょう。「どれほどウサギの穴が深いか、お見せしましょう」 © 🐇

これから、プロダクト開発のプロセスが実際にどう進むのかをお話しします。最上位の全体像から最も下位のコード記述まで、段階を追って見ていきます。いくつか興味深い発見が待っているはずです…

現代のITプロダクトはもう「書く」ものではなく「つくる」ものです。ライブラリ、フレームワーク、外部のプログラムやプロダクトを部品のように組み合わせ、さらには有料・無料のリモートなインターネットサービスまで活用します 🧩。

現代のプロダクトは、技術・サービス・ソリューション・プロセスの一大動物園のような存在です。人が行う作業もあれば、自動化された部分もあり、そして残りの90%はデータセンターのクラウドサービスが担っています ☁️。世界はすでに昔とは違うのです。

しかしまずあなたが気づくのは、絶え間ない変更です。あなたはもはやプログラムを書いているのではなく、そこに変更を加えているのです。

2. 常なる変更

あなたは出社して、すでに5年間プロダクトに取り組んでいる20人のチームに加わるでしょう。ユーザーには現在バージョン7が提供されています。あなたの役目は、そのプロダクトに変更を加えることです。現在のアクティブユーザーを怖がらせない程度の小さな変更を。

そしてそれは簡単ではありません。なぜなら、プロダクトはすでに稼働しており、顧客がいて、彼らはお金を払っているからです 💰。だから壊すことは許されません。稼働中のプロダクトに変更を入れるのは、新規のものに比べて何倍も難しい。そこで標準、移行プロトコル、ユーティリティが用意されているのです。こんなジョークを思い出します。

古い友人が二人、久々に出会う。 一人は整備士、もう一人は外科医… それぞれの暮らしや悩み、喜びを語り合い、やがて話題は給料へ。整備士が言う:「俺は月に30Kもらってて結構満足してる。君はどのくらい?」 心臓外科医が言う:「手術1件につきだいたい100K…」。 そこで整備士が興味津々:「おかしいな、なんでそんなに差がある?やってることは同じだろ——部品を交換するのは一緒じゃないか」。 外科医が言う:「じゃあ車へ行こう。エンジンをかけて…」。 整備士がエンジンをかけると、外科医はボンネットを開けて整備士に言った:「ほら、エンジン動いてるだろ?替えてみて!」 😂

たとえ奇跡的に、あなたのチームが丸1年プロダクトをゼロから書き上げ、ようやくリリースできたとしても、その次に何が起きるでしょうか。プロダクトが成功すれば、プロダクトオーナーは成長を望みます。新バージョンを出し、何か機能を追加し、少なくともいくつかの実験を行うでしょう。そしてその結果どうなるか? 変更です 🙈

3. プロダクトの価値

現代の開発の観点では、価値があるのはすでにリリースされ、ユーザーが使っているコードと機能だけです。もしあなたがコードを書いてどこかで動いてはいるものの、人が使っていないなら、その価値はほぼゼロに近い。だからこそ、すべてのコードはできるだけ早く本番環境(production)に届くべきなのです 🚀

あなたのコードは次の段階を経ます。

  • ✔️ あなたがコードを書き、動作を確認した。
  • 🔍 チームリードがレビューし、Gitのメインブランチに取り込んだ。
  • 🧪 プログラムのビルド時テストで、重要なものを壊していないことが示された。
  • 🧩 統合テストで、プロダクトが期待どおりに動作することを確認した。
  • 🛡️ テスターがこのコードを検証し、リリースのゴーサインを出した。
  • 📦 その後、新しいバージョンをビルドしてサーバーにリリースする。
  • 🐳 新バージョンをDockerイメージにパッケージし、リリースする。
  • 🗄️ 場合によっては移行スクリプトを実行し、データベースや他のサードパーティのソリューションに変更を加える必要がある。
  • 📊 サーバーのログを収集して、すべてが期待どおりに動作していることを確認する。
  • ⏪ 異常が発生して何かを壊してしまった場合は、ビルドをロールバックし、データベースを以前の状態に戻しつつ、不安定なバージョンの間にユーザーが行った操作を失わないようにする。

多くの企業では、これらの課題はすでに解かれています。新しいプロセスが整備され、専門の人材が採用され、セキュリティプロトコルや品質管理の標準が導入されています。企業規模が大きいほど、コードを書いてから本番環境に届き価値へと変わるまでの時間は短くなり、人々に利益をもたらし始めます。

多くの企業では、コードがこの道のりを進むのに2週間ほどかかります。しかし、毎週、あるいは毎日リリースする会社もあります。特にすごいところでは1日に数回というところもあります。

書いただけのコードには価値がない。価値を生むのは本番環境で動いているコードだけだ。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION