メイン

雑記(ブログ)

@IT(www.atmarkit.co.jp)で解説記事の連載をはじめた

最終更新: 2009年05月19日 18:29

こちら そこそこページビューを稼いでいるようだ。レビューへの関心の高さを示しているのかも。

ThinkITでインスペクション特集をやっています

最終更新: 2009年03月07日 01:57

普段あまり共有されていないソフトウェアレビューやインスペクションの事例。
各社のいろんな事例がみれておもしろい。

私のもある。今週は以下のとおり。これから3月いっぱい続く。


環境配慮型ソフトウェア

最終更新: 2008年07月13日 16:17

環境に配慮しながら開発したソフトウェアはそうでないソフトウェアと比較して、評価されるべきではないかと思う。

環境に配慮したソフトウェアというのはどういうものかをブレークダウンする必要があると思い、スライドにしてみた。

詳細はこちら


要求、設計メトリクス

最終更新: 2008年03月12日 01:17

要求仕様や設計書作成のメトリクスとしては、要求仕様や設計書のページ数とレビューの指摘密度やチェックリスト密度が代表的なようでこれらをみることは多い。

UMLなどの形式的手法に沿って作られていれば、ユースケースポイントやクラス図から定義済みクラス数や定義済みメソッド数を取得することができる。シーケンスダイアグラムやアクティビティダイアグラムからも同様のメトリクスを取得することができる。EPM Pro*での「コーディングからテストへの移行直前にソースコードの行数が増減していれば、そこにリスクの可能性がある」というような観察と同様に、設計がほぼ終了しつつあるときに定義済みクラスの増減があれば、リスクの観察ができるだろう。

要求定義や設計フェーズに計測したほうがよいものがあるかと質問されることがあるが、まずは計測の目的を伺ったり、計測の結果得ようとしていることを聞くようにしている。目的はいくつかのパターンに分類できるが、プロセス変更の結果を定量的に示したかったり、リスク予測をしたかったり、問題点の発見をしたいというのが代表的だ。

追加のメトリクスとして収集したものがよいものはあるか?と聞かれることがあるが、以下の4つ候補として答えることにしている。自動計測が難しいので、もちろん目的が合致していて、コストがみあっていることが前提なのだが。

  • 「T.B.D(to be determined: 後で決める)」の数
    顧客や他の設計部門の決定を待ってから決める部分や現時点では明確でない部分が多く決められていないである。ある程度はしかたがないことではあるが、これが多すぎると何も決まらないままプロジェクトが進んでいるリスクがある。
  • 異常系定義の厳密さや存在有無
    一般に、正常系の定義や設計が終了してから異常系処理の定義や設計がはじまるので、異常系処理の厳密さや存在有無は要求や設計の進行度合いをはかる目安となる。
  • 変更による手戻りの度合いや工数
    変更によって発生した手戻りの累積。たとえば手戻りの工数がとれて いれば本来計画していた工数に追加の工数がどの程度必要となるかを類推できる場合がある。
  • レビューでの指摘の種類と指摘数
    ここにも書いたことがあるが、要求仕様のレビューや設計レビューでの指摘事項の記録は参考になるものが多い。

無印良品のバインダとフランクリンのリフィル

最終更新: 2008年01月06日 00:50

今年もフランクリンコヴィーの手帳にすることに。去年までは1日見開き2ページだったが、今年は軽量化を目指し1日1ページに。4000円した。。

左側の写真が1日1ページ版。1日2ページ版と比較すると


  • ○ページ数が少なくなる

  • ○2日を同時に見ることができる

  • ×todoが少ない

  • ×スケジュールの開始時刻が遅くと終了時刻が早い

  • ×ことわざとかがない

  • ×残り…日の表示がない


という感じで個人的には結構×が多いのだが、ページ数が少なくなるのがやはり魅力的に思えた。今年1年でどっちがいいか結論が出るだろう。

右側の写真が無印良品のバインダ。安いけどしっかりしているし、フランクリンのコンパクトサイズにぴったり合う。インデックスが若干はみ出てしまうのだが。。

