GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Mark Levison , 翻訳者 近藤 寛喜 - (株)チェンジビジョン 投稿日 2009年11月12日
アジャイルコーチやコンサルタントは、クライアントにアーンド・バリューや作業時間、コード行数、テストによるコードカバレッジがアジャイルプロジェクトにはあまり適さないとよく警告する。しかし、それではアジャイルにあうよいメトリクスとは何だろうか、という質問がクライアントに残る。どのように良いメトリクスと悪いメトリクスを見分けるとよいだろうか。よいメトリクスには悪いコンテキストがあるのだろうか?
XPやScrumのチームにとって伝統的なメトリクスには、もちろんベロシティや直近のイテレーションでどれだけの仕事が完了できたか、がある。そもそもこれらのメトリクスが作られたのは、チームが次のイテレーションでどれだけの仕事をこなすのか、決めるのを助けるためである。しかしながら、よくある質問に、チームの生産性を測るためにベロシティを使えるのではないか?というものがある。二つのチームを比較するためだろうか?Hiren Doshi氏は、ベロシティのメトリクスは「チームに」とても特化したメトリクスであることを指摘した。加えてアジャイルコンサルタントであるPeter Stevens氏は測定をゲームに使う理由があるか、と尋ねた。「このストーリーは2ポイントですか?3ポイントですか?それはチームの判断によります。チームがもし可能な限り多くのストーリーポイントを提供したいと感じているとき、はっきりと3とするか、5とするかもしれません。」
アジャイルとリーンのコーチであるDave Nicolette氏は、貧弱にデザインされたメトリクスは、貧弱な成果物をもたらすと警告する。例えばバグ修正や火消しに報酬を与えると–人々はバグを書き、火をつけはじめる。
適切でアジャイルな計測として、アジャイルコーチのDeborah Hartmann Preuss氏とアジャイルマネジメントコンサルタントのRobin Dymond氏はよいアジャイルな計測の経験則を提示した。
アジャイルなよい計測とはなんだろうか。
Ron Jeffries氏はテストフィーチャーを実行することを提案している。:
- デザインされたソフトウェアは、デザインされたシステムの一部分として提供するため、名付けられたフィーチャー(要求、ストーリー)に分割されます。
- どの名付けられたフィーチャーも一つ以上の自動化された受け入れテストがあり、チームが仕事をする度、フィーチャーに問題がないか実行されるのを示します。
- テストフィーチャーによるメトリクスは、どのプロジェクトでもどれだけのフィーチャーが全ての受け入れテストに合格しているかを示します。
スクラムコーチであるPeter Hundermark氏は、自動テストの実行を一つの計測方法であると示唆した。:
制限の中で、チームがより多くの(言い換えれば 成功する)自動テストを実行することは適切で肯定的な
品質の計測が行えます。一定の水準を越えるまで、そのポイントには到達していないとして
中断できるでしょう。(私たちもそう望んでいます!)
...
ついでに、これはsalesforce.comがアジャイルへ一気に
移行するときの主要なメトリクスでした。
加えて彼は進行中(WIP)を提案した。
進行中のストーリーの数は、生産性のメトリクスです。チームが協調的に作業できているか、
そうではないか追跡することで助けようとします。アジャイルチームにおける考えとして、
チームを全体のためのもので可能な限り協調して一つの作業項目を‘完了’します。これは
生産率や品質と横断的な学習を促します。スプリントの終わりにおける結果的にムダとなる未完了の項目のリスクを減少します。
シンプルに毎日を追跡すること、どれだけ多くの進行中があるかを見える化することは
彼らをより協調的にします。この図は何日もの間、進行中のストーリーを追跡したものです。
スプリントの境界ははっきりわかりません。時間が経つに連れ、1の方に近づくべきです。2以上の値は
どれもスクラムマスターの行動が原因です。
最後にDeborah氏とRobin氏はメトリクスをデザインする時には使うときの事だけを考えるのではなく、いつ止めるのか、またどうやったらゲームにできるのかを思い出させた。
InfoQの過去の記事には、"アジャイルワールドのメトリクスとアジャイルEVM"があります。
世界の先進エンジニアが集結 - QCon TOKYO 2012 早期割引実施中!
【豆蔵】大好評のため、Jenkins講座を追加開催致します!Jenkins作者の川口氏が講師です。
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信