2012年12月2日日曜日

システム開発者のためのWBSの作り方

先に記述しておきます。卯月の自己満足の為に記述投稿した内容です。下記本に関するレビューではありません。また、本に対する質問などについてはお答えいたしかねますので悪しからず。

【本情報】

タイトル:システム開発者のための WBSのつくりかた
帯:作業計画の極意ここに完成! 門外不出 工程別作業一覧付き
著者:日立製作所 初田賢司著
ISBN-13:978-4822211936
発行:日経BP社
発売日: 2012/3/12

【読む前(購入動機)】


この手の本は沢山出版されている。その中の一冊と考えて良いかな?著者には申し訳ないですが、見飽きた感抜群なので購入してみた。批判したいわけでは無いですが、辛口にならざるを得ない。(私には本にまとめる才能も無ければ度胸も無いので、この点において著者には敬服します。と言うか、本を出す側の編集者(?)が、なぜこの内容であれば読者の満足を得られるのか?考えたのか、そこは知りたいですね)
本を手にとってもちろん最初に確認したのは門外不出と言う工程作業一覧。WBSのレベル3まで記入されている。しかし、全体的にチラッと見た感じでは、既にレベル(粒度)感が合っていない様に感じました。この手の本では、「WBSは記述レベルを合わせること。」と記述されている事が多い。もし読んでいる中で「記述レベル(粒度)は合わせること」と言うような文言が出てきたら「駄本」を自ら示しているようなものである(楽しみ!!)。そうは言っても「工程ごとにレベル(粒度)は変わる」って反論されるのであれば、レベル(粒度)が合う場所まで分解してもらいたいです。あるところは「ざっくり」あるところは「詳細」では、手に取ったものとしては価値を感じないです。(いきなりきつい事を記述しているけど、読む前からだからね。良本かもしれませんよ)

【読みながら】

1-1章1-2章はWBSの説明、大切さと大まかな作成手順が示されています。これは「思うところ無し」です。「WBSって・・・」と感じている方はしっかり読もう。ってところでしょうか。他の方はさらっと流す程度かと。。。
1-3章。。。やってきました「粒度をそろえて分解しよう」。だ・か・ら~一番最後に付けている(帯についているキャッチコピーの)「工程別作業一覧」の粒度はあってるの??今(1-3章)時点で駄本 当確。この後を読みたくなくなる。と言うことで休憩。。。
・・・「工程別作業一覧」は一旦忘れて・・・
再開。。。1-3章にて粒度をレベル1~レベル6として定義しています。うん。これは良い。はっきりと粒度を示しているので分り易い。しかし、「マトリクスで抜け・漏れをチェック」にて「WBS要素は通常、八つの作業から成る。」としている。さて、困りました。この2つ(レベル1~6の粒度と八つの作業)はどの様な関係にあるのでしょう。この2つの関係を示すことはWBSを作成する上で、個人的には非常に大切だと思います(著者がどのように考えているのかは分りませんが)
ここで、1章が終わっているので、本書全体を今一度俯瞰してみます。(駄決定で読むの諦めちゃいました)
1章:WBSとは・・・WBSの重要性と書き方概略です。
2章:計画と活用・・・プロジェクト計画(工数、スケジュール、メンバーアサイン)と、プロジェクト実施(EVM活用)におけるWBSの役割です。
3章:組織的な取り組み・・・WBS標準化の取組みの難しさを示しています(要するにこの様な本の無意味さを示している。。。言過ぎ)。
4章:工程別のWBS・・・「工程別作業一覧」の作り方についての説明です。
賢明な方は分ると思いますが、先ほどの「粒度(レベル1~レベル6)」と「八つの作業」は当然 関係があると思います。極端な言い方をすれば、粒度のそれぞれに、八つの作業を入れれば良いのです。レベル1の「最終成果物」一つ一つに対し八つの作業があり、レベル2の「工程」の一つ一つに八つの作業を当てはめれば良いのです。4章の「工程別のWBS」において、粒度と八つの作業が本書全体に徹底されていれば、もしかしたら良書になるかもしれません。

粒度と八つの作業を列挙しておきます。これはこの本を買った意味になるので。
粒度
レベル1:最終成果物
レベル2:工程
レベル3:中間成果物
レベル4:構成要素
レベル5:作業項目
レベル6:タスク
八つの作業
準備
手配
概略検討
詳細検討
実際の作業
作業のチェック
作業の審査・承認
作業結果の登録・展開

【読み終わって】

読み終わってませんが。。。雑誌の連載かつ複数の著者がいて、チームで作った本の悪いところが出てしまったのでは無いかと思いました。整合性を取るのが難しいし、大切なポイントが消えてしまう事があるんでは無いかと思いました。

以上です。

2012年11月29日木曜日

Chromium 複数プロファイル登録(Ubuntu 12.04 Unity Launcher)

