2014年10月7日火曜日

[Simulacrum][フェイスオブジェクト]アゴがぁっあ(゚Д゚ )

2014年10月07日
オフィスの給湯室にて…



2014年10月07日 オフィスの給湯室にて


右目と左目が違う色のもんすたー。
ヘテロクロミアですね。

大口開けてますが、流線形をしているので、発達したモダンな種族に見えますね。

2014年9月15日月曜日

[Simulacrum][フェイスオブジェクト]もんすたーII





2014年7月20日。
飯田橋、TJKプラザにて。
仕事のイベントの途中で発見。


けがれを知らない蒼いモンスター。
目の色は黒に近い深い紺色である。
前回のもんすたーと似ている種族である。




2枚目のモンスターは、額を赤く光らせアピールしていた。
目は複数の穴で構成されまるで昆虫のようだ。
口はつむんで、少し不満気な表示である。



2014年8月8日金曜日

[ソフトウェア品質技術]第12回初級ソフトウェア品質技術者資格試験の結果が発表されました

初級ソフトウェア品質技術者資格試験の結果が発表されました。

まずは、統計データから・・・

 受験者数: 404名
 合格者数: 182名
 合格率: 45.0%
 ボーダーライン: 70%




この試験の難しいと感じるか簡単と感じるかは、人によって違うと思います。
自分の場合、1年前に受けたときと比べて、時間内に問題を回答するだけの余裕がありました。
でも、シンプルに回答できない問題も何問かあったため、終わったときは、余裕だったという感じはまったく無く、これは、ダメかもしれない感が強かったです。

結果は合格

ボーダーラインは、正解率が70%だったそうで、私の場合、正解率が77.5% でしたので、ぎりぎり合格だったようです。

やったことのおさらい

やったことをおさらいしておきます。
  1. 『ソフトウェア品質知識体系ガイド ―SQuBOK Guide― 』を読む
    通勤時間帯を利用してPDF版をひたすら読みました。
    理解できないときは、Google検索で調べる感じで読み進めます。
  2. 『初級シラバスV1.1』をダウンロード
    このシラバスに出ているキーワードを抽出して、「ソフトウェア品質知識体系ガイド」にAcrobat Readerを使ってLevelを示すマークを入れました。
    http://www.juse.or.jp/software/35/attachs/jcsqe_beginner_syllabus.pdf
  3. 『ソフトウェア品質知識体系ガイド ―SQuBOK Guide― 』を読む
    通勤時間帯を利用して、マークした箇所を中心に体系ガイドのPDF版を読みました。
    分からない用語は、Google検索で調べる感じで進めました。スマートフォンは本当に便利ですね。
    http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-50162-3
  4. 『初級ソフトウェア品質技術者資格試験(JCSQE)問題と解説』
    前日、前々日に2回ほど通して問題を100%正解できるようにしておきます。
  5. 『Qbook - 模擬試験』
    試験、3日前からこの問題を複数回実施しました。「初級ソフトウェア品質技術者資格試験(JCSQE)問題と解説」だけではバリエーションが足りなかったので結構助かった感があります。分からない用語や間違った問題は、体系ガイドを見直したり、Google検索で調べたりする感じでやりました。
    http://www.qbook.jp/qptrial
以上

2014年7月20日日曜日

[フェイスオブジェクト][Simulacrum]もんすたー

2014年7月20日。
かっぱ橋道具街に姪っ子と行ったときに見つけました。



鋭い右目と大きな左目を持つ異色なもんすたー!

涙の跡が見えるので、泣き虫さんなのかも。

2014年6月14日土曜日

[フェイスオブジェクト][Simulacrum]家のトイレ





2014年6月14日。トイレの掃除中に気がつきました。

これ、家のトイレの鍵。1度も使ったことがないのだが、ピエロのような顔をしてますね。

世の中よく見るといろいろな「フェイスオブジェクト」があるものですね。(^_^)

2014年6月7日土曜日

[World of Tanks]マウスイベントで念願のMouseを ゲット!


このゲームを始めたのが、2011年の1月くらいだから苦節3年半でようやくVIII号戦車Mouseを購入しました。

Tier Xの開発はコツコツ行けばなんとかなるのですが、クレジットを貯めるのが非常に厳しい。今回は、「06/06 - 06/20: プレイヤーズチョイス: Maus」のイベントがあり、Mouseが30%OFFだったためイベントに合わせて開発を急ぎましたよ。フリー経験値、16000程度貯めていたのでそれも使い、格納庫の肥やしになっていた212A と T28を売り払ってようやく買えました。^^v

しかし、Mouseツリーの一番、苦行だったのがVK 45.02 (P) Ausf. B。こいつは強いのだが、ほかのTier 9戦車と相対的に見て、臨機応変に動けないところが厳しい。単独行動をすると側面を取られてフルボッコになることが多く、砲塔の稼働速度が非常に遅く、側面が想像以上に薄く、隠ぺい率が非常に悪いので狙われやすい。遮蔽物が無い、平原や砂漠マップ、起伏の激しい山岳マップでやると勝てない。けど、市街地マップで乗ると、遮蔽物や豚飯を利用して結構行ける。



最後に感想を、かれこれ22000回以上戦闘をしていますが、今でもT-34が一番スリルがあって楽しいかなぁ・・・^^

◆参考資料

ちなみにMouseはプロトタイプで2両実在しており、今でもクビンカ戦車博物館に保管されているとのこと。しかし、ロシア人って戦車好きですね、中に入ると暖かいからというのが理由かも。

2014年6月2日月曜日

[フェイスオブジェクト]都庁ビル



2014年6月1日 新宿西口某ビルにて
2014年6月1日のお昼。洗面所が混雑していて、仕方なく外を眺めながら歯を磨いていたときでした。

そう!京王プラザホテルの隙間に見える都庁ビルの上に顔を見つけたのです。

世の中よく見るといろいろな[フェイスオブジェクト]があるものですね。(^_^)


2014年4月20日日曜日

[鳥ニュース]けなげすぎて泣けてくる。オシドリのヒナの初めての試練 : カラパイア

オシドリさん。大人になるとこんなに綺麗になります。写真は後程(-_-)…

ひなひなさんもなかなか可愛い。

ちなみに「おしどり夫婦」で有名ですが、オシドリさんペアの生態は、毎年、冬毎にパートナーを変えるらしいです!⁰⊖⁰