バインダは相変わらず無印良品のバインダで1000円くらいのヤツ。軽いながらもすっぽりはまるので気に入っている。手帳は通勤電車の中で仕事が始まる前と終わった後に必ずみているので、左手で持てて、右手でペンが持てるのが要件。軽いほうがありがたいのでこれがうれしい。
高いとなぜか重くなるように思うが、そんなもんだろうか。

1dayPerPage.JPGbinder.JPG


「ソフトウェアエンジニアリングの実践」という本にインタビュー記事が掲載された

最終更新: 2008年01月05日 01:17

おととい、本屋で発見した。IPAから出ているこの本のpp. 176-180。自分の写真が出ていたので、急に立ち読みしていることが恥ずかしくなってしまった。

営業的な話

最終更新: 2007年12月16日 02:26

民間企業に勤めていたときに、先輩から「B2Bは特にだけど、きらいなヤツからはどんなにいいものでも買わないのが顧客が多い。そういう意味では好かれる人をみつけるためにいろんな客にあたるというのも1つの手だ」という話を聞いたのを久々に思い出した。

ブルックスの法則

最終更新: 2007年12月02日 22:35

「遅れているソフトウェア開発プロジェクトに開発メンバを追加すると、開発スケジュールがさらに遅れる。」というのが最も有名な法則であり、「The Mythical Man-Month」という本に記述されている。それほど簡単には説明できないだろうが、大まかな説明はこうだ。n人のプログラマで作業を分割すると作業消化についてO(n)の効果が出るが、コミュニケーションパスはn X (n-1)/2 となりO(n²)の複雑さと脆弱性が増え、結果としてメンバ追加によるプラスの効果を得ることができない、というものだ。O(n)は計算量のオーダで使われるているものであり、nの入力に対し、結果がどのくらいの割合で増えていくかを示している。たとえば、O(n)はnに比例して大きくなることを示し、O(n²)はnの2乗に比例して大きくなることを示す。

コミュニケーションパスがn X (n -1) / 2のペースで増えるかどうかという点については議論の余地があるが、メンバ追加時の経験を思い出すと、なんとなく「引継ぎ、(更新されていない)ドキュメントの説明、状況の説明」というコミュニケーションオーバヘッドが思い当たるのではないだろうか。有名な法則ではあるが、これ自身が意識されていなかったり、管理者層への説明の簡便さから「プロジェクトが遅れはじめているから人員増強だ」というのはよくある話だろう。

プロセス定義やドキュメントの整備が当時よりも進んでいると思われる現在においても、このは成り立つのだろうか。エンピリカルソフトウェア工学の研究者として実際に計測することは興味深いことの1つである。もともと1970年代に言われたことである。遅れていないプロジェクトについてはどうか、作業別に人員追加をやってみるとどうか、というあたりがわかれば、計画時に役立つのではないだろうか。

言葉としてわかることと経験として理解できること

最終更新: 2007年10月14日 09:34

字面としてわかることと経験として理解できることにギャップがある事柄がある。たとえば数式による定義は比較的字面としてわかるほうに分類されるだろう。また、自動車の運転のしかたを字面で理解したからといってすぐに車が運転できるわけではないだろう。前者はギャップがない例、後者はギャップがある例としてあげている。特にいろいろと経験を積み上げている方に対して、後者を前者と同様に考えることは大変失礼な行為と考える。そういう失礼のないよう心がけていきたいと思う。

意思決定の透明性

最終更新: 2007年09月28日 01:39

IESEのメンバとも話になったが、ソフトウェア開発での意思決定の透明性は重要であり、エンピリカルな手法が意思決定の透明性をあげることに寄与すると考えている。

たとえば、人による見積り値を出した後に見積りモデルでの妥当性確認をしたり(NEEDLE)、類似バグの確認を「うーん」と考えるだけでなく、クローン分析によって対象ソースコードを検索する、というのは「おそらく類似バグはないだろう」という意思決定の透明性をあげているように思う。「いろいろ思い出してみた」というよりは透明性があがっているのではないだろうか。

