(オリジナル英語記事: What is Agile Software Development?)

アジャイルとは、ソフトウェアを開発するためのアプローチを説明するために使用される用語で、最終的に近いところですべてを提供するのではなく、段階的な提供、チームコラボレーション、継続的な計画、および継続的な学習を重視します。

アジャイルは、プロセスのスリム化を維持し、何かが最終的になるまでに何度も繰り返し行われる最小実行可能製品(MVP)を作成することに重点を置いています。フィードバックは継続的に収集され、実行されます。全体としては、全員が1つの目標に向かって協力しているというはるかに動的なプロセスです。

アジャイルソフトウェア開発

アジャイルソフトウェア開発

スクラムと他の主要なアジャイルメソッド

アジャイルは考え方であり、それは一連の価値観と原則です。アジャイルは思考と行動の方法です。アジャイルとは、短いサイクル、反復的かつ段階的な配信、迅速な失敗、フィードバックの取得、早期の顧客へのビジネス価値の提供、人とのコラボレーション、および対話についてのすべてです。アジャイルは、透明性、検証、および適応に関するすべての考え方です。しかし、アジャイルは役割、イベント、またはアーティファクトから構成されていません。それは考え方です。たとえば、スクラムはアジャイルの傘下で広く使用されているフレームワークの1つです。これは、よりアジャイルになるのに役立ちます。ただし、カンバン、XP、クリスタルなど、図に示すようなフレームワークは他にもたくさんあります。以下:

スクラムアジャイル傘

スクラムアジャイル傘

スクラム

スクラムは、最も価値の高い製品を生産的かつ創造的に提供しながら、複雑な適応問題に取り組むことができるフレームワークです。ソフトウェアプロジェクトの管理や製品またはアプリケーションの開発に使用されます。その焦点は、機能横断型のチームが2〜4週間以内に共通の目標を達成するためのユニットとして機能する適応型製品開発戦略にあります(Sprint)。それは、価値、アーティファクト、役割、儀式、規則、そしてベストプラクティスの集まりで構成されています。

リーン

リーンは、1950年代、60年代、そしてそれ以降の物理的な商品の製造に革命をもたらしたトヨタ生産方式(TPS)から始まりました。Leanは製造業での地位を維持していますが、知識作業に新しいアプリケーションを見出し、あらゆる業界の企業が**無駄を排除し、プロセスを改善し、技術革新を促進するの**に役立ちます。製造と同様に、ソフトウェア開発は一般的に定義されたプロセスに従い、定義された受け入れ条件を持ち、具体的な価値を提供するため、ソフトウェア開発はリーン方法論の自然な応用です。私たちがリーンの柱と呼ぶリーン方法論のすべての実践を導く重要な概念。彼らです:

  • 継続的改善
  • 人を尊重する
  • 軽量のリーダーシップ

かんばん

かんばんはリーンチームの間で人気がある非常に視覚的なワークフロー管理方法です。実際、リーンを実践しているチームの83%が、開発チームに負担をかけずに、継続的デリバリーを重視して製品の作成を視覚化し、積極的に管理するためにKanbanを使用しています。スクラムと同様に、かんばんはチームがより効果的に協力するのを助けるように設計されたプロセスです。

かんばんは3つの基本原則に基づいています。

  • 今日何をするかを視覚化する(ワークフロー):お互いのコンテキスト内ですべての項目を見ることは非常に有益です。
  • 進行中の作業量を制限する(WIP):これは、フローベースのアプローチのバランスをとるのに役立ちます。そのため、チームは一度に開始して、一度に多すぎる作業を実行しない
  • 流れを強化する:何かが終わったら、バックログから次に優先順位の高いアイテムが場に出ます

かんばんは継続的なコラボレーションを促進し、可能な限り最良のチームワークフローを定義することによって、積極的で継続的な学習と改善を促進します。

動的システム開発方式(DSDM)

DSDMは8つの原則、ライフサイクルと製品、役割と責任、そしていくつかのベストプラクティスのテクニックで構成されるフレームワークです。これらは、可能な限り早期に戦略的に調整されたビジネス上の利点を提供し、組織に最大限の投資収益率(ROI)をもたらすという哲学を支え、サポートしています。

