■1 TDDミーティング@代官山 Rubyの本読書会が人大杉で参加しづらかったのでムシャクシャして開催した。参加者: id:secondlife、id:naoya、id:nagayama、そしてid:t-wada。面白すぎた。ありがとうございました。セカちゃんは正に「テスト厨」という言葉が似つかわしい状態になっていて面白かった。Test::Baseも使うだけの迎撃体制を自分のなかでいかに構築するか。IO.tty?を思いつかないような私ですから。 はてなのオフィスも見学させてもらった。わーい。はてな入った!! IT業界ならぬSI業界でも、いわゆるオフィス什器な事務机をプログラマは使うべきじゃないよねえ、と改めて感じた。 メモ: Cをリニアな発展させた言語としてのPerl。(そして、「バベル-17」としてのRuby) Perlの天と地と。ところで向井さんが「Haskellはヘプタポッド言語であ
Joel Spolsky / 青木靖 訳 2006年11月15日 水曜 契約を取るためプログラマに2時間の緊急の割り込み作業をさせることで、プログラマの時間を2週間無駄にすることになりうるという仮想的なストーリーをDmitri Zimineが書いている。「サラが古いプロジェクトについて考えるのに2時間使っただけで、彼女は新しいプロジェクトの生産的な作業を1日分失うのだ」と彼は言っている。 コンテキストスイッチングは有害だというのは同意見だ。まったくその通り。 Dmitriは開発マネージャはこうすべきだと指摘している。「開発者には元々のプランの通りにさせる。頭のコンテキスト切り替えから彼女を守るように提言する。重要で興味深いプロジェクトにひたむきに取り組むのがどんなにクールか彼女に思い出させる。周りの圧力は自分が受け止めることを請け合う」 これもまた私の同意するところだ。マネージャにはプログ
Part7では,数あるアジャイル型プロセスの中でも,最も取り決めが緩い「クリスタル・ファミリー」について紹介する。最大の特徴は,プロジェクトを実施する過程で,開発プロセスの内容そのものをチューニングしていくことにある。 本講座ではこれまで,開発者個人の生産性向上に焦点を当てた「プロダクト重視型」プロセスとしてXP(eXtreme Programming)を,チームの生産性向上に焦点を当てた「マネジメント重視型」プロセスとしてスクラムを取り上げ,各々の基礎と,実践の勘所を解説してきた。Part7ではプロダクト重視型とマネジメント重視型の中間に位置するプロセス,いわば「中庸型」のプロセスとして,「クリスタル・ファミリー」を取り上げる。 一般にアジャイル型プロセスは,メンバー個人の自主性を尊重する傾向が強く,ウォーターフォールやRUP(Rational Unified Process)といった“
Database Refactoring: Fix Production Data Quality Problems at the Source A database refactoring is a simple change to a database schema that improves its design while retaining both its behavioural and informational semantics in a practical manner. Database refactoring enables you to safely improve the quality of your database schema, including in production database schemas. This article describ
スクラムはラグビーにおいて最も危険な段階であり、それというのも、潰れたり不適切なかみ合い方をすると、前列のプレーヤーが怪我をしたり、首の骨を折る危険すらあるからだ。—Wikipedia 私が子供の頃には、コレステロールは体に悪いものだった。これは覚えやすかった。脂肪は悪い。コレステロールは悪い。塩分は悪い。みんな悪い。しかし近頃では、コレステロールが「いい」コレステロールと「悪い」コレステロールに分かれている。私たちがこの2つをどうにかして見分けられるとでもいうように。そしてその切り替わりは奇妙なものだった。FDAが突然プレスリリースを発表して、殺鼠剤には2種類、いい殺鼠剤と悪い殺鼠剤があり、いい方はたくさん摂って悪い方は摂ってはならず、そして決して2つを混ぜたりしてはいけないのだと言ったかのようだった。 一年くらい前まで、私はいわゆる「アジャイル」プログラミングに対して、ごく一次元的な見
「アジャイルなソフトウェア・プロセス」という考え方がもたらされて早くも数年がたった。根強い反感や偏見はあるものの、アジャイルなソフトウェア・プロセスはさまざまな場所で使われ、確かめられ、拡張され続けている。それらの拡張の中にはささやかではあるけれど現場レベルで非常に有用なものもあるし、もっと大きなフレームワークとして考えるべきものもある。その中から今回は下記の本と資料を基にセル生産方式+アジャイルという枠組みを考えてみよう。 「ソフトウェア・セル生産方式の概要[PDF]」(松本吉弘氏のサイトへ) 「セル生産システム」(岩室 宏=著/日刊工業新聞社/2002年) セル生産方式とは比較的最近になって(といっても十数年前から)注目を集めているモノの作り方である。(2)によれば「1人ないし数人の作業者が1つの製品を作り上げる自己完結性の高い生産方式」と定義されている。従来の長いコンベアによる生産と
http://martinfowler.com/bliki/AgileImposition.html 2006/10/2 (更新:XPメーリングリストで有益な議論があった。特にKentの返信は読んでおくべきだろう。議論を有益な方向に導いてくれた。) アジャイルアライアンスのボードメンバによると、アジャイル方法論は「キャズムを超えた」そうだ。 つまり、より多くの人に知れ渡ったということだろう。 これはアジャイルの利点だが、同時に問題も起きている。 方法論や設計手法が単なる流行になってしまったために、流行にのみ注目して、使用したり、教えたりする人が多い。 また、アジャイル設立者の原則とは正反対のことをして、アジャイルの名を汚しているという報告もある。 Webを巡回していると、ある開発チームが上層部からアジャイル方法論を押しつけられているというコメントを見つけた。 チームにプロセスを押しつけると
テストファーストは、XP(エクストリームプログラミング)の中でも特に広く浸透したプラクティスの1つである。 テストファーストは、モノを作るよりも前に、まずテストから着手する、という手法だ。モノが無ければテストできないという常識を、根本からひっくり返す斬新なアイディアは、多くのソフトウェア開発者に衝撃を与えた。 テストファーストは、短期開発におけるXPの有効性が認められ、JUnitなどのテストツールが普及した今では、広く受け入れられるようになった。 だが、このようなまったく新しい手法は、初めはなかなか受け入れられ難いが、いったん受け入れられると、今度は逆に、魔法の技術であるかのように盲信されやすい。テストファーストについても、最近では「JUnitでテストコードを書いていれば、ソフトウェアの品質は問題ない」という風潮が広まりつつあるような危惧も感じる。 テストファーストの効果は、多くの人が認め
「自分を変えられるのは自分しかいない」。2006年9月5日,ソフトウエア開発プロセスの一つ,eXtreme Programming(XP)を提唱しているKent Beck氏を囲んで記者懇談会が開催された。自分が変われば,必ずまわりは変わる。そんな信念が感じられた懇談会だった。 Beck氏の著書である「XPエクストリーム・プログラミング入門 第2版」は「XP is about social change.」という文章で始まっている。日本語版では「XPとは社会改革のことである」と訳されているが,ソーシャルのニュアンスが少し違うという意見もある。そこでまず「XPでいうソーシャルとはどういう意味か」と質問した。 Beck氏はソーシャルの例として「14歳になる私の娘は,ある友人と1時間くらい話をし,別の友人と同じ話をまた1時間くらいする。彼女はソーシャルな子供だ」と語った。つまり「社交的」「コミュニ
アジャイル開発=あいまいで変化しやすいシステム要求を、 素早く(俊敏に)捕えて、それに対応することを目的とした開発手法 「価値」… その開発プロセスが何を重要視しているのかを示す ●ソフトウェア開発に対する4つの価値観→変化への適応を重視 1. プロセスやツールよりもお互いよく話しあう 2. よくまとめられたドキュメントの山よりも動くソフトウェアを 3. 顧客と契約を交渉するよりも、顧客と協調して作業 4. 計画に従うよりも、変化に対応 「プラクティス」 …「原則」を具体化した実例で、アジャイル開発の実践的なテクニックを示す 「原則」… 価値を実現するための思考や行動の規範を示す ●ソフトウェア開発に対する12の原則 1. ソフトウェアをできるだけ早い段階から継続的に引き渡す 2. 要件の変更は開発後期でも柔軟に対応す
ソフトウエア開発の世界でアジャイル手法が注目されている。「アジャイル」というのは「俊敏な、素早い」という意味の英単語(agile)で、「アジャイル開発」とは、 ユーザーからの要望にもとづいて素早く『動くソフトウエア』を組み立て、それを用いて要望をより具体化しつつソフトウエアに反映させる といった開発スタイルを意味する。 筆者自身もアジャイル開発には共感を覚える。ユーザーが事前に表明できるシステム要件は非常に限られたもので、それに頼って仕様を固めることには無理がある。どうしても、ユーザー要件を漸進的に具体化するための「動くソフトウエア」のような仕掛けが要る。 とはいうものの、その適用に関しては疑問もある。アジャイル開発では、小さなモジュール毎の「設計・構築・テスト・評価」の繰り返し(イテレーション)で作業が進むが、そもそもその「小さなモジュール」を切り出す根拠がよくわからない。この問題はシス
"Integrate early, integrate often." This is the underlying principle of continuous integration, a powerful development practice recently brought into the spotlight by the Agile methodologies. Apache Continuum is a flexible, easy-to-use tool that can help you put continuous integration into action. In this article, we will go through the basic principals of continuous integration, and then focus o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く