ここしばらくの私のテーマは透明性をあげる、という方向で考えていきたいと思った。

携帯の時差

最終更新: 2007年09月04日 01:35

海外に行っていたため、携帯電話の時計を現地時間にセットしておいた。普段は携帯を目覚まし代わりにつかっているので、日本時間に戻すのを忘れていたため、起きれなかった。タクシーと余分なチケット代という対価におわる..授業料か..

予測モデルの見積り精度と熟練PMの見積り精度

最終更新: 2007年08月23日 00:18

熟練PMが見積っても見積り精度が低いプロジェクト(見積りが難しいプロジェクト)は、予測モデルを使っても見積り精度が低いプロジェクトか調べたくなった。PMがコミットした見積りが精度が最も高くなるという現実があったり、見積りモデルの予測精度が低い場合でも、予測モデルの見積り結果をうまく利用できるように思う。

website optimizer

最終更新: 2007年08月21日 01:07

大胆な名前だ。

http://services.google.com/websiteoptimizer/

ミッションステートメント

最終更新: 2007年08月12日 11:37

夏休みまっただなかだが、仕事面のミッションステートメントを書いて記録することにした。

ソフトウェア開発に関しては、自身の経験をもとに、社会に還元できるようなものを追及することを最重要視したい。あとは、過度に成果中心型にならないこと(企業でいえば適正利潤か)、問題をきちんと理解することだろうか。研究のブルーオーシャンを追求することはすなわち社会への還元になると考えているのでブルーオーシャン分野での提案もミッションステートメントの中に含めるべきではないかとも思う。

blue ocean

最終更新: 2007年08月08日 00:35

某氏と研究テーマのblue oceanについて話をした。すごいすごいと聞いていたが、やはり楽しかった。
かなり意見があっていて、びっくりした。考えてる人は考えているもんだ。
個人的にはred oceanでのテーマとblue oceanでのテーマのバランスは必要だと思う。

ソフトウェアテストシンポジウム関西2007

最終更新: 2007年07月26日 08:34

コミュニティセッションでコミュニティ紹介とパネルセッションでパネリストとして登壇した。
面と向かってネガティブな話はしないだろうが、よかったという声が聞けてうれしかった。
パネルできちんと話せてるのかなぁと思っているときに、何度もうなずいてくださる方が何人かいらっしゃって勇気づけられた。もう少し準備に時間をとれたらいろいろとおもしろい話ができたんだろうなぁと思う。

EASE研究会

最終更新: 2007年07月10日 09:18

発表2つだったので、準備がたいへんだった。発表後の質問をいろいろともらった。実用に近いネタということもあり、興味をもらえたように思う。今回は今までで参加が最も多かったのではないかと思う。20脚ほど椅子を追加したそうだ。

コードクローンに関する試行

最終更新: 2007年07月03日 08:14

コードクローン分析によって類似バグを発見するという試みをある企業と共同で進めている。比較的よい結果が出てきているようだ。これを使って来週のエンピリカルソフトウェア工学研究会で発表する予定。少し楽しみになってきた。

magi/NEEDLE説明会

最終更新: 2007年07月01日 00:16

magi/NEEDLEの説明会を大阪千里中央にあるエンピリカルソフトウェア工学ラボで実施した.NEEDLE担当で話をした.

ソフトウェアシンポジウム2007で発表

最終更新: 2007年07月01日 00:18

ソフトウェアシンポジウム2007に参加し,ワークショップ内で招待発表という位置づけでNEEDLEの話をした.時間の都合で全部は参加できなかったがいろいろと有益な話を聞くことができ,いくつかお役に立てるかもしれない話をできたように思う.たとえば,開発で保守や機能拡張を続けていくと一般にはソースコードは複雑になる.いつかは再設計をしなければならないが,そのコストをあらかじめ積んでおかなければ再設計のタイミングは後ろへ後ろへとずらされていく.そこで,減価償却のように新規に作成した時点で再設計までのカウントダウンをはじめ,その期間内でその部分を再設計できるようなコストを蓄積できるようにする,という話である.開発時に収集するメトリクス項目についても定期的に見直しが必要ではないかという話に発展した.

