2010年9月20日月曜日

FreeMindですいすいユースケース分析

今日は朝から雨の飯綱町です。
既に半そででは肌寒い感じで、あと1ヶ月もすればこたつと薪ストーブが恋しくなる季節になります。
今年は猛暑で早く涼しくならないかと思っていたのですが、いざ夏が過ぎるとあっという間に冬支度の北信州です。

さて、今日も上流工程ネタで行きたいと思います。

先日、上流工程の情報は全てFreeMindにまとめなさい的な記事を書きましたが、今日はその続編ということで、FreeMindをどのように上流工程で使うかについて書きたいと思います。


上流工程で記述するドキュメントは前回の投稿でも書いたとおりですが、FreeMindが活躍するのは何といってもユースケース分析の時です。

ユースケース分析で記述するドキュメントは、ユースケース図とユースケース記述書があります。


私はユースケース図をAstahProfessionalで、ユースケース記述書はFreeMind0.9.0で書いています。


もちろん統合開発ツールであるAstahProfessionalにもユースケース記述書を書く機能は搭載されているのですが、ユースケース記述書が8割以上完成するまでは、AstahProfessionalの機能は使わず、FreeMindを使っています。




FreeMindをつかう理由は主に3つあります。


ひとつめは、FreeMindのほうが情報をスピーディーに構造化しやすいことです。

確かにAstahのユースケース記述書機能は、下記のように構造化された記述フォームが用意されています。

しかし、エンドユーザからヒヤリングしたてで明確な構造が見えていない状況において、いきなり形式化されたフォームにイベントフローなどを記述するのは、記述の目的と効率化の観点からあまりお勧めできるものではないと思います。


それよりも、FreeMindのようなツールで「まず明確なところから」そして「書きやすいところから」書くほうが、仕事ははるかに分析しやすく、そして仕事も速くなります。


ユースケースは記述することが目的ではなく、業務とシステムの境界線、プロジェクトのスコープを明確にし、業務全体を構造化することが目的のはずです。


そういう目的に立ち返ると、ユースケース記述書はあくまでも分析結果・構造化の結果を書くものであり、分析・構造化の過程を記述するには向いていないことが解かります。


なによりもきっちりと書式が整った書類に書くときのデメリットは、記述しながらわからないことや疑問点が出てきたら、そこで仕事が止まってしまうということです。


ここで仕事の生産性が落ちてしまいます。


もちろん、わからない部分をペンディングにして、それ以降を書き続けることもできるでしょう。


しかし、心理的にも人間の脳の特性的にも、完璧にフォーマットされた書類に、「中途半端」な状態で文書を保存しておくのは、なんだか気持ちの悪いものです。


その点、FreeMindでの記述だと、書式化されたものではないので、解からない部分はそのままにしておき、わかる部分からスイスイ書いていくことができます。

FreeMindで構造化したユースケース記述書


そしてわからない部分には、0.9.0から登場した強力な機能である「属性」機能でマーキングしておき、「フィルタ」を使って、漏れなく調査やヒヤリングすることができます。


そしてこの属性とフィルタ機能が使えることが、FreeMindをつかう2つ目の理由です。


FreeMindはバージョンが0.9.0になって「属性」と「フィルタ」という強力な機能が追加されました。


属性機能とは、ブランチに構造化されたタグをつける機能です。


ブランチに属性(タグ)を追加する。


例えば、経理部門に提供するサービスのユースケースを記述しているときに、ふと疑問点やヒヤリングが十分でない箇所が出てきたとします。


そういうときに、【要ヒヤリング / 経理部】という属性をブランチにつけておき、具体的な質問事項をブランチのノートとして記述しておきます。


そしてフィルタ機能で、全てのブランチから【要ヒヤリング="経理部"】という属性(タグ)のついたブランチのみをフィルタします。

フィルタの定義
ブランチをフィルタした結果







こうすることで、ヒヤリング項目を効率的に管理することができます。


ちなみにこれには副次的な効果があります。


フィルタ機能は、単純にそのブランチのみを抽出するのではなく、上位ブランチと下位ブランチを表示することができます。


この機能により、その質問・疑問がどういった関連性を持っているのかをひと目で確認することができるのです。


Excelなどでヒヤリング台帳や質問台帳を管理し、それをもとにヒヤリングを実施すると、時に「自分はなぜこんな疑問を持ったのだろう?」と質問・疑問の「意図」や「本質」を忘れることはありませんか?