今頃ですが…Ubuntu12.04LTS(Precise Pangolin)設定の一つ。
私は、Chromiumを標準Webブラウザとして利用しています。ご存知の方は多いかと思いますが、Chromiumは複数のプロファイルを分けて利用することができます。
誠Biz.IDの3分LifeHacking「“遊び用ちょろめ”と“仕事用Chrome”を使い分ける」の通りなのですが、WindowsだけでなくLinuxも同様に利用可能です。しかし、ショートカット(alias)やランチャーへ大量に同じChromiumを登録したのではブチャイク(そんなに別名を持って行動してんのか?と言うツッコミは無しで)。
どうにか見た目を一つにしたいなぁ等と思っていたところ、独学Linuxの記事(Blog)に「Unity Launcherをカスタマイズする方法《Ubuntu 11.04対応》」と言うのがあり、Firefoxに対して特定のサイトを新しいウィンドウで開くランチャーメニューを追加する方法が記載されていました。これを参考にChromiumのランチャーメニューへ複数のプロファイルを登録したのでメモ。

【手順】
  • 設定ファイルのコピー
    $ mkdir -p ~/.local/share/applications
    $ cp /usr/share/applications/chromium-browser.desktop ~/.local/share/applications
    $ cd ~/.local/share/applications
    $ chmod +x chromium-browser.desktop
    $ gedit chromium-browser.desktop
  • X-Ayatana-Desktop-Shortcuts 登録
    179行目付近にある「X-Ayatana-Desktop-Shortcuts」に対し以下のようにalphaeridanusを追加。
    変更前:X-Ayatana-Desktop-Shortcuts=NewWindow;Incognito;TempProfile
    変更後:X-Ayatana-Desktop-Shortcuts=NewWindow;alphaeridanus;Incognito;TempProfile
    (ここでの順番が表示順になるようです)
  • Shortcut Group の作成
    [alphaeridanus Shortcut Group]
    Name=alphaeridanus
    Name[ja]=卯月十六夜
    Exec=/usr/bin/chromium-browser %U --user-data-dir="~/.chromium/alphaeridanus"
    TargetEnvironment=Unity
    赤字で示したグループ名(今回であれば「alphaeridanus」)部分は先の「X-Ayatana-Desktop-Shortcuts=」で記述したグループ名と同じにする必要があります。
    また、青字部分がChromiumにおけるプロファイルを格納するフォルダ名になります。

【参考】

2012年7月15日日曜日

Ruby On Rails 3.2 環境準備(インストール)

いつの間にか最初からインストールするのが面倒になっていたみたいなので、メモとして残す。
(皆さん苦労されている様子。使い始めるまでに苦労したのでは、やる気が失せてしまう。。。)

参照先2つをコンボ。DevKitの入れ方が参照先1つめと異なる。あぁRuby1.9.3p194の導入方法も違います。Installerを使いたくなかった為、圧縮ファイルを解凍して利用する方法を記述してます。
(Installerを使わなかったのは、環境変数とかを勝手に変更されることを嫌っただけ)

【環境】
  WindowsXP SP3, Ruby1.9.3p194, Rails3.2.6

【Install項】
○Ruby1.9.3p194
  Development Kitを利用する為、フォルダ名に空白(Space)及び日本語フォルダにインストール出来ない。(エラーとなってしまう。即ち、c:\Program Files\ruby などにインストールできない)
  • Ruby Installer for Windows Downloads より 7-Zipで圧縮されている Ruby 1.9.3-p194 (ruby-1.9.3-p194-i386-mingw32.7z)  を取得(Download)する。
  • 7-Zipにて解凍し、c:\Ruby\ruby193p194 へ保管
  • ruby193p194フォルダに「Ruby193p194.bat」を作成。下記3行を記入。
    set PATH="C:\Ruby\Ruby193p194\bin";%PATH%
    cd "%USERPROFILE%\My Documents"
    cls
  • ruby193p194フォルダで右クリック「新規作成」-「ショートカット」を選択。「項目の場所を入力してください」にて「cmd」と入力し「次へ」を押下。「ショートカットの名前を入力してください。」にて「Ruby193p194」を入力し「完了」を押下。 
  • Ruby193p194 のプロパティを開く。リンク先を下記へ変更 (/k以降を追記)
    %windir%\system32\cmd.exe /k "C:\Ruby\Ruby193p194\bin\ruby193p194.bat"
  • Ruby193p194をダブルクリック(コマンドラインを表示)
    > Gem update --system
    > gem update rake
○Development Kit
  jsonをインストールするのに必要。(Development Kitによりコンパイルが行われる)
  • Ruby Installer for Windows の Downloads より 7-Zipの自己解凍形式で圧縮されている DEVELOPMENT KIT(DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe)を取得(Download)する。
  • ダブルクリックにて自己解凍を行う。
    (解凍先は「C:\Ruby\devkit」フォルダ)
  • コマンドプロンプトにて、以下を実行。
    > ruby dk.rb init
  • Devkitフォルダ内に「config.yml」が作成される。中を開いて、以下を最下行へ記入し保管。
    - C:Ruby/Ruby193p194
  • コマンドプロンプトにて以下を実行(インストール実施)
    > ruby dk.rb install
○Ruby On Rails
  Railsのインストール。
  • > gem install rails
○Sqlite3
  Sqlite3のインストール。