組込み総合技術展関西で講演した

最終更新: 2007年06月26日 19:28

満席で、キャンセル待ちができていた。
展示場(ブース)も借りていたのだが、こちらもかなりの方に足を運んでいただいた。
ありがたい話だと思う。

組込み総合技術展関西

最終更新: 2007年06月02日 10:41

6/6 10:30~12:00の枠をいただき講演することになった.予約は満席になった様子だけど,当日席が空いていれば入れるらしい.無料講演なので,当日空いているのではないかと思っている.
プログラム

referrer 2

最終更新: 2007年01月07日 07:05

最近なかなか書けていないここのアクセスログにまた新たな超大手企業が..Webのゲートウェイでreferrerを削除しているのではないかと思われるが、とある記事に対してのアクセスが突出して多い(同一の企業から80アクセス超)。

前にも似たようなブログを書いたが、そのときと同様に「こんなイモなことを言っている」ということで紹介されたのかもしれないが、もしかすると何かの役に立てているのではないかと思ったりもする。もしそうならば、ソフトウェア工学の研究者としては研究者冥利に尽きる。(again)

フランクリンプランナ

最終更新: 2006年12月31日 02:59

来年の手帳はフランクリンプランナに決定。
今年はそこそこ集中してがんばることができたので、来年は優先度をもっと意識したいと思う。
外部発表等の成果はまだ揃っていないが、エンピリカルソフトウェア工学をよりエンピリカルにできたと思う。

実証的研究

最終更新: 2006年12月16日 00:06

WIDE研究会に参加した。実証的な(リアルフィールドでの適用実験)研究紹介をみて、自分ももっと実証的にがんばらなければと思った。個人的には実証的な研究にはかがやきを感じる。

仕事で出会ったすごい人

最終更新: 2006年12月09日 20:39

ここ1年で一緒に仕事をした外部の方で2人すごい人がいる。
細かいお願いをしなくてもよい結果が得られる、40代というのが共通点のように思う。

内部の方は皆優秀なので、ここで1人ずつ言及するのはちょっとたいへんなので、また今度の機会にしたいと思う。

referrer

最終更新: 2007年01月07日 06:57

久々にgoogle analyticsをみてみた。同じブログの記事を複数のブログサービスに書いてヒット率をみてみたら、so-net blog > hatena > livedoorという順番だった。記事内容等諸条件があるので、必ずしもいつもあてはまるものではないと思うが、同じものを書いても読んでもらえるものが異なるんだなぁと思った。

ついでにここのアクセスログを少しみてみた。多くはコメントSPAMのPOST,検索エンジンやRSS読取りなどのcrawlerだった。grep -vとかしながら、それらを除くとソフトウェア開発を生業とする企業からのアクセスが多い。大学関係はあまりない..気を取り直して、企業からのアクセスがあることはうれしいことだなぁとみていると、とあるソフトウェア開発事業を持つ国内大手企業(3社程度)からのアクセスが突出して多い。ありがたい話だがなんだろうかと見てみると、referrerに社内ポータルらしきものがあった。思い切って全てをよい方向に判断すると、ソフトウェア工学の研究者として、ソフトウェア開発のお役に立てているかもしれない、と思うと、研究者冥利に尽きる。
// 「こんなイモな話をしている。」という例としてリンクを張られているだけだったらもっとがんばらねば..

説明会

最終更新: 2006年11月22日 00:01

NEEDLE説明会に多くの会社さんが来てくださった。
早いところからはいくつかフィードバックをいただいている。感謝すべきことだと思う。

携帯サイトのテスト

最終更新: 2006年11月05日 20:06

こっちにも書いたけど,たいへんそうだ..
PCのブラウザむけASP開発のときとかも、かなりIEに歩み寄るようなコードをたくさん書いてたなぁ。
結構標準にしたがってなかったりするんだよなぁ。携帯は機種数=ブラウザ数になるんだろうから、もっとひどいんだろうけど。

NEEDLE発表