こういった質問・疑問の意図や本質というのはなかなか言語化しずらく、多くは記憶にイメージとして残っています。


このイメージを如何に効率よく引っ張り出せるかで、ヒヤリングの質というのはまったく変わるのですが、FreeMindをつかうと、MindMapがもつフィードバック効果を得ることができるので、ヒヤリングの質が飛躍的に向上するのです。


いかがでしたでしょうか?


FreeMindの0.9.0から実装された属性とフィルタの機能を使うと、こういったメモ以外にも様々な使い道があります。


「属性」はブランチで関連付けられている関係性とは別の視点・評価基準における関係性をブランチに付与することができます。


そして何よりもこの属性がに階層構造を持たせることができるのがすばらしい。


今回の例では、以下のような構造を作りました。

▼要ヒヤリング

├→経理部

├→総務部
└→経理部





これで2次元構造であったマインドマップが、立体的・3次元的な構造になり、より複雑な情報を効率的に管理することができます。


できればこの機能は本家のiMindMapにも実装してほしいところですが、恐らくトニーのおじさんから「そんなもんはマインドマップじゃない!」と一喝されそうですね(笑)


しかし、この機能はシステム開発の現場、特に情報が抽象的な上流工程では、その抽象的な情報を構造化するにあたって極めて有益な機能です。


_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
株式会社ライジングサン・システムコンサルティング
岩佐和紀
URL : http://www.risingsun-system.biz/
認定資格 :
 上級システムアドミニストレータ
 FileMaker認定デベロッパーVer10/11

2010年9月12日日曜日

上流工程の生産性を上げるツール

おはようございます。

今朝の飯綱町はちょっと曇り気味で、時折小雨も降っています。


本日は、上流工程の生産性を上げるツールというテーマで書いてみたいと思います。


上流工程の仕事はひたすらドキュメンテーション!
私が主に書くドキュメントは次のようなものです。
  • 情報システム活動計画書  
  • RFP
  • 要件定義書
  • 業務フローチャート
  • 業務記述書
  • ユースケース図
  • ネットワーク構成図
  • システム概念図

これらのドキュメントを書いていく上で、いかに早く正確にドキュメントを記述できるかは、私にとっての死活問題です。

フリーランスの技術者という商売は、多くが自分の時間を切り売りして収入を得ているので、収入を上げようとすると時間当たりの単価を上げるか、長時間働くかの2社択一になります。

もちろんこれ以外にも、自分で開発したソフトウェアのライセンスフィー収入や、著作からの印税収入なども見込むことはできますが、これができる技術者はなかなかいないのではないでしょうか。

そうであれば、時間単価を上げるか、長時間労働をするかの2社択一になります。

個人的には両方必要だと思いますが、時間単価を上げるということはすなわち短時間で人よりも多くのアウトプットができることが絶対的な条件になります。

ちなみに日本のSE単価は、ほとんどが勤続年数や相場など、その技術者の実力とはかけ離れたところで決まる部分があるので、エンドユーザ的に「ババを引いた…」と思うのは、時間当たりのアウトプット能力が低い技術者に当たってしまったときですよね…

特に上流工程は、特に情報の抽象度が高い工程を相手にするので、抽象思考やイメージ能力が高い技術者と、そうでない技術者のパフォーマンスには雲泥の差が出ます。

短時間で多くのアウトプットができて、さらに長時間労働ができる集中力・体力・モチベーションがあることが、フリーランスの技術者が最も確実に自分の価値をあげることができる手段になります。

そういえば長時間労働は、ランチェスター経営・「弱者の戦略」でもありましたね。

さて、前置きが長くなりましたが、このような上流工程で作成するドキュメントをいかに効率よく作成する「ツール」について書きたいと思います。

私はこれまで数あるシステム開発プロジェクトを経験してきましたが、SEさんによってドキュメントを記述するソフトウェアは様々です。



上流工程で使うプロ仕様のツール


フローチャートをExcelやパワーポイントで書く人。

フローチャートだけでなく、ネットワーク構成をはじめとする上流工程全てのドキュメントをExcelだけで書く人。(Excelって偉大だなぁ~)

もちろん、こういったツールの選択が「悪い」というわけではないのですが、個人的に思うのが、プロなんだからプロが使う道具で仕事をしましょうということです。

