構成管理の基本と自動化について、 アガテナの縣さんの発表です。
うまくいってないプロジェクトでは以下の2点がおざなりにされている
- バージョン管理
- ビルド
- リリース
これらのやり方を統一して、自動化し、誰でもできるようにしておくことでトラブルも減り、開発効率を高めることができる。
で、Subversionの実際のノウハウ話があったのですが資料を後日アップするとあったので何もメモを取ってませんでした。資料のアップ 心待ちにしています。
構成管理の基本と自動化について、 アガテナの縣さんの発表です。
うまくいってないプロジェクトでは以下の2点がおざなりにされている
これらのやり方を統一して、自動化し、誰でもできるようにしておくことでトラブルも減り、開発効率を高めることができる。
で、Subversionの実際のノウハウ話があったのですが資料を後日アップするとあったので何もメモを取ってませんでした。資料のアップ 心待ちにしています。
有償のソフトウェア構成管理ツール Perforceについて。
PerforceはGoogle社内で使われていることで有名。主なクライアントは
特にゲーム業界に強いようで、大手20社中18社がPerforceを使用している。
Perforceが選ばれているポイントは
が挙げられていた。
しかしSubversionやMercurialといったオープンソースの構成管理ツールと比較してどれぐらいよいのかは不明。
“Perforceはこれぐらいスケールしますよ”という事例としてゲームメーカーのUbisoftが挙げられていた。
興味は依然あるけどPerforceじゃないと困るほどの理由は今回聞けませんでした、残念。
○オープンソースの現在と未来
Railsの勉強会はあっても、Rubyの勉強会って意外と少ないかも→ Rubyビジネス・コモンズへどうぞ~
RubyとRailsの開発が噛み合ってないかも。Ruby新バージョンのプレビュー版を出してもRailsから問い合わせがくるのは正式リリースのあと、今後何とかしていきたい。
バズワード30冊説: その用語を扱った本が30冊出ると業務用途にも使えるようになる。Rubyは海外だと今年あたり30冊を超えそう、国内はまだまだ。まだ延びる余地があるのか、業務には浸透していかないのかは不明。
Rubyの開発にBTSを設けたい。でもまつもとゆきひろさんは使ってくれないかも(?)。とりあえずTracを設置してみようという話が出ている。結局のところタスク管理をする選任の人が必要。
○ソフトウェア品質知識武井ガイド (SQuBOK)の読み方
SQuBOK(スクボック): Guide to the Software Quality Body of Knowledge の略。
ソフトウェア品質に関する情報(本・論文など)をまとめた辞書のようなもの。
posted with amazlet on 08.02.13
SQuBOK策定部会
オーム社 (2007/12)
売り上げランキング: 3135
個人的な印象としては”辞書”なので、実践に移せないとただの理想論になってしまいそう。本の中身を見てみないとわからないけど、SQuBOKに即して開発をするのは大変そうだ。
○反復開発とテスト
関さんがアジャイルをはじめたのは 計画ゲームに共感したから。変化に強いソフトウェアを作るには結局変化に耐える風土を作る必要がある。
反復開発を行うと顧客側が実際に触って確かめることが早くからでき、製品を磨くことができる。
イテレーションで開発を行うと、プログラムの各バージョンが成果物としてでてくるが、チームも成果物として考えてもいいのでは。
人が心配できる心配事の要領には限りがある。余裕がないと問題を発見できない。
アジャイル開発を続ける理由は2つ。
富士通の島田さんによるパッケージソフトウェア開発におけるアジャイル開発の取り組みについて紹介がありました。ここで開発しているパッケージは大学・教育向け統合業務パッケージ(たぶん Campusmate)とのことです。各バージョンのパッケージ開発は半年から2年、Javaを使っていて新パッケージ開発に取り組むときはほぼ全面作り直しているそうです。
チームは18名から24名、サブチームが3つで平均年齢は27.8歳。富士通という会社を思うとかなり若いのではないかと思います。開発チーム以外に顧客プロキシチームがいて、社内他部署・営業・顧客からの声を吸い上げてまとめ、パッケージの仕様を決定する権限があるチームがあるそうです。
アジャイルの取り組みは社内で 平鍋さんの講演を聞いてから、これならできるかもと思ったのがきっかけ。アジャイルに取り組む理由としては主に4つ。
開発の基本単位となるイテレーションは2週間単位。
という基準がある模様。ただし開発の段階でイテレーション内で注力する内容はばらつきがあるらしい(序盤は設計、後半はテスト中心とか)。
タスクは1タスクを1人日程度に分割している。Excelで管理していて自動でタスクカードを印刷するような工夫も取り入れている。イテレーション中のタスク入れ替えは原則として行わない。タスクはソフトウェア看板を使って見える化を実践。完了前には必ずレビューが入るようにしている。
朝会は毎日行う。司会者は持ち回りで3分間スピーチもあり。昨日やったことや今日やることを各自が報告する(Martin Fowler’s Bliki in Japanese – 朝会のパターン:立ってるだけじゃないよ)。
面白い取り組みとして “ちょっと気になること” がある。文字通り気になったことをホワイトボードに付箋で貼り付けるようにしている。内容は毎日の朝会で確認する。これにより仕様上の矛盾や障害の予兆を早めに気づくことができる。
見える化は大事、でも見えてるだけにならないようにしないといけない。例えばタスクの完了を バーンダウン・チャートで見ているが、アジャイル開発に取り組み始めたばかりは目標の未達成が数イテレーション続いた。これはバーンダウン・チャートを使っていてもタスクが未達成になりそうな進捗が見ていただけで、実際の対策を何も行わなかっただけ。見える化とはいっても、基本はPDCAなので対策が重要。Checkに入るタイミングをアジャイルで支援しているイメージ。
最後に富士通が考えるアジャイル開発のポイントをおさらい。
Joelさんを考慮に入れなければ、文句なしベストスピーカー賞だと思います。勉強になることが多かった発表でした。
CodeZine:Developers Summit 2008 – デブサミ2008でJoel Spolskyさんが行った講演のメモです。内容は”Great Software”をいかにして作るか、Joelが考える法則についてです。
最初に人物や製品の比較をするJoel。世の中には多数の人・製品があるけど一位と二位以下では大きな差がある。
David Beckam >Landon Donovan
iPod > Zune
ハーマンミラーの椅子 > ハーマンミラーのデザインを模した椅子
優れた一位の製品(Blue Chip)と二位以下の製品(Offbrand)を分けるものは何か、Joelが考える法則は以下の3点からなる。
1.人を幸せにする
ペットの写真をブログにアップロードするにも
Windowsを起動して
→起動したらパッチを当てろという
→Windowsが再起動を促す
→再起動したらようやくデジカメをつなげた
→今度はドライバのインストールが必要だって?
・・・
といった具合で、たかだか写真をアップロードするだけで管理者の作業をしなくてはいけない。しかもユーザに支配権が無い。ユーザに支配権を与えないと失敗したときに学習性無力感を与え、ユーザのやる気をそいでしまう。
この悪循環を抜けるためにはユーザに主導権を与えればよいとJoelはいう。例としてあげていたのはショッピングサイトの購入手順。多くのサイトでは注文個数の確認、届け先、支払方法を順に入力させるがAmazonは1つの画面にまとめ、ユーザが好きな順序で操作できるようにしている。 他にAjaxなどを用いて操作に対するフィードバックを瞬間的(1秒ではなく0秒で!)に与えることも有効である。
![]()
2.感情を考慮する
理屈・理論ではなくて人の心理を考えることも時には大事。
例としてあげていたのはSUV車の販売方法について。SUVは車高が高く、他の車と比較して不安定である。そんなSUVを安全な車として販売するにはどうしたらよいか? 答えは車高を高くすること。理論では車高が高いと不安定になるが、人の深層心理は高いところにいると安心を感じるようになっている。他にもやわらかみがあると安心するとか、温かみがあると安心するとか、カップホルダーがあると安心するとか・・・
WindowsのUIが2000からXPに変わったときに丸みを帯びたデザインになったけど、これもユーザの深層心理に安全性をアピールしているのかもね。
3.美学にこだわる
Joelは携帯電話にサムスンのBlackJackを使っているけど、去年話題になったのはやっぱりiPhone。機能的な優劣は置いておいて、一番の違いは電池の交換方法。iPhoneは継ぎ目の無い美しいデザインを実現するために電池も交換できない製品にした。
モダンアーキテクチャ(現代の建築の流行?)では無駄なものは排除したほうがいいということで四角い形をした建物が多数建てられている。でもソフトウェアの世界では無駄を排除したUNIXのシェルのようなUIよりもMac OS Xのような見た目が派手なものが好まれている。ソフトウェアの世界はまだ無駄を含むものが好まれているようだ。
最後にこれだけは覚えて帰って欲しいと“Misattribution”という単語を紹介。原因は違ったところにあるんだけど効果を与えているという意味の言葉。例えばプレゼンの見た目が悪いと内容とは違ったところでケチがつくことはよくあること とか。
Joelさんの講演は終始笑いが絶えず、好評のうちに終了しました。ここまで書いて気がついたのですがIT Proにも記事があがっていますね。こっちのほうが講演の内容が細かく書いてあったかも・・・あわせて読むと講演を聞けなかった方も内容がよくわかるのではないかと思います。
P.S.
会場でBEST SOFTWARE WRITINGが先行発売されていて、購入者にサインサービスがありました。自分も購入 & サインしてもらいました。
昨年末に CodeZine:Developers Summit 2008 – デブサミ2008に申し込んでいたのですが、タイムテーブル上まだ内容が未定のものが多かったので今日登録の見直しを行い、最終的に参加するセッションを選び終わりました。
Joel氏の講演は昨年末から抑えていましたが今見たらやっぱり満員になってました。早めに予約しておいてよかったです。本当は【14-A-7】ネット・コミュニケーション2.0も申し込んでて見たかったんだけどこの日は夜に別の予定が入ったためキャンセルしました。また次の機会ということで。
講演のタイトルだけ見ていると楽しい2日間になりそうです。