写真は掛川花鳥園で撮影したオスのオシドリさん。




2014年4月16日水曜日

[ソフトウェア品質技術]品質計画と費用便益分析


 品質計画の策定技法は次のとおりです。
  1. 品質方針および方針を具体化した品質目標
  2. 品質の作り込みとしての開発プロセスやアーキテクチャ・基準や規約等の計画
  3. レビュー計画・テスト計画・検査計画・監査計画等の個別の計画
  4. 評価のための判断基準や収集する指標
  5. それぞれの活動における合否判定基準
  6. それらの結果としての製品が要求事項を満たしていることを実証するために必要な記録

◆費用便益分析とは?

上のような内容で計画を立てるために利用するツールの1つに「費用便益分析」があります。英語ですと"Cost benefit analysis"になります。このツールを使うことで、プロジェクトの費用と便益をそれぞれ算出してそのプロジェクト分析、評価することができるそうです。同じ手法を違うプロジェクトに適用すると相対的に比較ができるとのこと。

 調べてみると、国や地方公共団体などの工事でこの手法を適用することが多いようです。道路を作ることでどんな便益があるのかというアプローチです。

◆ソフトウェアの品質計画に適用できるのか?

ソフトウェアの場合、デグレードを防ぐために自動テストを導入したり、非機能要求をきちんと満たすためのハードウェア投資をしたり、こういった活動を費用として出すことがあると思いますが、効果を金額にするのは無理なんじゃないかな?

 自動テストを導入することで、提供後に発生する障害の保守費用が浮くとか、今までかかってコストがかからなくなることを便益に含めているようです。これは、顧客の満足度に影響しない(あたりまえ品質的な)気がするので、便益に含めるのは違う気がしてなりません・・・。ソフトウェアをサービスとして提供しているときは、ソフトウェアの信頼度が上がって、利用者が増えることで収益が増えることが期待されるとか、そういった数値は有効なんじゃないかと思いますが、そんなことどうやって決めるんでしょうか?

◆参考資料

2014年4月9日水曜日

[ソフトウェア品質技術]経験および直観に基づいた技法

テストエンジニアの経験と直観が鍵

「エンジニアの経験や勘を基にテストを実施する技法」JSTQBでは「経験ベース」と言われている部類のテストです。

2種類の技法

この技法は、2つの種類が存在します。
  1. アドホックテスト
  2. 探索的テスト
それぞれ、特色をまとめるとこんな感じになります。
テスト設計 特色
アドホックテスト しない 出荷前の最終確認など、過去の経験や直感を基に頭の中でテストケースを考えてテストを実施する。
探索テスト する テスト対象製品の学習、テスト設計、テスト実行を同時並行に行う。仕様漏れや仕様の誤りに基づく欠陥を検出できるが、実施するためにはテスト担当者のスキルや経験が必要となる。
どちらのテストも、目的を明確にして他のテストを補う形で実行するので、このテストだけでは品質を確保できません。

たとえば?

リリース前のテストで、リリースノートの修正履歴を読みながら、過去に同じような修正でデグレードが発生しなかったかを考えたりしますよね?個人的によくあるのが、セットアップやアップグレードに関連したテスト漏れ。本体の対応に追われてしまい、セットアップ周りのテストを省略してしまい、実際に、リリースした後にうまくセットアップができないこととかよくありますよね。
 その他、大規模なテストを実施したり、中止したりするのはコストがかかるので、その前に、実装された主機能のテストや修正された機能のテストを部分的に抽出して、大規模なテストが実施できるかを判断するのもこのテストになるのでしょうか?

2014年3月26日水曜日

[ソフトウェア品質技術]ソフトウェア測定の測定尺度

◆測定尺度とは?

 「測定可能な特徴を示す属性を計量する際に必要となるものさし,規準である。」となっています。ソフトウェアを測定するときに収集するメトリクスに4種類の尺度があります。
  1. 名義尺度
  2. 順序尺度
  3. 間隔尺度
  4. 比率尺度
何度、学習してもすぐに忘れてしまうのですが…それぞれの尺度について調べてメモに残します。

◆名義尺度

 測定値の区別に対応する尺度。
 値自体に意味が無い。
 例)血液型(A、B、AB、O)、性別(男、女)

◆順序尺度

 測定値の大小関係の順序に対応する尺度。
 値の大小関係だけに意味がある
 例)成績(A、B、C、D)、階級(ヘビー、ウエルター、ライト)、エアコンの風量(大、中、小)

◆間隔尺度

 等間隔の尺度上の点の順序に対応する尺度。
 数値の差に意味がある。
 例)速度、バグ数

◆比率尺度

 等間隔の尺度上の点だけでなく,絶対値に対応する尺度。
 数値の差と比率に意味がある。
 例)身長、体重、金額、絶対温度、工数変化率

◆どうやって識別するか?

 どうやって識別するのかは、いろいろとアプローチがあるようですが、YES、NOで識別できたらよいかと思い、YES/NOのチャートにしてみました。
  1. データの値は、質と量に分けることができるらしく、質の値は足し算や引き算ができない。量の値は足し算、引き算ができるとのこと。
  2. 質データは、値に順番に意味があるかを考えます。意味がある場合は「順序尺度」となり、意味が無い場合は「名義尺度」となります。
  3. 量データは、値に0より小さい値(負数)を持てるかを考えて、持てる場合は「比率尺度」となり、持てない場合は「間隔尺度」となります。
質データと量データに分けるのは簡単ですが、間隔尺度と比率尺度を区別するのはちょっと癖があり、分かりやすい説明がなかなか見つかりませんでした。絶対零度(K)と華氏(F)・摂氏(C)で区別するのが一番分かりやすいのかも…

◆参考資料

2014年3月25日火曜日

[鳥ニュース]ニュース - 文化 - ニワトリは太平洋を渡り切らなかった? - ナショナルジオグラフィック 公式日本語サイト(ナショジオ)

ニワトリのルーツをDNA鑑定で証明する研究が行われているらしいです。

ニワトリさんのルーツは、ポリネシアじゃないみたいですね。アフリカかな?


『ニュース - 文化 - ニワトリは太平洋を渡り切らなかった? - ナショナルジオグラフィック 公式日本語サイト(ナショジオ)』


[ソフトウェア品質技術]品質マネジメントのアプローチの変化

 品質マネジメントを実現するアプローチは、次のように変わってきました。

 検査重点主義→工程管理重点主義→新製品開発重点主義

