Close

ソフトウェア開発

ソフトウェア開発の主要部分について学ぶ


ソフトウェアによる世界の席巻。2011 年、Marc Andreessen 氏が「ソフトウェアは世界を飲み込もうとしている」という有名な発言をした後、ほどなくしてソフトウェアは世界を飲み込みました。今日のデジタル エコノミーにおいては、あらゆる企業がソフトウェア集約型になっています。Amazon は世界最大の小売業者かもしれないが、実際は小売会社ではなく、ソフトウェア会社であると Amazon 元 CEO の Jeff Bezos 氏は主張しました。「我々のビジネスは、茶色い箱の中にあるものではありません」と同氏は言い、「茶色い箱を運ぶソフトウェアがそれなのです」と続けました。

DevOps 無限ループ

ソフトウェア開発とは

ソフトウェア開発とは、ソフトウェア成果物の設計、ドキュメンテーション、プログラミング、テストおよび継続的な保守を意味します。このようなステップの組み合わせを利用して、高品質なソフトウェア成果物を作成するための一連の手順である、ワークフローのパイプラインを作成します。 このパイプラインは、ソフトウェア開発のライフサイクルと呼ばれます。

微妙な違いはたくさんありますが、一般的にソフトウェア開発のライフサイクルには、以下のような共通要素があります。


ソフトウェア開発ライフサイクルの各ステップ


電球の軌道

コンセプト

プロジェクトを構想、設計し、優先順位を決めます。アジャイルのような方法論は、プロジェクトの作業プロセスの指針となります。DevOps のようなプラクティスは、開発および運用時の実践をガイドします。Confluence は、この段階で製品調査ドキュメントを作成して設計ファイルを共有するうえで最適なツールです。

簡単なワークフロー

計画 + ロードマップ

関係者を特定し、予算を決め、インフラストラクチャを調達します。構想フェーズの設計ドキュメントを、実行可能なタスクごとに分けます。Jira と Trello でこれらのタスクのリストを管理、追跡、整理します。

コードの保存

コード レビューおよびテスト

開発チームが、要件とフィードバックを満たした、本番環境で利用できるソフトウェアを構築します。CI/CD パイプラインにより、開発者は効率的に作業できます。Bitbucket はコード レビュー プロセスに組み込まれたコード レビューのコラボレーション ツールと CI/CD パイプラインを備えています。

コードのリリース

デプロイ、リリースおよびホスト

コードが承認され、マージされたら、いよいよリリースです。Bitbucket の CI/CD パイプラインでは、ボタンをクリックするのと同じくらい簡単にデプロイを実行できます。本番コードを配置する場所が必要になります。Amazon AWS、Google Cloud Platform、または Microsoft Azure が提供するクラウド ホスティングの使用をご検討ください。

歯車

サポート、運用および保守

アクティブなソフトウェア プロジェクトにはサポートと保守が必要です。Jira Service Management は、顧客のサポート リクエストを受付、選別、解決するための強力なツールを備えています。

error

インシデント管理

インシデント管理は、DevOps および IT 運用チームが予期せぬイベントまたはサービス中断に対応し、サービスを運用状態に戻すために使用するプロセスです。 チームには、インシデントの優先順位を決め、迅速な解決を実現し、ユーザーに優れたサービスを提供するための信頼性の高い方法が必要です。

ソフトウェア開発ライフサイクル全体を通したプラクティス

CI/CD

継続的フィードバック

チームは各リリースを評価して、今後のリリースを改善するためのレポートを作成し、製品機能の価値と影響について顧客に意見を求め、ビジネス関連の成果を関係者と共有する必要があります。継続的にフィードバックを収集することで、チームはプロセスを改善し、顧客に対する価値を高めることができます。

セキュリティ

セキュリティ

ソフトウェア アプリケーションが複雑化し、規模が大きくなるにつれ、リリース サイクルの最後に「ボルトでつなぎ留められた」ような従来型のセキュリティでは、ソフトウェアを安全に保つことができなくなりました。それよりも、ソフトウェア コードの脆弱性を最小化するために、セキュリティはソフトウェア開発のライフサイクル全体を通じて含まれる必要があります。

効果的なソフトウェア開発の主な機能


アジャイル

アジャイルはプロジェクト管理とソフトウェア開発の反復的なアプローチであり、チームがより迅速により問題が少ない状態で顧客に価値を提供できるようにサポートします。ソフトウェア業界では、アジャイル手法はチームが本質的に柔軟で組織化され、変化に対応できる能力を備えられると非常に評価されています。

DevOps

DevOps は一連のプラクティスツール文化哲学で、ソフトウェア開発チームと IT チーム間のプロセスを自動化して統合します。これはチームの自信、チーム間のコミュニケーションとコラボレーション、テクノロジーの自動化に重点を置いています。

継続的なインテグレーションとデリバリー (CI/CD)

継続的なインテグレーションは、コード変更をソフトウェア プロジェクトに自動で統合するプラクティスです。これによって開発者は、ビルドやテストを実行する中央リポジトリにコード変更を頻繁にマージできます。

継続的なデリバリーは、コードの変更をテスト/本番環境に自動でデプロイすることによって、継続的なインテグレーションに拡張されます。その後、継続的なデリバリー パイプラインに続いて、自動化されたビルド、テスト、デプロイが 1 つのリリースのワークフローとして連携されます。

マイクロサービス

単に「マイクロサービス」とも呼ばれるマイクロサービス アーキテクチャは、分散して自律的に開発される、独立してデプロイ可能な一連のサービスとしてアプリケーションを構築する手法です。これらのサービスはゆるく結合しており、個別にデプロイ可能で保守も容易です。

マイクロサービス アーキテクチャを採用すると、異なるスタックと切り離されたデプロイによって、開発者は各種サービスに特化した小規模なチームを編成できます。

アジャイル

アジャイルはプロジェクト管理とソフトウェア開発の反復的なアプローチであり、チームがより迅速により問題が少ない状態で顧客に価値を提供できるようにサポートします。ソフトウェア業界では、アジャイル手法はチームが本質的に柔軟で組織化され、変化に対応できる能力を備えられると非常に評価されています。

DevOps

DevOps は一連のプラクティスツール文化哲学で、ソフトウェア開発チームと IT チーム間のプロセスを自動化して統合します。これはチームの自信、チーム間のコミュニケーションとコラボレーション、テクノロジーの自動化に重点を置いています。

継続的なインテグレーションとデリバリー (CI/CD)

継続的なインテグレーションは、コード変更をソフトウェア プロジェクトに自動で統合するプラクティスです。これによって開発者は、ビルドやテストを実行する中央リポジトリにコード変更を頻繁にマージできます。

継続的なデリバリーは、コードの変更をテスト/本番環境に自動でデプロイすることによって、継続的なインテグレーションに拡張されます。その後、継続的なデリバリー パイプラインに続いて、自動化されたビルド、テスト、デプロイが 1 つのリリースのワークフローとして連携されます。

マイクロサービス

単に「マイクロサービス」とも呼ばれるマイクロサービス アーキテクチャは、分散して自律的に開発される、独立してデプロイ可能な一連のサービスとしてアプリケーションを構築する手法です。これらのサービスはゆるく結合しており、個別にデプロイ可能で保守も容易です。

マイクロサービス アーキテクチャを採用すると、異なるスタックと切り離されたデプロイによって、開発者は各種サービスに特化した小規模なチームを編成できます。

ソフトウェア開発ツール


ソフトウェア開発ツールは、アジャイルや DevOps の実践における先導、コード管理、CI/CD による自動化の実現、インシデント対応、テストなど、ソフトウェア開発ライフサイクルのあらゆるステップで役に立ちます。

Jira Software logo

Jira Software

Jira は、アジャイル チームの利用実績 No.1 ソフトウェア開発ツールです。Jira Software はアジャイル チームが世界クラスのソフトウェアを確実に計画、追跡、出荷するためのプロジェクト管理ツールです。

Bitbucket のロゴ

Bitbucket

Bitbucket は、単なる Git コード管理ツールではありません。Bitbucket を使用すれば、プロジェクトの計画、コラボレーションによるコード開発、テスト、デプロイをすべて 1 つの場所で行うことができます。

Compass のロゴ

コンパス

Compass は開発者エクスペリエンス プラットフォームであり、分散型アーキテクチャをナビゲートして、エンジニアリングの成果と、それらを利用して共同作業しているチームに関する繋がりのない情報を一元化し、検索できる場所に取り込む際に役立ちます。

Atlassian Open DevOps

チームは、ソフトウェアを開発して運用するために必要なすべてを、Open DevOps ですぐに利用できます。Open DevOps は、Jira Software、Confluence、Bitbucket、Opsgenie から始まります。チームは、GitHub や GitLab などの必要なツールをワン クリックで簡単に追加できます。

Atlassian Open DevOps

チームは、ソフトウェアを開発して運用するために必要なすべてを、Open DevOps ですぐに利用できます。Open DevOps は、Jira Software、Confluence、Bitbucket、Opsgenie から始まります。チームは、GitHub や GitLab などの必要なツールをワン クリックで簡単に追加できます。