【Application項】
  アプリケーションを作成するフォルダへ移動(今回は C:\Documents and Settings\<UserName>\My Documents\rails
  • cd "%USERPROFILE%\My Documents"
  • > rails new memopad
  • > cd memopad
  • > bundle install
  • > rails g scaffold memo uid:string title:string body:text
  • > rake db:migrate
  • > rails s     
  • http://localhost:3000/memos (ブラウザで左記へアクセスする)
以上で取り合えず準備完了を確認。ここからは開発するアプリケーションのセンス?のみ?
(センス無いんだけど。。。さて何作ろう。)


【 参考】

2012年6月15日金曜日

Ruby On Rails 3の記事 ~備忘~

【Rail ドキュメント】
http://railsdoc.com/

【CodeNote.net】
 ○Ruby on Rails 入門

【Ruby Life】
 ○Railsインストール
   ・Railsのインストール
   ・データベースへのアクセス
   ・RubyGemsのインストール

 ○Ruby on Rails入門
   ・アプリケーション作成から実行までの手順
   ・Scaffoldを使ったアプリケーション雛形の作成
   ・コントローラとアクション
   ・ルーティングの設定
   ・モデルとデータベース
   ・テンプレート(ビュー)とヘルパーメソッド


【TECHSCORE】
 ○Ruby on Rails

    1. Ruby on Railsとは
    2. Rails開発環境インストール
    3. Railsアプリケーションの作成
    4. scaffoldを利用した開発
    4. scaffoldを利用した開発2
    5. Aptana Studio 3の導入
    6. デザインパターンから見たActive Record


【@IT】
 ○Rails Hub 
 ○Ruby on Rails3で学ぶ、Web開発のキホン
   第1回 MVCとRailsの基本構成を学ぼう
   第2回 Railsの全体像を知ろう
   第3回 「ActiveRecord」の基本とデータの参照
   第4回 ActiveRecordの更新系操作
 ○Railsコードリーディング~scaffoldのその先へ~
   第1回 コードリーディングを始めよう
   第2回 RSpecを使ったテストコードを読もう
   第3回 ActiveRecordを使ったソースコードを読もう
   第4回 ActionViewを使ったソースコードを読もう
   第5回 OpenIDを実装したソースコードを読もう
   最終回 全文検索を実装したソースコードを読もう


【日本OSS推進フォーラム】
 ○15. Light Weight Languageに関する知識 II
   II-15-1. Ruby on Rails (RoR)の仕組み
   II-15-2. Ruby on Rails (RoR)の仕組み
   II-15-3. Railsにおけるデータベース連携
   II-15-4. RoRを利用したデータベースアプリケーション開発
   II-15-5. RoRを利用したWebアプリケーション開発
   II-15-6. Webアプリケーション開発のカスタマイズ
   II-15-7. RoRの機能拡張
   II-15-8. RoRのプラグイン開発
   II-15-9. RoR応用アプリケーションの利用
   II-15-10.Radiant CMSのカスタマイズ



以下はVer2?やその他記事


【傲慢SE日記 ~30歳からの挑戦~】
 ○Ruby on Rails 命名規約 草案

【オルタナティブ ブログ】
 ○ニフティクラウド活用Tips
   ・契約後からRails3稼働環境構築まで(前編)
   ・契約後からRails3稼働環境構築まで(後編)


【日本OSS推進フォーラム】

 ○15. Light Weight Languageに関する知識 I
   I-15-5. Rubyの特徴、基本的な構造、型、演算子、制御構文
   I-15-6. Rubyによるオブジェクト指向プログラミング
   I-15-7. Rubyが持つ特徴的なデータクラス(配列、ハッシュ等)
   I-15-8. Rubyにおけるデータ(数値、文字列、その他)の操作
   I-15-9. Rubyによるファイル操作のプログラミング
   I-15-10. Rubyを用いたGUIアプリケーション開発


【@IT】
 ○3rdRailによるRailsプログラミング入門
   第1回 初めてのRailsアプリケーション開発
   第2回 ActiveRecordが提供するModel機能を理解しよう
   第3回 「つぶやき」アプリを改修してみよう(前編)
   第4回 「つぶやき」アプリを改修してみよう(後編)
   第5回 RailsアプリにおけるControllerの位置付け
   第6回 Controllerクラスの実装と機能テスト(前編)
   第7回 Controllerクラスの実装と機能テスト(後編)
   第8回 Webブラウザー・ツールで動作確認をしよう
   第9回 3rdRailのデバッグ機能を使ってみよう
   最終回 3rdRailでプロファイリングしよう
 ○【連載】Railsで目指せ、情熱エンジニア
   第1回 Railsを始めたきっかけ
   第2回 Railsの学び方
   第3回 DojoとKataでRubyを学ぼう
   第4回 忘れやすい人のためのRailsリファレンスガイド
   第5回 なぜリファクタリングは必要なのか?
   第6回 実例アプリで学ぶ“Railsらしさ”の基礎
   第7回 Railsの人気テストフレームワーク6選!
   第8回 実例で学ぶRailsアプリのテスト方法