DSDMは、スケジュールよりも機能よりも品質を優先し、開始時のコスト、品質、および時間を固定し、プロジェクトを4つの異なるタイプの要件に分類する優先順位付けのMoSCoW方式を使用する方法です。

  • 持っている必要があります(M)
  • 持っているべきです(S)
  • 持っている可能性があります(C)
  • 持っていない(W)

DSDM Aternを支える8つの原則があります[13]。これらの原則は、チームに彼らが取らなければならない態度と彼らが一貫して提供するために採用しなければならない考え方を指示します。

  1. ビジネスニーズに焦点を当てる
  2. 時間通りに配達する
  3. 共同作業
  4. 品質を決して落とさない
  5. 強固な基盤から徐々に構築
  6. 繰り返し開発する
  7. 継続的かつ明確にコミュニケーション
  8. 制御を実証する

極端なプログラミング

もともとKent Beckによって記述されたExtreme Programming(XP)は、最も人気があり物議をかもしているアジャイル方法論の1つとして浮上しています。XPは、高品質のソフトウェアを迅速かつ継続的に提供するための統制のとれたアプローチです。顧客の要求が変化しても、ソフトウェアの品質と応答性を向上させることを目的としています。お客様の高い関与、迅速なフィードバックループ、継続的なテスト、継続的な計画、そして頻繁に(通常は1〜3週間ごとに)稼働中のソフトウェアを提供するための緊密なチームワークを推進します。

この方法論は、伝統的なソフトウェアエンジニアリング手法の有益な要素が「極端な」レベルにとられているという考えからその名前を取っています。例として、コードレビューは有益な方法と考えられています。極端に言えば、コードはペアプログラミングの実践を通して継続的に見直すことができます。

オリジナルのXPメソッドは、4つの単純な値 - 単純さ、コミュニケーション、フィードバック、そして勇気 - に基づいています。

それはまた12の支持の練習を持っています:

  • 計画ゲーム
  • スモールリリース
  • 顧客受け入れテスト
  • シンプルなデザイン
  • ペアプログラミング
  • テスト駆動開発
  • リファクタリング
  • 継続的インテグレーション
  • 一括コード所有権
  • コーディング規格
  • 比喩
  • 持続可能なペース

極端なプログラミング

極端なプログラミング

機能駆動型開発(FDD)

1997年にJeff De Lucaがシンガポールの大手銀行向けのソフトウェア開発プロジェクトに携わっていたとき、Feature-Driven Development(FDD)が導入されました。それは反復的で漸進的なソフトウェア開発プロセスであり、ソフトウェアを開発するための機敏な方法です。FDDは、業界で認められている多数のベストプラクティスをまとまった全体にまとめています。これらのプラクティスは、クライアントが評価する機能性(機能)の観点から推進されています。その主な目的は、具体的で実用的なソフトウェアを適時に繰り返し提供することです。FDDを使用することの利点は、「最初は十分設計できる」(JEDI)の概念により、大規模チームでもスケーラブルであることです。機能中心のプロセスであるため、アジャイル、増分、および本質的に複雑なプロジェクトの管理を維持するのに最適なソリューションです。それは5つの基本的な活動から成ります:

  1. 全体モデルの開発
  2. 機能リストの作成
  3. 機能別計画
  4. 機能による設計
  5. 機能による建物。

機能駆動型開発(FDD)

機能駆動型開発(FDD)

すべてのプロジェクトには独自のモデルがあり、それが機能リストになります。最後の3つのアクティビティは短い反復プロセスで、機能の構築には2週間以上かかりません。2週間以上かかる場合は、さらに小さな機能に分割する必要があります。

結晶

クリスタルメソッドは、1990年代半ばにAlistair Cockburnによって開発された方法論のファミリー(クリスタルファミリー)です。方法はCockburnによるチームの長年の勉強そしてインタビューから来ます。Cockburnの調査によると、彼がインタビューしたチームは正式な方法論に従わなかったにもかかわらず、まだ成功したプロジェクトを提供していました。クリスタルファミリーは、プロジェクトを成功させるために彼らがしたことをカタログ化するコックバーンの方法です。クリスタルメソッドは以下に焦点を当てています。

  • インタラクション
  • コミュニティ
  • スキル
  • 才能
  • コミュニケーション

アジャイルマニフェスト