例えばフローチャート。

特に上流工程で必要となる部門間連携を表現するレーン付きのフローチャートや、産能式事務工程図を書く場合、とてもExcelやPowerPointで書ききれるものではありません。

もちろん手間と時間をかければ書くことはできるのですが、追加・修正などのことを考えるときわめて効率が悪くなります。

フローチャートであれば、それ専用のツールを使うのもプロの条件のひとつだと思います。

プロであれば、他人より圧倒的に早く仕事ができることもプロたる条件。

であればフローチャートを描くにはVisioや、ちょっと値は張りますがXUpperやJUDE/Bizといった専用ツールを使うべきです。

もし会社がそういったツールを買ってくれないというのであれば、そんな会社はさっさと三行半をたたきつけるべきです。(笑)

まぁ三行半というのは行き過ぎかもしれませんが、そこの経営者は、適切なツールの選択による生産性の向上と利益の増大よりも、目先数万円のキャッシュがもったいないという感覚なので、既に経営者としての視点は持っていないということでしょう。

そんな会社は遅かれ早かれ行き詰るのが目に見えています。



一番大変なのは、膨大な関連情報の整理と数百ページになるワープロ文書


先に書いたとおり、フローチャートをはじめとする特殊なドキュメントには、それを補完するためのプロ用ツールが出ているのでそれを使うことがプロとしての生産性を挙げてくれる重要なファクターであることは明白だと思います。

またこれ以外にも、ネットワーク構成やシステム概念図、ER図や簡単なGUI設計ツールもプロとしてしっかりと揃えておきたいところです。

さて、そんな上流工程の中で使用するツールでも、「プロ用」と分類できるようなツールが無いのがワープロです。

要件定義書やRFPは、最終的にワープロ打ちしてA4のドキュメントで納品するのが大体のパターンだと思います。

しかし、このワープロについてはプロ用と呼ばれるツールがありません。

要件定義書やRFPは、しっかりとやればやるほど、記述する内容は膨大になります。

技術要求・業務要求・非機能要求など、頭の中にぼんやりならイメージできるものでも、いざそれを正式な要求・要件として文字にしようとすると、膨大な量になります。

これを章立てして、論理的な構造で組み立て、さらにプロジェクトの利害関係者の誰が呼んでも一定のレベルで理解できる文言で書くのは、極めて手間のかかる作業です。

例えば一般的に3000万レベルの小規模プロジェクトでも、教科書どおりの要件定義やRFPを作成すれば、ドキュメントの記述量はA4用紙で直ぐに100ページを越えます。

こんな膨大な文書を書くのに、いきなりまっさらのWordを開いてゴリゴリ入力していくのは極めて非効率的です。

そこでは私は、この作業にFreeMindを使っています。



FreeMindは上流工程の乗り切るためのプロ用ツールになる。

FreeMindはいわずと知れた(?)、マインドマップ風アウトラインプロセッサ。

生粋の(?)マインドマッパーからいわせていただくと、これはマインドマッピングのツールではなく、アウトラインプロセッサです。

しかし、個人的にはこれが上流工程の作業で最も活躍するツールかも知れません。

先にも書いたとおり、上流工程で作成するドキュメントの特徴は、記載する項目が多岐にわたり、アウトラインが何階層にもわたって深くなるということです。

また、アウトラインごとに関連付けて記述したいことが多々あるのもこれらのドキュメントの特徴です。

例えばある業務要件と技術要件が密接に絡み合っている場合、できれば「○○を参照」と入れたいですし、書く側としては容易にその参照先にジャンプできること生産性があがります。

さらに、ある章の内容を書いているときに、ふと他の章の追加記述や、システム化のアイデアが浮かぶもありますし、エンドユーザへの質問事項が頭に浮かぶこともあります。

そういったものは忘れないうちに文字にしておくと、後から思い出す必要も無く、忘れてしまうというロスもなくなります。

こういった一連の作業を効率よくできるのがこのFreeMindです。

例えばエンドユーザに確認しなければならない事項が出てきたら、関連するブランチにノートとして記述し、[?]などのアイコンをつけておけば、次回のヒヤリングで漏れなくそれを訴求することができます。

また、ふとしたシステム化のアイデアも、関連するブランチにノートとして記述しておき、電球アイコンなどをつけておけば、エンドユーザに漏れなく提案することができます。

