CodeGym /コース /Frontend SELF JA /プロダクト開発

プロダクト開発

Frontend SELF JA
レベル 47 , レッスン 3
使用可能

5.1 ちょっとした歴史

90年代にインターネット革命が始まった時、誰もがどうやってインターネットサービスを正しく開発するのか知らなかったんだ。 全ての機能がすぐにユーザーに提供されて、これは従来のソフトウェア開発とはかなり違ってたよ。

当時の最大の検索エンジン企業、Yahooは新しい道を取り、ハリウッドのアプローチを採用しようとしたんだ。 彼らのマネージャーはプロデューサーと呼ばれてた :) 驚くべきことに、そのやり方はうまくいかなかったんだ。🤦‍♂️

これは面白い

Yahooは他の企業を買収する上で最大の失敗者だよ。彼らは何度かGoogleやFacebookの買収を申し出られたけど断ったんだ。 そして、彼らが衰退している時にMicrosoftが400億ドルで買収を提案したけど、またもや断った。 数年後、彼らは30億ドルで買収された。90年代のピーク時には2000億ドルの価値があったのに、 もしGoogleを買収していたら今頃は数兆ドルの価値があったかもしれないね。Yahooのようにしないでね

インターネット革命以降、数十の異なるソフトウェア開発のアプローチがテストされて、今では状況が安定してるよ。 標準的な役割や責任、プロセス、ソフトウェアが存在してるんだ。

学習の過程で、現代のIT企業で働くために必要なことすべてを学ぶことになるよ、現代の開発ツールと一緒にね。

5.2 プロダクトチーム

プロダクトチーム

典型的な開発チームには以下の人々が含まれるよ:

  • プロダクトにどんな機能とフィーチャーが必要か決める人々
    • Product Owner
    • Business Analyst
  • それを全部実現する開発者たち
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • プロダクトの品質を保証する人々
    • QA Automation
    • DevOps

Product Ownerはソフトウェア開発において重要な役割を果たすんだ。彼はプロダクトを管理し、開発チームが最も重要なタスクに集中していることを確認するよ。 プロダクトのビジョンを決定し、タスクのリスト(バックログ)を作成し優先順位をつけるんだ。それにより、開発の各ステージがビジネスの目標とユーザーの要求に最大限に応えるよう保証しているんだ。

UX Designerはプロダクトの使いやすくて効果的なインターフェイスを作成することに取り組んでるよ。これはユーザーのニーズの調査、プロトタイプの開発、インターフェイスのテストを含むんだ。 その仕事はプロダクトとのユーザーのインタラクションを改善し、できるだけわかりやすく使いやすくすることを目的としてるんだ。

DevOps専門家はソフトウェア開発とその運用管理のプロセスを最適化することで、プロダクトのアップデートを迅速かつ簡単にリリースすることを目指してるよ。 彼らの仕事はテスト、デプロイ、システムの監視の自動化、またインフラの設定と継続的インテグレーションとデリバリー(CI/CD)の保証を含んでいるんだ。

5.3 開発チーム

実際の開発はプログラマーによって行われているんだ。彼らは大まかに5つのカテゴリに分けられるよ:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • DBA

役割とその内容はチームの規模やプロダクトの特性によって変わることがあるけど、状況は大体こんな感じだよ:

Software Architect: 複雑なソフトウェアシステムのアーキテクチャの設計を担当してるよ。Architectは技術インフラを開発し、プログラムプロダクトのさまざまなコンポーネントの構造と相互作用の方法を決定し、そのスケーラビリティ、パフォーマンス、安全性を確保しているんだ。

Backend Developer: アプリケーションのサーバーサイドの開発を専門としているんだ。Backend Developerのタスクにはロジックの実装、データベースやデータ管理システムとの統合、ユーザーのリクエストの処理、フロントエンドとの連携の維持が含まれるよ。

Frontend Developer: Webアプリケーションのユーザーインターフェイスを開発するんだ。この役割にはHTML、CSS、JavaScriptの知識が必要で、インタラクティブでレスポンシブなインターフェイスを作成するためのフレームワークやライブラリの使用も含まれるんだ。これはプロダクトとのユーザーの良いインタラクションを保証するためだよ。

Mobile Developer: モバイルデバイス向けのアプリケーションを開発しているんだ。Mobile Developerは異なるオペレーティングシステム(例えばiOSやAndroid)のためのアプリケーションを作成し、プラットフォームの特性、デバイスのパフォーマンス、ユーザー体験を考慮するよ。

DBA (Database Administrator): データベースの管理を担当し、その可用性、安全性、最適化を保証しているんだ。 DBAはデータベースの設定、監視、メンテナンスのタスク、またデータのバックアップとリカバリのための戦略の開発を行うよ。

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