「アジャイル」という用語は、2001年にアジャイルマニフェストで作成されました。マニフェストは、ソフトウェア開発へのより良いアプローチを導くための原則を確立することに着手しました。アジャイルマニフェストは、4つの重要な価値から成ります。アジャイルマニフェストを読む方法は、右側の項目にもう値がないということではありませんが、アジャイルの動きは左側の項目をより重視するということです。

アジャイルマニフェスト

アジャイルマニフェスト

それでは、アジャイルマニフェストの最初の行を見てみましょう。この行は、あらゆる種類の広範なプロセスやツールを整備することよりも、人、彼らの相互作用、コミュニケーション、コラボレーションを大切にしていることを示しています。もちろん、プロセスとツールは価値がありますが、実際に協力して優れた製品を提供する人々を支援するのであれば、それらははるかに価値があります。最近多くの組織で見られるのは、プロセスとツールがそれ自体の目標であるということです。アジャイルの観点から、私たちはこれを違うように評価します。プロセスとツールは、人々が協力して顧客に価値を提供するのを支援します。

アジャイルマニフェストの原則

アジャイルマニフェストを補完するアジャイルアライアンスは、アジャイルマニフェストに加えて、ガイダンスとより詳細な説明を提供する12の基本原則のセットも定義しました。

アジャイルマニフェストの原則

アジャイルマニフェストの原則

  1. 私たちの最優先事項は、貴重なソフトウェアを早期に継続的に提供することによってお客様を満足させることです。
  2. 開発の遅い段階でも、要件の変更を歓迎します。アジャイルプロセスは、顧客の競争上の優位性のために変化を利用します。
  3. 作業時間が短いものを優先して、数週間から数ヶ月間、頻繁に作業中のソフトウェアを提供します。
  4. ビジネスマンと開発者は、プロジェクトを通して毎日一緒に仕事をしなければなりません。
  5. やる気のある人を中心にプロジェクトを構築する 彼らに必要な環境と支援を与え、そして仕事を成し遂げるために彼らを信頼しなさい。
  6. 開発チームとの間で情報をやり取りするための最も効率的かつ効果的な方法は、対面会話です。
  7. 実用的なソフトウェアは進歩の主要な尺度です。
  8. アジャイルプロセスは持続可能な開発を促進します。
  9. スポンサー、開発者、そしてユーザーは、無期限に一定のペースを維持できるはずです。
  10. 技術的な卓越性と優れたデザインへの継続的な注意は敏捷性を高めます。
  11. 単純さ - 実行されない作業量を最大化する技術 - は不可欠です。
  12. 最良のアーキテクチャ、要件、および設計は、自己組織化チームから生まれています。チームは定期的に、より効果的になる方法を熟考し、それに応じて行動を調整および調整します。

概要

アジャイル開発は、ソフトウェア開発プロジェクトを管理する別の方法であるソフトウェア開発業界の大きな流行語の1つです。特定のソフトウェア開発方法ではなく、アジャイルマニフェストで表現されている値と原則に基づく一連の方法と慣行を表す包括的な用語です。ソリューションは、自己組織化された機能横断型のチーム間でのコラボレーションによって進化します。

視覚的パラダイムについて

ビジュアルパラダイムは、変化の激しい今日の環境において、組織が競争力を維持しながら変化に迅速に対応できるように支援します。当社の受賞歴のある製品は、中小企業、コンサルタント、世界中の優良企業、大学、政府機関など、32万人以上のユーザーから信頼されています。2018年にアジャイル機能をさらに強化したVisual Paradigmは、スクラムチームがソフトウェアアプリケーションを作成、管理、展開する方法を自動化するためのスクラムプロセスキャンバスを導入しました。これまでにないスピードと規模でチームのパフォーマンスを継続的に向上させることができます。

スクラムプロセス全体を1ページで管理する

  • 目を引く最新のステータスで楽しく楽しいダッシュボードでスクラムフレームワークを自動化します。
  • 1ページの視覚的に実行可能なキャンバスでバックログ、異なるスクラムロールの複数のスプリントを管理
  • 共有キャビネットにアーカイブするためのスクラム成果物および関連文書への即時アクセス、レビューおよび生成を許可する
  • 自明の指示、サンプル、および必要なドキュメントテンプレートを使用して、スクラムイベントと関連アクティビティを自動化します。

コメント

コメントフォーム
記事の評価
  • リセット
  • リセット