#devsumi 2012 アジャイルマニフェスト ディケイド メモ

投稿日:


  • 見入ってしまって全くまとまってない

アジャイルマニフェスト ディケイド

  • 角谷さん

自己紹介的な

  • 「ご講演いただく感じじゃぁないですw」
  • E和のRubyistです
  • Ruby Evangelist in Japan
    • Ruby会議を運営していました
  • アジャイルサムライという本を同僚と一緒に翻訳しました
    • もともと洋書なので、サムライは Jedi くらいに捉えるといいかも

宣伝

  • 3/24 Agile Samurai Dojo Gathering @ オラクル青山センター
    • スポンサー募集してます

これまでの振り返り

  • 2001年2月、アジャイルマニフェスト
  • アジャイル以前の主流はウォーターフォール式のソフトウェア開発
    • 人工のソフトウェア
    • 経済的な要請に基づいて、要請されたソフトウェアを作成する
  • HWの進化、要素技術の発展、全球的ネットワーク、ビジネス変化の加速
    • 自然なソフトウェア
    • ウォーターフォールの作り方に合わない
    • 不正義。正義が行われていないというのが20世紀末の状態
  • Kent Beck -> XP
    • 建築の手法をソフトウェア開発に持ち込んだ
  • ココらへん話すと長いので、パターン,wiki,xpを読んでください

アレグザンダー

  • 少しずつ成長させる
  • 人間の完成に深く基づく
  • 繰り返し実施される

今日のタイトル decaed

  • decade = 10年
  • ググると仮面ライダーディケイドが出てくる
  • 仮面ライダーディケイドの説明
    • (興味ないんで省略)

  • ソフトウェアの作り方は決まっていた ie. water fall
    • それが今は前提として回らなくなってきている
    • 決められたやり方でやればいい、という時代は終わった
  • water fallじゃないやつって、どうすればいいのか
    • 一人一人がやらないといけない時代

現在のアジャイル

  • 受け入れられている
    • イギリス政府で採用されたりしている
  • そういう一般的な話はいろいろなところに書いてるので、今日はそういうところに出てこない話をする

The Nature of Software

  • Nature => 本質的なもの、特性、特質
    • 人とソフトウエアの間に価値がある
      • ソフトウェアに価値があるのではなく
    • システム全体を構成する
    • 変更に対応できることが求められている
      • 「ソフト」なんだから、本来変更に対応できるはず
    • 人がソフトウェアを使ってみないとわからない
      • 動かすのにハードウェアやドキュメント、場合によっては運用支援も必要
      • 変化に対応するために、作りっぱなしじゃなくて変化に対応しないといけないがなかなかそうはいかない、技術的負債がある

人とソフトウェアの間に価値がある

  • ソフトウェアは頭の中にある
    • 目に見えない
    • 使った人が「あ、こういうことね」と認識するもの。使ってもらって、FBをもらったりしないとわからない
  • ビジネス要求からビジネス価値につなげるまで、end-to-endのサイクルをつなげていかないといかん

変更に対応できること

  • Programming as thearoy building
    • プログラミングは世界観を構築して、それを創りだすこと。文字列を並べる簡単なお仕事ではない
    • プログラマがどう捉えて、どう表現しているか
  • 変更できるようにつくらないといけない
    • "「コードはドキュメントである」と受け入れることだ。それからコードをクリアにしようと務めること"
    • コードにしたことと、しなかったことがプログラミング
    • どういう世界観をコードを通じて伝えれば伝わるかを考えて、プログラマはコードを書く

自然のソフトウェア

  • 人工のソフトウェア
    • ビジネス上の要請に基づいて作られる、仕事のソフトウェア
  • 自然なソフトウェア
    • Free / Open Source Software
    • Bazzar style
    • 使われるソフトウェア

開発プロセス

  • 人が作るので、そこにプロセスは何ら頭の形で存在する
  • アレグザンダーのパターンによる建築プロセスの特性
    • 少しずつ成長させる
    • 人間の完成に深く基づく
    • 繰り返し実施される

アジャイル開発

  • you can't do agile.
    • アジャイルは名詞ではなく形容詞。アジャイルをやることはできないが、身軽に、活発にいきいきと動くってこと
  • どれだけアジャイルにできているか、度合いを形容するもの。プロセスがどれだけいきいきとしているかを示す度合い
  • 現場は全部異なるので、全部に当てはまるものはない。その場状況に当てはまるものを作り上げていくしかない
  • スクラムの概要
    • 軽量
    • 理解が用意   * 習得は非常に困難
  • 3回おこればパターン、名前をつけると流通する、流通すると他の人が使うようになる
  • 名前の後ろに、問題が起こっているコンテキストとか、解決方法とか制約があって、それらが全く同じという現場はない
  • 朝会で「今日やること」を聞くのと「今日ぶちかますこと」を聞くのの違い

アジャイルマニフェスト

  • 噛み締めて呼んでください
  • 自分だったらどうするか、という視点で噛み締めるように

次の10年に向けて

  • アジャイル開発はもう皆知ってるし、一つのゴールにはきた
  • 自然なソフトウェアに近いものを、どう人工的なソフトウェアの環境で作っていくか
  • Social Coding で他の人と関わるとか
  • やれることを一生懸命やる
    • やれることだけやっているとなかなか先に行けないけど
  • アジャイルは素晴らしい考え方だけど、その考え方に対して問を発していく
    • 答えは自分で探す