CodeGym /コース /JAVA 25 SELF /IT プロダクト開発

IT プロダクト開発

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

1. 少し歴史を

1990年代にインターネット革命が始まったばかりの頃、インターネットサービスをどう作るのが正しいのか、誰にもわかっていませんでした。実装した機能がすぐにユーザーに公開されるため、これは従来のソフトウェア開発とは大きく異なるアプローチでした。

当時最大規模の検索エンジン企業だった Yahoo は、新しい道を模索し、ハリウッド流のやり方を取り入れました—マネージャーでさえ「プロデューサー」と呼ばれていたほどです :) その結果がうまくいかなかったのは、驚くことではありません 🤷‍♂️

豆知識。 Yahoo は他社買収に関して歴史的な失敗例として知られています。かつては Google や Facebook を買収する提案も何度も持ちかけられました。結局、企業としての勢いが衰えた頃、Microsoft が 400 億ドルでの買収を試みましたが、またしても拒否しました。その数年後、わずか 30 億ドルで買収されました。1990年代の最盛期には時価総額が 2,000 億ドルとも言われ、もし Google を買っていれば、いまごろは数兆ドル規模になっていたかもしれません。 Yahoo の二の舞にならないように。 🙈

インターネット革命以降、ソフトウェア開発のさまざまな手法が何十通りも試され、現在は状況が安定してきました。標準的な役割と責務、標準的なプロセス、そして標準的なソフトウェアが存在します。

学習の過程で必要な知識をすべて身につけます。現代の IT 企業で、現代的な開発ツールを使って働くために。🎓

2. プロダクトチーム

典型的な開発チームの構成は次のとおりです。

  • プロダクトにどの機能を持たせるかを決める人たち
    • Product Owner
    • Business Analyst
  • プロダクトの見た目をどうするかを決める人たち
    • UI Designer
    • UX Designer
  • これらを実装する開発者
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • プロダクトの高品質な動作を担う人たち
    • QA Automation
    • DevOps

IT team

Product Owner はソフトウェア開発において中心的な役割を担い、プロダクトをマネジメントし、開発チームが最重要タスクに集中していることを確かめます。プロダクトのビジョンを定め、タスクの一覧(backlog)を作成して優先順位を付けます。これにより、開発の各段階がビジネス目標とユーザー要件にできるだけ適合するようにします。

UX Designer は、使いやすく効果的なプロダクトのインターフェースを設計します。これにはユーザーのニーズ調査、プロトタイピング、インターフェースのテストが含まれます。目的はユーザーとプロダクトの相互作用を改善し、できる限り分かりやすく、使いやすくすることです。

DevOps のスペシャリストは、ソフトウェア開発と運用のプロセスを最適化し、製品の更新を迅速かつ容易にリリースできるようにします。業務には、テスト、デプロイ、システム監視の自動化、インフラの設定、そして継続的インテグレーションと継続的デリバリー(CI/CD)の実現が含まれます。

3. 開発チーム

実際の開発はプログラマーが行います。大まかに 5 つのカテゴリに分けられます:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

役割と内容はチームの規模やプロダクトの特性によって変わりますが、概ね次のようになります。

  • 🏗️ Software Architect: 複雑なソフトウェアシステムのアーキテクチャ設計を担当します。アーキテクトは技術的インフラを設計し、製品を構成する各コンポーネントの構造と相互連携の方法を定義し、スケーラビリティ、パフォーマンス、セキュリティを確保します。
  • ⚙️ Backend Developer: アプリケーションのサーバーサイド開発を専門とします。Backend Developer のタスクには、ロジックの実装、データベースやデータ管理システムの統合、ユーザーリクエストの処理、フロントエンドとの連携の維持が含まれます。
  • 🖥️ Frontend Developer: Web アプリケーションのユーザーインターフェースを開発します。この役割には、HTML、CSS、JavaScript の知識に加えて、インタラクティブでレスポンシブなインターフェースを実現するためのフレームワークやライブラリの知識が求められ、ユーザーとプロダクトの良好な体験を実現します。
  • 📱 Mobile Developer: モバイルデバイス向けアプリケーションの開発を担当します。Mobile Developer は、プラットフォームの特性、デバイスの性能、ユーザー体験を考慮し、iOS や Android など各種 OS 向けにアプリを作成します。
  • 🗄️ DBA (Database Administrator): データベースの管理を担当し、可用性、セキュリティ、最適化を保証します。DBA はデータベースの設定、監視、運用保守、さらにバックアップおよびリカバリー戦略の策定を行います。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION