
ソフトウェア開発とは
ソフトウェア開発とは、ソフトウェア成果物の設計、ドキュメンテーション、プログラミング、テストおよび継続的な保守を意味します。このようなステップの組み合わせを利用して、高品質なソフトウェア成果物を作成するための一連の手順である、ワークフローのパイプラインを作成します。 このパイプラインは、ソフトウェア開発のライフサイクルと呼ばれます。
微妙な違いはたくさんありますが、一般的にソフトウェア開発のライフサイクルには、以下のような共通要素があります。
ソフトウェア開発ライフサイクルの各ステップ
コンセプト
プロジェクトを構想、設計し、優先順位を決めます。アジャイルのような方法論は、プロジェクトの作業プロセスの指針となります。DevOps のようなプラクティスは、開発および運用時の実践をガイドします。Confluence は、この段階で製品調査ドキュメントを作成して設計ファイルを共有するうえで最適なツールです。

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

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

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

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

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

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

セキュリティ
ソフトウェア アプリケーションが複雑化し、規模が大きくなるにつれ、リリース サイクルの最後に「ボルトでつなぎ留められた」ような従来型のセキュリティでは、ソフトウェアを安全に保つことができなくなりました。それよりも、ソフトウェア コードの脆弱性を最小化するために、セキュリティはソフトウェア開発のライフサイクル全体を通じて含まれる必要があります。
効果的なソフトウェア開発の主な機能
ソフトウェア開発ツール
ソフトウェア開発ツールは、アジャイルや DevOps の実践における先導、コード管理、CI/CD による自動化の実現、インシデント対応、テストなど、ソフトウェア開発ライフサイクルのあらゆるステップで役に立ちます。

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

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

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