◆検査重点主義

 検査で製品を選別して不良品を出さない。

◆工程管理重点主義

 品質は工程で作りこむ。

◆新製品開発重点主義

 品質は設計と工程で作りこむ。

2014年3月21日金曜日

[Windows]コマンドプロンプトでlocate のようなファイル検索を実現する方法(その2)

 以前、「[Windows]コマンドプロンプトでlocate のようなファイル検索を実現する方法(その1)」で WinLocate なるものがあると書きましたが、動いているみたいなので試してみました。

◆セットアップ

  1. ダウンロードサイトより、WinLocate をダウンロードします。
    http://sourceforge.net/projects/winlocate/
  2. zip ファイルをダウンロードしたら、ファイルを解凍します。
  3. Install.ini ファイルを編集して、"InsDir="にWinLocate をインストールするパスを入力します。
    たとえば、WinLocate を"C\:Tools\Win32Locate" にインストールした場合、"InsDir=C:\Tools" と入力します。
  4. ※UAC(ユーザーアカウント制御)の関係で、Windows Vista 以降の環境にインストールする場合は、Program Files 下にインストールすると管理者権限での実行が必要になるため他のディレクトリにインストールしました。 


  5. Install.bat をクリックして実行します。
    ※途中でエラーメッセージのダイアログボックスが表示されますが無視してください。(大丈夫か?)
  6. コンピューターのプロパティを表示して、「システムの詳細設定」を開きます。
  7. システムプロパティが表示されるので、「詳細設定」タブをクリックし、「環境変数」をクリックします。
  8. システムの環境変数の一覧から、「Path」の行を選択して、「編集」をクリックします。
  9. 変数値の最後に、半角のセミコロン(;)とWinLocate をインストールしたパスを入力します。
    たとえば、WinLocate を"C:\Tools\Win32Locate" にインストールした場合
    ;C:\Tools\Win32Locate

◆インデックス作成と検索


 WinLocateには、インデックスファイル作成と検索の2つのコマンドがあります。

  1. updatedb
    検索用インデックスファイルを作成するコマンドです。
  2. locate
    探しているファイルを検索するコマンドです。
※検索を実行するために、インデックスファイルを必ず作成してください。

◆updatedb を実行してみる

updatedb c:

 これを実行するとCドライブのインデックスファイルを作成してくれます。コマンドの処理は、予想以上に時間がかかりました。452GBで8分程。(これでも高速なのかも知れませんが…)

 Linux の場合、cron に設定してスケジューリングして、定期的にインデックスファイルの更新をすると思います。Windows では、タスクスケジューラーに登録するすと同じことができます。このコマンドのオプションに自動登録のオプションがあったのでそれを実行しました。

updatedb -s 2 00:00 "c:"

 これを実行する、2日おきの深夜0時にCドライブのインデックスファイルを自動作成してくれます。夜中なので時間を気にする必要もありません。なかなか良い感じ。

 「管理ツール」→「タスク スケジューラー」で更新タスクが実行されることが確認できます。

 そのほか、追加更新分のインデックス作成オプションなどがあるみたいです。自分は、これで十分なので試していません。詳しくはヘルプを表示してください。

updatedb -h

◆locate を実行してみる

locate "検索文字列"

 たとえば、Excelの調子が悪いので、"Excel.xlb"ファイルを探しているときは

locate Excel.xlb

 そのほか、ワイルドカード検索(*や&)ももちろんできます。

locate Excel.*

 残りのオプションについてはヘルプを表示してください。

locate -h

◆感想

 Linuxのターミナルみたいに、探しているファイルをサクサクと検索できますね。^^

2014年3月20日木曜日

[VMware][VirtualPC][Remote Desktop]Ctrl+Alt+Delete Now!

 仮想マシンの操作をして、たびたびやってしまう動作があります。
 クライアントマシンや接続先のマシンでCtrl+ALT+Deleteをクリックするとホストマシンや接続元のマシンで実行されてしまいイライラすることがよくありイライラしますよね?
それぞれのキーマッピングを調べてみました。

◆VMWare


Ctrl+Alt+Insert

それでもダメなら…:

Ctrl+Alt+PrintScrn

◆VirtualPC & Remote Desktop


Ctrl+Alt+End

◆Tested Envrionment


 動作確認をした環境は次のとおり
  • vmplayer.exe
    10.0.1 build-1379776
  • vpc.exe
    6.1.7601.17514
  • mstsc.exe
    6.3.9600.16415

2014年3月19日水曜日

[ソフトウェア品質技術]ソフトウェア測定

◆トム・デマルコさん曰く

“You can’t control what you can’t measure.”
日本語にするとこうなります。
「測定できないものを予測または制御することは不可能である」

◆ISO5930:2002の定義

 ソフトウェア測定とは、『測定量の値を決定するという目的を持った操作の集合』 です。

◆メトリクスとは?

 ソフトウェアの品質を評価するためには、ソフトウェアを定量的に分析する必要があります。定量的なデータを得るために、ソフトウェアの測定が必要であり、その測定量のことを「メトリクス」と呼ばれています。(本来は、「メトリック」となんだそうですが、なんで「メトリックス」にならないんだろうか?)
 メトリクスは2種類あります。
  1. 基本メトリクス
    単一の属性を測定するのに用いる評価尺度
    たとえば、SLOC (Source Lines of Code)。プログラム規模(行数)を表す単位です。
  2. 導出メトリクス
    複数の基本メトリクスを組み合わせた評価尺度
    たとえば、「試験計画項目密度」は、ある機能のテストケース数 ÷ その機能のSLOCで求めることができます。

◆測定する方法(GQM手法)

 SQuBOKではGQM手法を説明しています。ビクター・バシリさんが考えたGQM(Goal、Question、Metric)の3つを定義する手法です。分かりやすい資料があったので記録しておきます。

◆測定プロセスの標準

 測定プロセスの標準については、ISO 15939:2007 で定義されているとのことです。

◆思うこと

 定量的にデータを分析して管理するために、ソフトウェアの測定が必要になるということらしいです。ソフトウェア製品そのものの測定は良いのだけれども、開発プロセスを測定することは、プロジェクトをコントロールすることにつながって、チームの自由度を下げるのではないでしょうか?1500人規模の組織とかでは、有効かもしれませんが、その効果って管理層しか分からないのではないでしょうか?…高品質とかうわべだけじゃなくて、GQMみたいなにゴールや期待値をもっていくアプローチが実際にできれば素敵ですね。

