December 11, 2009
【ARCモデルを考える会】定義編
ここで私が定義するARCモデルとは、
A: Agile
R: Ruby on Rails
C: Cloud
を一緒に実践するソフトウェア開発を考えるフレームワークであり、プロジェクト方針であり、心意気とここでは定義する事にする。
そして第一に目指すものは、
「ビジネス価値の構築を第一に考える。そして可能な限り安価で素早く行う。」
とする。いつもこの目的に適合しているかどうかを最優先で考える。
またここでのAgileとは、下記を含むプロジェクトの進め方とし、厳密にKent Beck等が定義しているものやその他の人たちが言う定義は参考にはするが、全てを取り入れられず、好きなように随時変更出来るものとする。下記はPivotal Labsの定義を参考に定義。(LeanもTPSも大好きなので、これらも超参考にする)
・Business Driven:ビジネス価値を優先し、ビジネス実行者が決定権を持つ
・Iterative(Spiral-Up) Development:小さな単位(2時間~1日)で開発を進め、すぐにフィードバックする
・Test/Behavior Development:テストを先に行い、振る舞いを重視し、WEB開発の場合一番始めにAPIを定義し開発することから始める
・Continuous Integration, Continuous Releasability:ビルド状況やリリース状況はいつも目に見えるようにする
・Pair Programing:ペアプロ重視。オンタイムレビューのようなもの。パートナーは随時変更可。
またRuby on Railsについては、Railsを前提に考えるが、Ruby以外の他の言語を排除するようなものではない。そんな寂しいことはしない。JavaもScalaもErlangもF#も、適材的技術で利用する事は推奨する(それでいーじゃん)。
またCloudとは、単に仮想化のことを指すのではなくて、どちらかというと分散処理技術を中心として考えるかもしれない。ただ、「every time, everywhere, everyone」というキーワードをCloudの大切なコンセプトとし、インターネット上での共同作業、インフラのオンデマンド共有は前提とする。
現時点では、以上を定義とする。
A: Agile
R: Ruby on Rails
C: Cloud
を一緒に実践するソフトウェア開発を考えるフレームワークであり、プロジェクト方針であり、心意気とここでは定義する事にする。
そして第一に目指すものは、
「ビジネス価値の構築を第一に考える。そして可能な限り安価で素早く行う。」
とする。いつもこの目的に適合しているかどうかを最優先で考える。
またここでのAgileとは、下記を含むプロジェクトの進め方とし、厳密にKent Beck等が定義しているものやその他の人たちが言う定義は参考にはするが、全てを取り入れられず、好きなように随時変更出来るものとする。下記はPivotal Labsの定義を参考に定義。(LeanもTPSも大好きなので、これらも超参考にする)
・Business Driven:ビジネス価値を優先し、ビジネス実行者が決定権を持つ
・Iterative(Spiral-Up) Development:小さな単位(2時間~1日)で開発を進め、すぐにフィードバックする
・Test/Behavior Development:テストを先に行い、振る舞いを重視し、WEB開発の場合一番始めにAPIを定義し開発することから始める
・Continuous Integration, Continuous Releasability:ビルド状況やリリース状況はいつも目に見えるようにする
・Pair Programing:ペアプロ重視。オンタイムレビューのようなもの。パートナーは随時変更可。
またRuby on Railsについては、Railsを前提に考えるが、Ruby以外の他の言語を排除するようなものではない。そんな寂しいことはしない。JavaもScalaもErlangもF#も、適材的技術で利用する事は推奨する(それでいーじゃん)。
またCloudとは、単に仮想化のことを指すのではなくて、どちらかというと分散処理技術を中心として考えるかもしれない。ただ、「every time, everywhere, everyone」というキーワードをCloudの大切なコンセプトとし、インターネット上での共同作業、インフラのオンデマンド共有は前提とする。
現時点では、以上を定義とする。