さらに、ドキュメントを記述中に出てきたToDoもすばやく記述して、チェックマークなどのアイコンをつけておけば、ToDoを漏らすことがありません。

ここでFreeMindの素晴らしいのが、アイデアでも質問事項でもToDoでも、何をしているとき、何を考えているときにそれが生まれてきたかを関連付けて記録することが可能なことです。

これが別のノートやToDoリストに書き出してしまうと、「これは何の作業をしているときに出てきた質問事項だ?」となってしまいます。

FreeMindを使うと、そういった「何を源泉にこのToDoや質問が湧いてきたのか?」が、直ぐにわかります。

さらに素晴らしいのが、これらの質問事項やToDoを数あるブランチから一瞬にしてソーティングして一覧化することができることです。

マインドマップの原則を守るとありえないことですが、RFPや要件定義をFreeMindで書いていると、A0サイズの紙で印刷してもまだ足りないぐらいの大きさになります。

それだけの文書から、あるところに記述したToDoや質問事項を見つけ出すことが、FreeMindでは簡単にできてしまうのです。

もちろん、これ以外にもFreeMindを使った「上流工程ハック」はたくさんあります。

外部ファイルへのリンク埋め込みやURLリンクの埋め込みを使えば、周辺資料のまとめも極めて効率的にできますし、ドキュメントの作成時にも、あらかじめ全てのアウトラインをブランチとして書き出しておけば、書ける所から書いていくという作業が可能です。

ワープロだとどうしても頭から書いていくので、あるところで躓くとその先がどうしても進まなくなります。

こういった躓きによる作業中断がFreeMindを使うとかなり解消できます。

これらFreeMindを使った「上流工程ハック(?)」は、それこそ相当な量のドキュメントを書く必要があるので、また別の機会に詳しく書きたいと思います。



情報は全てFreeMindにまとめなさい?
今回はFreeMindを使った上流工程作業について書いてみました。

FreeMindは別にプロ用のツールというわけではなく、価格もフリーです。

上流工程を「Excel」と「Word」だけでがんばっている技術者さんには、ぜひ知ってほしいツールになります。

上流工程では、とにかくMECE精神で関連する多くの情報をかき集め、論理的に整理して問題点を定義し、バラバラと出てくる改善点も同じく論理的にまとめて要求・要件を定義していく作業、そしてそのかき集めた情報を文字化していく作業がその大半になります。

この作業を極めて効率的に行えるのがFreeMindです。

ちょっと前に「情報は全て100円ノートにまとめなさい」という本が出版されていましたが、私の場合は全てFreeMindにまとめなさいといったところですね。


_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
株式会社ライジングサン・システムコンサルティング
岩佐和紀
URL : http://www.risingsun-system.biz/
認定資格 :
 上級システムアドミニストレータ
 FileMaker認定デベロッパーVer10/11

2010年9月7日火曜日

情報システム開発業における弱者の戦略

こちら長野県飯綱町は、朝夕に関してはすっかりすごしやすくなりました。

我が家周辺は治安が良いこともあり、夜寝るときは窓全開で寝ているのですが、朝方は寒くて目が覚めることがあります。

今年は記録的な猛暑で、寝苦しい夜が続いていたのですが、ようやく北信州らしい気候になってきました。


さて、今日は情報システム開発業における弱者の戦略ということで書いてみたいと思います。


情報システム産業は、長引く不況の影響で、経営が苦しくなるソフトウェアハウス・システムインテグレータが相当数に昇っているのは、業界の方であれば周知の事実であると思います。


実は先日も、複数のソフトウェア開発会社の営業さんや経営者さんから、仕事が無くて困っている、案件が決まらずに困っているという話をお伺いしました。


2008年のリーマンショック以降、「真水キャッシュフローの源泉」である常駐技術者を返されたり、1000万円を越える案件の受注率が極めて悪くなったりと、中堅・中小規模のソフトウェア開発分野における経営環境は極めて悪くなっているようです。


翻って、私がお付き合いをさせていただいている開発会社さんの中には、仕事を断らなければならないほど活況な会社もあります。


双方ともに規模としては数十名規模、同じソフトウェア開発会社を生業としているのに、この差はどこから出てくるのでしょう。


今日はこんなことを考えてみたいと思います。

考えるベースになっている世界観は、弱者の戦略・ランチェスター経営です。