2014年3月18日火曜日

[鳥ニュース]アルゼンチンの南の果てにあるペンギンだらけの島に上陸し癒されてきました - GIGAZINE


ペンギンパラダイスですね。かわぇぇ。( ̄▽ ̄)

『アルゼンチンの南の果てにあるペンギンだらけの島に上陸し癒されてきました - GIGAZINE』

(写真はまったく関係ありませんが、もふもふ子ペンギンさん。)



ついでにツアー情報も調べてみました。プンタ・トンボには大きなペンギンコロニーがあって9月から翌年の3月までがシーズンとか…⁰⊖⁰

『バルデス半島 旅行情報・観光案内 -文野旅行社-』



2014年3月14日金曜日

[鳥ニュース]フクロウの癒やし画像が人気| web R25

最近、フクロウが人気だと思いませんか?つぶらな瞳もそうだが、鳥カフェが流行ったのも理由なのでしょうかね?

鳥さんブームはまだ続きます⁰⊖⁰!

『フクロウの癒やし画像が人気| web R25』





[ソフトウェア品質技術]第12回初級ソフトウェア品質技術者資格試験(6/21)お申込み受付開始!

◆すでに申し込み済み


 初級ソフトウェア品質技術者資格試験の申し込み受け付けがはじまりましたね。過去2回受けることができなかったので3度目の正直になります。カレンダーにメモを入れましたが、はたして受験できるでしょうか?〆(・ω・)

 合格する自信ですが、もちろんございません。アカデミックな内容は苦手。要領が悪いのでValidationとVerificationの違いすら混乱して間違うので危ういでしょう…。

◆詳細

 詳細は、日科技連のSQiPメールマガジンに登録すると、送信されるSQiPメール内容です。
===================================
                    【本日受付を開始しました!】
★ 第12回初級ソフトウェア品質技術者 資格試験 受験者募集のご案内 ★
  ~ あなたのソフトウェア品質力を日科技連が認定します! ~
        http://juse-sqip.jp/jcsqe/index.html
===================================
■延べ受験者 約3,500名、合格者1,300名を突破しました。
ソフトウェアの品質技術を高め、継続的・効果的に品質向上を目指されている
企業、組織に高い評価を得ている資格制度です。
 ご自身のスキルアップ、職場のスキルアップに是非ご利用ください。
 初級問題集「初級ソフトウェア品質技術者資格試験(JCSQE)問題と解説」
も好評発売中!
http://www.juse-p.co.jp/cgi-bin/html.pl5?i=ISBN978-4-8171-9439-8
●第12回 初級ソフトウェア品質技術者資格試験 概要
 日程:2014年6月21日(土) 10:30~11:30(実施時間)
 開催地域:札幌、東京、名古屋、大阪、福岡
 試験料:10,800円(税込み)
 受験申込:以下からお申込ください。
      http://juse-sqip.jp/jcsqe/index.html
 主催:一般財団法人 日本科学技術連盟
 ※募集期日:3/13(木)から5/21(水)15:00まで
 【初級試験形式】
  ・複数の選択肢から正解を選ぶタイプの問題です。
  ・40問出題されます。
  ・合格ラインは70%前後(難易度により多少変動します)。
  ・試験時間は60分です。
  ・出題範囲はシラバス(Ver.1.1)に準拠しています。
   シラバスは不定期に更新されることがあります。ご注意ください。
●詳細についてはこちらから▼
http://juse-sqip.jp/jcsqe/index.html
●問い合わせ
 一般財団法人日本科学技術連盟 教育推進部 第二課
 JCSQE資格試験担当
 TEL: 03-5378-9813 /FAX: 03-5378-9844 /E-mail: sqip@juse.or.jp

◆参照情報

2014年3月13日木曜日

[鳥キャラ]住まい選びの時のために必ず覚えておきたい、ハトさんの失敗しない物件情報の探しかた : らばQ

ハトマーク東京不動産のマスコットキャラクター「ハトさん」。



「はじめてご訪問ありがぽーございますw」とpicoさんアプリが動いたり、YouTubeからツィッターアカウントまで、気合いが入ってますね〜。



鳥さんブームはまだまだ続くわけです!

住まい選びの時のために必ず覚えておきたい、ハトさんの失敗しない物件情報の探しかた : らばQ

賃貸物件情報・売買物件情報のハトさん(ハトマーク東京不動産)-賃貸マンション・賃貸アパート・賃貸住宅などお部屋探しや不動産売買・売買住宅など物件探しに

[ソフトウェア品質技術]品質の定義(Joseph M. Juran)ジョセフ・ジュラン

 ジュラン(1904年12月24日-2008年2月28日)は、エドワーズ・デミングと並ぶ、品質管理の権威だったそうです。特に日本では、製造業の経営層に品質管理を教育して多大な貢献をしたそうです。

◆品質の定義

 品質について2つの観点で説明しています。
  1. 「プロダクトの特性(Features)が顧客のニーズに応えることで満足を提供する」
  2. 「不備:deficiencies(障害や誤り)から免れる」
顧客のニーズに応えることで満足を提供する、つまり品質が高まるという考えは、その通りだと思う。 「免れる(まぬがれる)」という表現が具体的にどういう意味だがよくわかりませんが、障害などの不備を出さないことで、障害対応や顧客のクレームの数を減らして品質が高まるのでコストがかからないという意味でしょう。

◆ジュランの法則


 彼は、パレートの法則を品質で適用したので有名らしいです。たとえば、「80%の不良品は20%の原因で発生する」、ほんの一部の原因が全体に決定的な影響を与えるという意味になります。
 最近では、クリスアンダーソンのロングテール論がパレートの法則の適用で有名ですね。自分が難しいと感じるのは、影響度の高い要因や原因をどうやって見つけるかだと考えます。そういうときは、QC7つ道具と言われそうですが、影響度が高くても改善するのが難しい要因がほとんどだったりしますしね…

◆参考資料

2014年3月12日水曜日

[鳥キャラ]「Flappy Bird」の復活や開発秘話などを開発者がインタビューで明かす - GIGAZINE

鳥さんゲームをいっぱい持っている私ですが、存在すら知らなかったです。(-_-)

復活をお待ちしております!
http://gigazine.net/news/20140312-flappy-bird-again/