最終更新: 2006年10月26日 19:59

10/16に研究会があった。写真をとってもらった。共同開発のユニシスさんにもお越しいただいた。
資料はここの「エンピリカルソフトウェア工学研究会」に置いている。

適用事例報告と同時に発表というパターンにこだわってみた。日立SASの十九川さんに感謝。

アンケート結果によるとこれが好評だったようで、役立つというコメントをいただいた。
このあたりは単なる演出なのかもしれないが、狙い通りという感じだ。

ちょっとカゼをひいてしまったようなのでこのあたりで..

ユーザグループ

最終更新: 2006年10月19日 23:26

ここで説明会案内を出している。
申し込みをいただいている。NEEDLEがうまく発展してくれるといいなぁと思う。
ここまで1年ちょっとかかったが、だんだんと共同研究もうまくいってきている。

携帯

最終更新: 2006年12月21日 07:23

vodafoneからソフトバンクにかわったせいか新機種がたくさん出ている。
携帯開発をされている会社と何度かミーティングをしたこともあり、開発はかなりたいへんなんだろうなぁ、という感じだ。規模的にはエンプラレベルになっている。

しかしながら、新機種が出ると、携帯むけサービスを提供しているサービス事業者のほうはラッシュということもあり、こっちはこっちでたいへんなんだろうなぁ、と思う。今度こういう端末出すからリリース前にそのサービスでテストしておいてぇ、という話にはなっていなさそうに思う。

ブログ

最終更新: 2006年10月08日 23:26

こっちのブログのアクセスログをみるとコンサルティング会社やシンクタンク会社からのアクセスがかなり多く、リピート率も高いようだ。彼らが気になるようなことを書いてるということかなぁ。2ヶ月ほど毎週書いているが、常連が増えてきつつあるようだ。

ユーザグループ

最終更新: 2006年10月07日 22:46

NEEDLEユーザグループというのを作ろうとしている。有名どころ3社ほどが参加表明してくれている。告知したり、会のやり方を決めたりするなど、本質的でないところに結構時間がかかる。

ON DUPLICATE KEY UPDATE (mysql)

最終更新: 2006年10月02日 01:37

知らなかった。MySQL用の既存のレコードがなかったら追加、というステートメントだ。
あらかじめPrimary KeyやIndex Keyを設定していおいて、それらが重複するエントリを新規追加しようとしたときは、エラーをださずにUpdateする、というステートメント。以下のように書くそうだ。

INSERT INTO hoge SET (foo=bar, ...) ON DUPLICATE KEY UPDATE foo=bar

比較的よくあることのような気がするのだが...標準化が意外なところで止まっているんだなぁと知る。

50万件のログでコンテンツ推薦をエンピリカルに検証する

最終更新: 2006年09月25日 22:38

empirical(実証的な)という英単語は日本ではそれほどなじみのない単語であるが、国際会議の発表では比較的よく目にする。よく使われるempirical evaluationは実フィールドもしくはそれに近い状態で評価/検証をすることである。

コンテンツ推薦手法を検討するために実運用が開始されているあるサイトのアクセスログ50万件を貸与いただける算段をした。付随情報を含めるとテキストデータで50MBくらいある。これから半年くらいかけてきっちりと検証をし、外部発表につなげる予定。結果は、研究プロトタイプではなく、実フィールドで体験できるようになる見込みだ。

ソフトウェア開発手法においても、empiricalな土壌を作りつつある。学位論文のテーマである協調フィルタリング/推薦についてもリアルフィールドでの検証を試みたいと思っている。

昔の取材記事

最終更新: 2006年09月18日 12:13

今頃みつけた.昔のは写真入りだったような..

http://itpro.nikkeibp.co.jp/free/NCC/INTERVIEW/20031008/135427/?ST=itpro_print

---------------------------
ブロードバンドの普及でストレージ・サービスが開花する

・・・
同サービスを開発した事業推進本部サービス統括部の森崎氏に,開発の狙いを聞いた。(聞き手は蛯谷 敏=日経コミュニケーション)
・・・