現在の日本におけるソフトウェア開発会社は、メーカー系の大手を除いてその99%が「弱者」と考えてよろしいでしょう。


例えばこの地域では一番の・・・という会社でも、ここ数年の技術動向から考えると「弱者」であると考えるべきです。


それが数十名から数百名規模の中堅・中小レベルであれば、圧倒的な番外弱者と考えたほうが良いでしょう。


このランク付けのキーとなっている技術動向・技術トレンドというのはズバリ「クラウド」です。


この技術トレンドのおかげで、地方の小さな開発会社であろうが、都内の数百名規模の会社であろうが、世界的なクラウド技術プロバイダーであろうが、同じ競争空間に放り込まれてしまうのです。


クラウド化の本質は紛れも無く仮想化・バーチャルかであり、これを経営戦略という視点からみると、競争の優位性が物理空間(リアル)から情報空間(バーチャル)に移ることにあります。


情報空間とは限界効用逓減の法則が働かない世界なので、独占した人たちが圧倒的に優位な競争空間です。

世界的企業と数名・数十名規模でシステム開発している会社が、バーチャル空間上で同じ土俵に上げられて、いつの間にか競争させられているんですね。


地方で数名規模でソリューション開発をしている会社と、SalesForce.comのような世界規模で商売をしている会社が比較されてしまうのが「情報空間」における競争の本質です。

例えば、「いつも付き合いのあるあの会社に開発をお願いするのと、セールスフォースを使うのはどっちが得だろう?」

ソフトウェアを発注する側であれば、こういった考慮は必ずされるでしょう。


実はこの時点で、数十名規模の会社と世界規模のクラウド屋さんが比較されてしまっているのです。



だからこそ、一般的な開発会社は弱者の戦略を徹底的に研究し、それを実践するしか生き残る道が無いのです。


冒頭に上げた、経営が汲々としている会社さんと、仕事を断るぐらいお客さんから問合せが来ている会社の違い。


これは、意識的にか無意識的にか解かりませんが、後者の会社さんはしっかりと「弱者の戦略」を実行されているように思えます。


顧客・商品の絞込み、そして「接近戦」といったことをしっかりされているんですね。


さらに戦略ではなく戦術レベルの話をすると、ソフトウェア開発業で極めて重要なのが、自社で取り組む技術分野の絞込み。

これは「武器の選択」といっても良いでしょう。


弱者が採用すべきは、接近戦に優位な武器。

自社が絞り込んだ業界・客層に優位な武器は何なのかをしっかりと見据える必要があります。

ここで明らかなのは、強者が使う武器を使って戦ってもダメだということ。


弱者には弱者にふさわしい武器があるし、その武器が通用しないところには出て行ってはいけない、そういった土俵に登ってはいけないということになります。


ちなみに、私はこの弱者の武器としてFileMakerテクノロジーを選択しています。

私は「実装能力のあるITコンサルタント」なので、システム企画や要件定義の仕事がメイン名のですが、実装フェーズに自らが動くこともあります。


その時に使うのがFileMakerテクノロジーです。


これは、私のような弱者にはぴったりの武器です。


これを使うことで、強者の武器を使って戦っている中小規模のソフトウェア会社の技術者数人分の仕事を、私1人でこなすことができます。


結果、お客さまからは喜ばれるし、自分自身の仕事にも誇りと自信を持つことができます。


注意しなければならないのが、世の中に出回っている技術情報は、そのほとんどが強者が使うべき武器の情報で、弱者が使うべき武器の情報はまったくといっていいほどメジャーなメディアでは取り上げられないということ。


情報システム開発業における弱者の戦略は、メジャーメディアでは絶対に取り上げられないので、自らが研究し、実践し、トライアンドエラーで見出す以外に方法はありません。


また、弱者の戦略を勉強するのであれば、ランチェスター経営の竹田先生が作られている教材、そして神田昌典さんのダントツ企業オーディオセミナーをはじめとする各種教材はすごく勉強になります。


ランチェスター経営:http://www.lanchest.com/
神田昌典さん:http://www.kandamasanori.com/


弱者の戦略、勉強しましょう!

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
株式会社ライジングサン・システムコンサルティング
岩佐和紀
URL : http://www.risingsun-system.biz/
認定資格 :
 上級システムアドミニストレータ
 FileMaker認定デベロッパーVer10/11