[ソフトウェア品質技術]品質の定義(Robert L. Glass)

◆Robert L. Glass とは

 Glass は、米国のソフトウェアエンジニア、ライターです。IEEE Software誌の気鋭コラムニストと紹介されています。80年代までボーイング社などでソフトウェアツールの開発をしていたそうです。その後、アカデミックな活動に従事し、ソフトウェア開発に関連した著書が多く書いています。現在は、計算機科学分野の国際学会として有名なACMの特別研究員に在籍しているらしいです。

◆品質とユーザ満足度は関係があるが同じではない

 彼の考える品質とは次のとおりです。
  • 品質の意味は、話題にしている製品によって変わる。
  • 全てに共通の精細な品質の定義は無い。
  • ソフトウェア品質の精細な定義とは、各製品が備えるべき一式の品質特性のことであり、プロジェクトの種類に応じて異なった優先度がつくべきものである。
個人的には、「プロジェクトの種類に応じて異なった優先度がつくべきものである。」について同意見ですね。


◆参考資料

2014年3月10日月曜日

[Windows]コマンドプロンプトでlocate のようなファイル検索を実現する方法(その1)

◆簡単な方法

 自分は、Linux シェルコマンドを使っていてlocate が非常に便利だと感じたので、Windows でも無いのか調べてみた。
 簡単な方法は、コマンド プロンプトを起動して、これを実行します。
dir /s /b %ファイル名%

◆制限


  • 実行時のディレクトリ以下のファイルしかヒットしません
    ルートで実行するしかないですね。
  • 遅いです
    Linuxのようにupdatedbみたいなコマンドがあればよいですが、検索用インデックスってありませんでしたっけ?

◆その他

 その他、考えられる方法としては、winlocate なるものがあるが、winlocate-0.1.6 は私の環境では不安定で、インストール時に pn_setx.exe が落っこちたので何かおかしいのかも。その他、Windows 向けのLinux シェルコマンド集みたいなものがありますが、Locate は有りませんでした。

 あとは、Windows PowerShell ですかね… これはまだ試していません。

2014年3月7日金曜日

[ソフトウェア品質技術]品質の定義(石川馨)

◆日本の品質管理の父が考える品質

 石川馨(1915年7月13日-1989年4月16日)さんは、日本の「品質管理の父」と呼ばれる方だったそうです。
また、「特性要因図」の創案者だそうです。
 「品質」ではなく、「質」という用語の使用を提案しました。なぜ、「質」かというと、サービスなどの無形のものに対して「品質」はおかしいからということらしいです。
 彼の考えでは、2種類の「質」が存在します。
  1. 狭義の質
    欧米の考え方に基づいた「製品の品質」
  2. 広義の質
    仕事、サービス、情報、工程、部門、人、システム、会社の質などすべてを含めた「質」

◆日本的品質管理

 日本的品質管理は、経営層からの明示的な品質方針に従って、組織的活動にかかわるすべての部署、階層の人が取り組むものとされ、全員参加が原則でした。これが、TQC(Total Quality Control:総合的品質管理)という品質管理手法になったそうです。

◆ソフトウェアの品質は?

 90年代のバブル崩壊を境にTQCの活動は薄れ、TQMへと移行したとの説明があります。母体(日科技連)は製造業主体の団体なので、製造業で培われた品質管理手法がソフトウェア産業でもどれだけ効果を出せるのか常々疑問に感じてしまいます。QCサークルなどの手法をソフトウェア産業で適用した成功事例みたいなものはあるのでしょうか?などなど…

◆参考資料

2014年3月6日木曜日

[Windows Azure]Windows Azure サインアップの携帯電話認証は面倒

◆Windows Azure にサインアップ

 30日の無料試用をやっていたので、Windows Azure にサインアップ(申し込み)してみました。申し込み手順の「携帯電話認証」で少しだけトラブったので記録として残しておきます。

◆携帯電話認証とは

 携帯電話認証とは、サインアップを申し込んだ私がロボットやプログラムじゃないことを確認するために、申請者のケータイを利用するシステムです。最近、Facebook とかでも採用しているシステムですね。
 図にするとこんな感じです。


 MSから認証コードを受け取る方法は2つあります。
  1. テキストメッセージを受信
  2. 電話で認証コードを受け取る

 ほとんどの人は、ケータイにMicrosoft から電話がかかってくるなんてイヤなはず。
なので、自分はテキストメッセージを受信するを選んだわけです。


◆SMS のメッセージが来ない

 電話番号を入力して、「テキストメッセージを受信」を押しましたが、このSMS がいくら待っても受信できません。

 最初に考えるのはケータイ番号の入力ミス。この入力フォームのケータイ番号フィールの書式がいやらしい。国番号(81)は問題ないでしょう。次に入力する番号は?
フォームの入力例の値を見ると「90 XXXX…」となっていることに気が付くでしょう。
これ、国際電話をかけたことがある人には常識だと思いますが、
最初の0は利用しないんですよね。そもそもなんで国際電話なんですかね?
なので、ケータイ番号が「090-9999-9999」の場合、入力する番号は「90 9999 9999」となるはずです。

 ケータイ番号を再入力して再チャレンジしました。今度はうまくテキストメッセージが受信できるだろうと期待していましたが、メッセージが全然来ないのです。なんで?
 次にチェックしたのが、ケータイ電話会社の個人の受信設定です。確認したら案の定、海外からのSMS の受信を拒否するフィルターが入っていたのです。(スパムはイヤですから・・・)この設定も結局うまくいきませんでした。

◆仕方なく電話で受け取ることに

 最後の手段の電話です。ここで普通の人なら思うでしょう。国際電話ということは、もしかして英語を話すオペレーターが電話をかけてくるのでは??

 私は、外人さん恐怖症ではありませんが、できれば日本語にして頂きたい。申請すると、すぐに電話がかかってきましたが、電話番号は "+1 (714) 868-0120 Buena Park, CA" でした。
(サインアップページには説明が不足しているので、ここで外人さんが怖い人はビビるはず。)

 電話を受け取ると、あらかじめ録音された自動音声オペレーターが認証コード(番号)をゆっくり2回教えてくれるだけでした。ちなみに、私が聞いた認証番号には、アルファベットが無く数字だけで”Eight * * * Good Bye!”みたいな感じでした。

 最後にまとめますと、Windows Azureのサインアップには次のアイテムが必要です。
  • ケータイ電話(携帯電話認証に使います)
  • クレジットカード(支払情報として入力が必須でした)
  • 海外のSMS受信を有効にする設定(テキストメッセージとして受信する場合)
  • 英語のヒアリング力(電話で確認コードを受け取る場合)

 SMS受信を有効にする設定が面倒なので電話で認証キーを受け取ることをお勧めします。  Good Luck!