google analyticsをいろんなブログサービスに

最終更新: 2006年09月18日 10:17

google analyticsを使ってみた。
いくつかのブログサービスでログを収集する方法をみつけたのでメモしておく。

google analyticsまだ不具合が多いような気がする..

ブログサービス名やり方
livedoor 編集画面トップから「カスタマイズ/管理」をたどり、左側ペインの「デザインの設定」を選ぶ。デザインのテンプレートの一番右下の「カスタマイズ」というリンクをたどり、「トップページ」、「個別記事ページ」・・・それぞれのの前に、google analytics用コードを追加する。
so-net管理画面トップから「設定」→「サイドバー」→「カスタムペイン1」でHTMLを貼れるので、そこにgoogle analytics用コードを追加する。
hatena専用の設定画面があるので、そこにユーザIDを。
goo今のところやり方がわかってない。情報募集。

インドのソフトウェア産業

最終更新: 2006年09月14日 00:00

NASSCOM(http://www.nasscom.in/ : 日本でいうところのJISAにあたると思われる)に参加している企業の人と連絡をとっている。インドのソフトウェア開発企業は主に米国のアウトソース先になっている。
インドのソフトウェア開発企業は米国のアウトソーサとして急成長しているが、飽和状態への懸念が強まっているようだ。現時点で売り上げの数パーセントにとどまっている日本から新たなアウトソースを得ようと活発な活動を実施しているようだ。インドにはCMMIレベル5の企業の数が非常に多い。日本のレベル5と同等なのかは少し検討が必要ではあるが。

勢い

最終更新: 2006年09月11日 22:55

勢いがつきつつある。何となくパターンがつかめつつあるようにも思えてきた。
産学連携といえども、やはり基本はバータではないかと。

NGN

最終更新: 2006年09月09日 10:25

Next Generation Networkの略。複数の知人から聞くようになった。盛り上がっているらしい。
自分が参加していたようなRFIDの標準化よりも、かなり権益が動きそうな話らしい。
EUはまとまっていてすごいなぁ、という印象を受けるそうだ。国毎に投票権を与えると数もすごいしなぁ。

Webサービス向けFP

最終更新: 2006年09月08日 19:19

というのはどうだろうか、とふと思った。
たとえば、Fail overにしているだけでコストがかさむと思う。

一発目

最終更新: 2006年09月06日 18:08

移籍して1年たった。ちょっと広報活動もやってみようかと。

産学の違い

最終更新: 2006年09月07日 12:05

ソフトウェア工学において産学で活動を進める難しさについて、いつも考えている。

大学(研究側)では研究を主に新規性や有用性の点で評価する。結果として、論文発表の大小やその発表が他者に与えた影響(具体的には論文への参照)による評価となる。もちろん、研究者として公平性や虚偽のない活動が前提ではあるが。一般に、新規性や有用性にはコストに対する議論はそれほど多くはなされないのが通常である。つまり、コストと新規性、有用性の一方もしくは両方がリンクされていない限りコストについては、十分な議論がなされない。

いっぽう産業はどうかというと、研究成果はもとよりすべての活動は金銭に換算され評価される。企業の規模により売上げの成長性であったり、安定した経常/営業利益をあげられることになるかもしれないが、基本尺度は金銭である。もちろん、企業として不正や法令遵守が前提ではあるが。目玉商品がない、内部統制がうまくいってない、等がメディアにより批判されることがあるが、成果が出ていないとき限定ではないだろうか。

すなわち、コストと新規性や有用性がある程度リンクしていない限りは、大学の研究が直接産業に役立つ、ということは難しい。理由は、企業が新規性や有用性をちゃんと理解したとしても、それを直接ビジネスやコストに結びつけることは難しいからであり、大学側が金銭感覚を身につけて、新規性や有用性以外にコスト面について言及することもまた難しいからである。

EASEではそのギャップを埋めることを常に念頭におき活動を進めており、それは少しずつ実を結び始めている。

ソフトウェア工学の産学連携を難しくしている理由がもう1つあると考えているがそれはまた別の機会に書きたいと思う。