◆参照情報

2014年3月3日月曜日

[ソフトウェア品質技術]定量的プロジェクト管理ツール(EPM-X, IPF Tools)を使ってみる

◆前回のつづき

 今回は、前回インストールしたものを使ってみることにしました。

 定量的プロジェクト管理ツール(IPF Tools)は、プロジェクトの定量的に管理するためのレポートツールです。定量管理ダッシュボート(ポータル画面)上には、5つの観点で分類されたグラフ一覧が用意されていて、プロジェクト管理に必要な情報を17個のグラフで表現してくれます。
  1. 複数プロジェクトの確認
    【R_M02】複数プロジェクトの進捗確認、【R_M03】複数プロジェクトの健全性確認
  2.  WBS管理・品質管理
    【R_S01】試験計画項目密度、【R_S02】WBS進捗推移、【R_S03】WBS進捗変化、【R_S04】EVM評価(進捗、工数)、【R_S05】ソフトウェア規模推移、【R_S06】試験進捗率、【R_S07】工数の予実、【R_S15】遅延重要タスク抽出
  3. 障害管理
    【R_S08】障害件数変化、【R_S13】障害解決予測、【R_S09】障害原因分析、【R_S10】障害発生密度、【R_S11】障害滞留状況
  4. 課題管理
    【R_S14】長期未解決課題抽出
  5. 要員負荷管理
    【R_S12】負荷状況

◆使ってみた感想

 まず、導入についてですが、IPF Toolsを既存のシステムで導入することは難しいでしょう。そもそも私の組織では、Redmineをプロジェクト管理ツールとして利用していません。バグ管理ツールやバージョン管理ツールとして利用しているので、このツールで必要なデータ(SLOC、工数、進捗率など)が蓄積されていません。(測定可能なメトリクス値なんてぜんぜん考慮して使ってないんですよね。)
 
 特に気になったのが、WBSチケットです。WBSのようにタスクを細分化して、綿密に計画を立てた重量級ウォーターフォール型の開発をしていないのでそんなチケットがありません。あと、TestLinkなどテスト管理ツールをRedmineと連携して使っている場合にテスト進捗の進捗率などを自動的に連携できないと思うので、どう連携していくかがカギとなるでしょう。

 導入するのであれば、新規で導入がベストでしょう。大事なのは、Redmineの使い方を明確にすることです。プロジェクトをどういった構成にして、どんなチケットを追加し、どんな情報をどのタイミングで入力するかなど、すべての利用者が理解していないとうまくいきません。今回の調査で参照したオンラインヘルプには、そういった情報がありませんでした。(もしかすると、他のドキュメントを調べればみつかるかもしれません)

 次に、利用についてですが、プロジェクト管理の知識が豊富な人には便利なツールだと感じました。Redmineのチケット検索で抽出するよりか、プロジェクトの状況をグラフで表示して問題を見つけて指摘した方が断然、説得力があります。

 課題となるのは、グラフの傾向と対策のルール化だと思っています。たとえば、「【R_S08】障害件数変化」で未解決障害が20件を超えたときは、異常として認識しリリース日を延長しなければならない…とかでしょうか。(優秀なプロジェクト管理者やデータサイエンティストならグラフを見ればすぐに異常を検出することができると思いますが、プロジェクトマネジメントの知識が無く、アカデミックな論理思考に弱い私には難しいですね。自動的にグラフを表示して問題点まで指摘してくれた方が私には使える(笑))

◆調べた内容

 各グラフの「目的」、「概要」、「説明」、「できること」について調べました。「できること」以外の項目は、IPF Toolsのヘルプより抜粋したものです。よくわからないときは、定量管理ダッシュボード右上にあるオンラインヘルプを見ることをお勧めします。

◆定量管理ダッシュボード


グラフ名
R_M01】定量管理ダッシュボード
目的
担当プロジェクト状況を俯瞰するグラフです。
概要
担当プロジェクトの中で、選択したプロジェクトを俯瞰します。・・・ダッシュボードに表示されたグラフタイトルを押下することにより、別ウィンドウでグラフを表示します。
説明
表示するグラフは、定量的プロジェクト管理ツールのグラフのいずれかとなります。・・・
できること
あらかじめ設定してある複数のグラフを表示できる。


◆複数プロジェクトの確認

・【R_M02】複数プロジェクトの進捗確認


グラフ名
R_M02】複数プロジェクトの進捗確認
目的
担当プロジェクトの中で、製造進捗、又は工数の乖離幅が大きいプロジェクトを検出します。
概要
担当プロジェクトの中で、製造進捗率(SLOC)により遅れ、又は超過と判断されるプロジェクトの製造進捗率グラフ工数の予実により遅れ、又は超過と判断される工数の予実グラフを同一画面上に表示します。
説明
検出する条件は担当プロジェクトの製造進捗率(SLOC)、又は工数の予実とし、指定された条件により製造進捗率の場合は遅れ、工数の予実の場合は超過率が高い順にグラフの表示を行います。
できること
リスクのある(計画と進捗の差が大きい)プロジェクトを見つけることができる。
コメント
WBSチケットの予定工数を入力して、実工数を入力しないとうまく利用できないグラフだと思う。


・【R_M03】複数プロジェクトの健全性確認


グラフ名
R_M03】複数プロジェクトの健全性確認
目的
担当プロジェクトの状態(健全性)を一覧表示し、リスクの検出に役立てます。
概要
試験工程で担当プロジェクトの健全性を、工数、試験進捗率、障害件数、障害未解決件数について予定と実績の差異により、赤、黄、緑のアイコンで表示します。
説明
差異の判定基準・・・判定基準閾値(健全)%未満:緑色の●、判定基準閾値(健全)%~判定基準閾値(危険)%未満 :黄色の●、判定基準閾値(危険)以上:赤色の●。障害滞留状況の判定基準・・・判定基準閾値(健全)%未満:緑色の●、判定基準閾値(健全)%~判定基準閾値(危険)%未満 :黄色の●、判定基準閾値(危険)以上:赤色の●。・・・障害滞留状況はプロジェクトの中で最も滞留日数の長いもので判定します。
できること
WBSタスクの工数、進捗率、障害未解決件数などの予定の値と実績の値を見て、プロジェクトの健全度を知ることができる。
コメント
障害件数やテスト進捗数などテスト管理ツールを使用している場合、うまく連携ができないので、Redmineのカテゴリーに追加する必要がある。作業終了予定日など計画も詳細に設定する必要がある。


WBS・品質管理

・【R_S01】試験計画項目密度



グラフ名
R_S01】試験計画項目密度
目的
計画された試験項目の密度により試験項目のカバレッジを確認し、作成した試験項目の過不足の判断を行います。
概要
ソース規模(行数)に対する試験項目の密度を表示します。…表示対象のWBSタスクと、ソース規模の集計日をグラフパラメータで指定します。
説明
上限値/下限値が設定されたWBSチケットの子となるWBSチケットでは、親の上限値/下限値を適用し、グラフ上にマーカー線を表示します。
できること
対象のテスト項目タスクのカバレッジ度をヒストグラムで知ることができる。
コメント
密度が上限値を超えるとテスト項目が多すぎるし、下限値だと不足していることになるのか?


・【R_S02】WBS進捗推移


グラフ名
R_S02WBS進捗推移
目的
過去の進捗率から、今後の開発の進み具合を予測し、タスク完了予定日を把握します。
概要
パラメータで指定したWBSタスクの進捗推移を表示します。…グラフ表示期間の終了日に、未来の日付を指定した場合、進捗率の予測線を表示します。…表示対象のWBSタスクの計画値(開始日、終了予定日)と予測日(終了予定日)を一覧で表示します。
説明
進捗率はWBS情報に記録された値の統計(計画工数による加重平均)で算出します。…一覧表示したWBSタスクの状態により背景色で区別します。終了予測日が終了予定日より遅れる場合は対象の赤色、終了予測日が早い場合は青色を配色します。
できること
WBSタスクの進捗率をグラフで見ることができる。


・【R_S03】WBS進捗変化


グラフ名
R_S03WBS進捗変化
目的
最近の進捗率変化分を確認し、進捗上問題の有るタスクの確認を行います。
概要
パラメータで指定したWBSタスクの生産性変化(進捗率の変化)を表示します。
説明
進捗率実績値の折れ線グラフに重ねて、進捗変化分の棒グラフを表示します。…
できること
最近のWBSタスクの進捗率と進捗変化率(変化の大きさ)をグラフで見ることができる。


・【R_S04】EVM評価(進捗、工数)

グラフ名
R_S04EVM評価(進捗、工数)
目的
EVMにより最近の生産価値とコスト(工数)の予実を把握します。
概要
生産価値(EV)工数実績値(AC)と工数計画値(PV)のEVMグラフを描画します。
説明
当グラフではEVMの計算およびグラフ表示において、工数をコストとして使用します。…グラフ表示期間の終了日に、未来の日付を指定した場合、コスト(工数)の予測線を表示します。…グラフ表示時の完成時予測総コスト(EAC)をグラフ上にマーカー線で表示します。
できること
作業の遅れ、開発価値、コストなどを視覚的に把握することができる。
コメント
EVM (Earned Value Management)とは、プロジェクトマネジメントにおいて進捗状況の把握・管理を行う手法の一つだそうだ。これもWBSを使った見積もりが事前に必要である。


・【R_S05】ソフトウェア規模推移


グラフ名
R_S05】ソフトウェア規模推移
目的
ソース規模実績値の推移、及び計画値との対比を行い、製造工程での進捗確認、及び試験工程での品質低下の予兆がないか確認します。
概要
パラメータ指定の期間内で、現在までのソース規模の実績推移、実績変化分、予実割合を週ごとに表示します。
説明
最上位のWBSタスクをパラメータのWBSタスクに初期表示します。実績変化分は、週ごとの増加行数を表示します。
できること
SLOC (source lines of code) を基準にソフトウェア開発の規模の推移を見ることができる。また、ソースコードの規模の予想と実績を対比できる。

・【R_S06】試験進捗率


グラフ名
【R_S06】試験進捗率
目的
タスクごとの試験項目実施状況を「達成率」または「実件数」で確認し、試験の計画及び実施の進捗状況を把握します。 過去n週間の実施分を積み上げ棒グラフで表示し、直近の進捗も把握します。
概要
パラメータで指定した期間内で、週ごとの試験進捗の達成率、または実件数を積み上げ棒グラフで表示します。…グラフ表示期間の終了日に未来の日付を指定した場合、実件数グラフでは期間内にある計画値を表示します。
説明
最上位の親タスクをパラメータのWBSタスクに初期表示します。
できること
テスト工程項目数の指定期間における予定件数と実績件数を比較して見ることができる。

・【R_S07】工数の予実


グラフ名
R_S07】工数の予実
目的
現状の消化工数が計画とどれくらい乖離しているか、完成時の予想工数はどれくらいになるかを把握します。
概要
パラメータで指定した期間内で、工数の予実比較と予想工数を表示します。
説明
過去の工数の予実比較(計画はWBS期間中で線形に配分)を表示します。…グラフ表示期間により、過去分は予定と実績、未来分は予定と実績予測値を表示します。
できること
指定期間内のWBSタスクの予実工数と完了時の予想工数を予測することができる。

・【R_S15】遅延重要タスク抽出


グラフ名
R_S15】遅延重要タスク抽出
目的
予測遅延日数の大きなWBSタスクを抽出することにより、対策が必要なWBSタスクの確認を行います。
概要
WBSタスクの進捗率を基に遅延予測を行い、その予測遅延日数を表示します。
説明
WBSの開始日からの進捗変化から生産性を算出し、WBSタスクごとに予測遅延日数を算出します。…WBSの階層は考慮せず、遅れが予測されるタスクを全て表示します。
できること
予想よりも遅れている開発のタスクを見ることができる。


◆障害管理

・【R_S08】障害件数変化


グラフ名
R_S08】障害件数変化
目的
障害の発生件数、未解決件数の推移の把握、及び計画件数との対比などを行います。また、重要度別の障害発生状況、解決状況を把握します。
概要
障害の件数、未解決件数の推移を、重要度(例:軽微、中度、重大など)別の件数も含めて表示します。
説明
この機能は、3つのグラフから構成されている。
(1)    環境件数の変化
(2)    障害の内訳
(3)    未解決障害
できること
障害チケットを重要度別に週次の件数推移を把握することができる
コメント
「予定障害件数は(想定バグ密度(件数/KSLOC)×ソース規模実績値(KSLOC))で算出し、WBSタスクの予定期間内で線形に配分する。」となっている。具体的にどの数値を利用しているかだが、障害にひもづく「WBSチケット」に「SLOC計画値」というものがある。どうやらこれを基に算出しているらしいが、SLOCってどうやって計画値をだすのか非常に疑問である。


・【R_S13】障害解決予測


グラフ名
R_S13】障害解決予測
目的
WBSのタスクごとに、障害の未解決数と解決生産性から解決完了日を推定します。
概要
R_S08:障害件数変化」の子グラフですが、ナビゲーションエリアから単独での表示も可能です。
説明
製造工程、試験工程のWBSタスクで、最上位の親タスクをパラメータのWBSタスクに初期表示します。・・・進捗率(%) = (障害解決予測数/障害発生数)障害解決予測数 = (障害解決数+解決生産性)・・・過去の実績値は表示せず、現在日付の週から予測線のみを重要度別に表示します。
できること
発生している障害数に対して週ごとにどれだけ解決できるかを予測できる。
コメント
過去の障害解決履歴を基に障害解決数を求めてグラフに表示しているらしい。グラフの線は重要度ごとに表示される。100%に達した時点で対象の障害はすべて解決済みであることが前提だろう。達成率って担当者によってあいまいになるのでうちでは終了時に100%にすることしか共通ルールになっていない。

    ・【R_S09】障害原因分析



    グラフ名
    R_S09】障害原因分析
    目的
    現在の障害件数を原因別に分類し障害原因傾向を把握します。
    概要
    障害原因ごとの解決数と未解決数を表示します。表示対象のWBSタスクをグラフパラメータで指定します。
    説明
    ・・・障害原因ごとに、解決・未解決を積み上げ棒グラフで表示します。・・・
    できること
    障害数と障害の原因を把握することができる。
    コメント
    バグのチケットに原因分類のフィールドを追加して、その分類ごとに縦棒グラフを表示しているらしい。縦棒グラフを解決、未解決でカウントして表示している。階層化されたWBSカテゴリーのチケットが完了か(解決?終了?)未完了かで件数を集計してグラフにしているのだろう。


    ・【R_S10】障害発生密度


    グラフ名
    R_S10】障害発生密度
    目的
    予定障害件数に対する障害発生数の達成度により、品質の悪いWBSのタスク(機能及びモジュール)を把握します。
    概要
    パラメータで指定された表示対象のWBSタスクごとにソース規模に対する障害発生密度を表示します。・・・
    説明
    ・・・品質は達成度で判断し、達成度は、製造工程では(障害発生数/予定障害件数)、試験工程では(障害発生数/予定障害件数)×試験消化率、で算出します。
    できること
    品質の悪いタスク(モジュール)が何かを知ることができる。
    コメント
    タスクに対してどれだけのバグが予想されている、実際にどれだけ発生しているかを表すグラフらしいです。ここでも「想定バグ密度」がでてきて、「KSLOC」を算出する必要があるのだがやはり、このような情報は、測定可能なメトリクスとしてきちんと管理した組織でしか利用しなければならない。「タスクの状態が、「完了」のタスクと、「未完了」のタスクを色分けし棒グラフで表示します。」とあるが、対象のWBSチケットのステータスを「終了」にしてもグラフが反映されていないようだ。もしかすると子チケットが終了してないので終了とみなさないしくみなのかもしれない。WBSタスクに設定されており障害のチケットも終了してみたか結果の反映されなかった。どうなっているのだろうか?


    ・【R_S11】障害滞留状況

    グラフ名
    R_S11】障害滞留状況
    目的
    長期間解決されていない障害を把握します。
    概要
    WBSタスクごとに現在まで解決されていない障害件数を、滞留期間に分けて重要度別に表示します。表示対象のWBSタスクをグラフパラメータで指定します。
    説明
    障害が滞留している時間の区分け(例: 3日以上、1週間以上、1ヵ月以上、3ヵ月以上、それ以上などの期間帯)を決め、それぞれに属する障害を重要度別に色分けして表示します。
    できること
    WBSタスクの内、長期間解決されていない障害タスクを見ることができる。
    コメント
    障害チケットの中から、指定期間、終了しないで放置しておいたものをグラフで表示する。


    ◆課題管理

    ・【R_S14】長期未解決課題抽出



    グラフ名
    R_S14】長期未解決課題抽出
    目的
    長期間解決されていない課題を抽出します。
    概要
    パラメータで指定された期間を超えて未解決状態の課題を重要度別に表示します。
    説明
    課題が滞留している期間の区分け(例: 3日以上、1週間以上、1ヵ月以上、3ヵ月以上、それ以上などの期間帯)を決め、それぞれに属する課題を重要度別に色分けして表示します。・・・滞留している時間を算出する起算日は、発生日からとするか、対応完了予定日とするかはIPFDBのグラフ用情報データ集計時に変更できます。
    できること
    WBSタスクの内、長期間解決されていない課題を見ることができる。
    コメント
    課題チケット単体で見ることができない、あくまでもWBSタスク単位でチケットの重要度と件数が表示できるようだ。たとえば、テスト工程のチケットをひとまとまりのWBSタスクにした場合、テスト工程で放置されているチケットや遅延しているチケットが何件あるかを見ることができる。


    ◆要員負荷管理

    ・【R_S12】負荷状況


    グラフ名
    R_S12】負荷状況
    目的
    開発者の負荷を把握します。・・・指定期間内の作業時間が一定値(例:週40時間)を超えるか否かを表示します。
    概要
    パラメータで指定した期間内で、開発者の負荷比較を行います。・・・集計期間(開始日、終了日)、稼働時間閾値、表示種別、開発者名をグラフパラメータで指定します。
    説明
    初期表示はパラメータで指定した期間内の最上位のグループ、または開発者の累計稼働時間を表示します。
    できること
    担当者の誰に負荷がかかっているかを見ることができる。
    コメント
    作業時間数と担当者をきちんと入力する必要がある。あと、途中で担当者が変わる場合、作業時間の集計がうまくいかなくなるのでは?