<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
<title>悪態のプログラマ</title>
<link>http://ameblo.jp/argv/</link>
<description>とある職業プログラマの悪態を綴る。
入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。</description>
<language>ja</language> 

<item>
<title>低レベルなプログラミング</title>
<description>
<![CDATA[ <p>「低レベルなプログラミング」と聞いて、どういうものをイメージするだろうか。プログラマとそうでない人では、答えが違ってくるのではないだろうか。</p>
<br />
<p>一般の人には、「誰でもできそうな簡単なプログラミング」、あるいは「質の悪いプログラミング」といった意味にとられるかもしれない。</p>
<br />
<p>しかし、プログラミングについての文脈で「低レベル」といわれる場合は、通常は「ハードウェアに近い」という意味である。つまり、「低レベルなプログラミング」とは、「ハードウェアが理解する言葉」に近い（たとえばアセンブラのような）言語を使ったプログラミングだとか、直接ハードウェアに命令を送って制御するようなプログラミングのことである。</p>
<br />
<p>このハードウェアとの「近さ」は測定できる類のものではないが、プログラマ（あるいはその周辺の業界人）は、なんとなく了解していると思う。このブログの「<a href="http://ameblo.jp/argv/entry-10064288690.html" target="_blank">スキルアップのためにラップを剥がしてみる</a>
」というエントリで「層」と表現したものにも近いだろう。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>もともと「レベル」という言葉は「何らかの基準」を意味しているだけである。それが何の基準であるか、ということは文脈によって変わるので、別段ここでの使われ方が特殊であるというわけではないだろう。</p>
<br />
<p>しかし、何の説明もなく「低レベル」という言葉を使うと、上記のような了解のない人には、「品質が低い」、「スキルが低い」といった侮蔑的な意味に誤解される可能性があるので、気をつけたい。</p>
<br />
<p>また、初心者プログラマの中には、そのような誤解をしてしまう人も多いかもしれない。あるいは「低レベル・プログラミング」と聞いて、「簡単そう」と思ってしまう人もいるかもしれない。しかし、低レベルなプログラミングほど難易度は高レベルだったりもするので、注意が必要である。<br />
</p>
<p><br />
</p>
<br />
<div align="right"><a href="http://blog.with2.net/link.php?20792" target="_blank">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a>
</div>
<br />
<br />
<hr />
<p><br />
■関連記事<br />
・<a href="http://ameblo.jp/argv/entry-10000922750.html" target="_blank">普通の言葉</a>
<br />
・<a href="http://ameblo.jp/argv/entry-10011364194.html" target="_blank">「￥」について普通の感覚で考えてみる</a>
<br />
・<a href="http://ameblo.jp/argv/entry-10064288690.html" target="_blank">スキルアップのためにラップを剥がしてみる</a>
<br />
・<a href="http://ameblo.jp/argv/entry-10000109030.html" target="_blank">簡単フレームワーク・プログラミングの罠</a>
<br />
</p>
<br />
<hr /><br />
<font size="1"><div style="margin-bottom: 0px;" class="amazlet-box"><div style="float: left;" class="amazlet-image"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4839909865/argv-22/ref=nosim/"><img style="border: medium none ;" alt="CPUの創りかた" src="http://ecx.images-amazon.com/images/I/51ATDABNHEL._SL160_.jpg" /></a>
</div>
<div style="float: left; margin-left: 15px; line-height: 120%;" class="amazlet-info"><div style="margin-bottom: 10px; line-height: 120%;" class="amazlet-name"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4839909865/argv-22/ref=nosim/">CPUの創りかた</a>
<div style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;" class="amazlet-powered-date">posted with <a target="_blank" title="CPUの創りかた" href="http://www.amazlet.com/browse/ASIN/4839909865/argv-22/ref=nosim/">amazlet</a>
 at 09.05.05</div>
</div>
<div class="amazlet-detail">渡波 郁 <br />
毎日コミュニケーションズ <br />
売り上げランキング: 1745<br />
</div>
<div style="margin-top: 10px; margin-bottom: 10px;" class="amazlet-review"><div style="margin-bottom: 5px;" class="amazlet-review-average">おすすめ度の平均: <img alt="4.5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" /></div>
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> 基本的な電子回路でCPUができる<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> 趣味の本だよねぇ<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> 読んでもすぐには理解できませんが、他のＣＰＵ本はもっと理解できません<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> ノイマン型コンピュータを自作する・・・名著かも<br />
<img alt="4" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" /> CPUの超基本構造<br />
</div>
<div style="margin-top: 5px;" class="amazlet-link"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4839909865/argv-22/ref=nosim/">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div style="clear: left;" class="amazlet-footer"><font><br />
</font></div>
</div>
<br />
<div style="margin-bottom: 0px;" class="amazlet-box"><div style="float: left;" class="amazlet-image"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4906650775/argv-22/ref=nosim/"><img style="border: medium none ;" alt="真・コンピュータ用語辞典 (ホームページブックス)" src="http://ecx.images-amazon.com/images/I/51YFNMCGRNL._SL160_.jpg" /></a>
</div>
<div style="float: left; margin-left: 15px; line-height: 120%;" class="amazlet-info"><div style="margin-bottom: 10px; line-height: 120%;" class="amazlet-name"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4906650775/argv-22/ref=nosim/">真・コンピュータ用語辞典 (ホームページブックス)</a>
<div style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;" class="amazlet-powered-date">posted with <a target="_blank" title="真・コンピュータ用語辞典 (ホームページブックス)" href="http://www.amazlet.com/browse/ASIN/4906650775/argv-22/ref=nosim/">amazlet</a>
 at 09.05.05</div>
</div>
<div class="amazlet-detail">tell‐a‐lie <br />
キルタイムコミュニケーション <br />
売り上げランキング: 377785<br />
</div>
<div style="margin-top: 5px;" class="amazlet-link"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4906650775/argv-22/ref=nosim/">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div style="clear: left;" class="amazlet-footer"><font><br />
</font></div>
</div>
</font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10254777348.html</link>
<pubDate>Tue, 05 May 2009 01:13:51 +0900</pubDate>
</item>
<item>
<title>ダーティなデータ</title>
<description>
<![CDATA[ <p>「データがダーティである」という言い方は一般的だと思うが、私の周囲では伝わらないことも多い。</p>
<br />
<p>何らかのデータを変更するプログラムにおいて、保存されているデータを直接書き換えるのではなく、データをコピーしてからそのコピーを変更し、最終的に元のデータに書き戻す、という方法をとることがある。このとき、「コピーの方は変更されているが、元データには反映されていない」という状態を「ダーティである」という。</p>
<br />
<p>たとえば、ユーザーが画面でデータを編集するようなソフトでは、既存のデータを編集してそのまま終了しようとすると、「変更されています。保存しますか？」といったメッセージを表示するのが一般的だ。このような、データが「ダーティかどうか」という判定を「ダーティチェック」と呼んだりする。</p>
<br />
<p>また、データベースで「ダーティリード」という時の「ダーティ」も同じ意味だろう（「汚い」という英語の意味を考えるとこれが語源かも？）。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>「ダーティ」という言葉を使わなくても、「データが変更されたかどうか」と言えば伝わるのだから、あえて使う必要もない、と思うかもしれない。</p>
<br />
<p>しかし、開発チームの中で、このような、「使わなくてもやっていけるが、使うと便利」というレベルの言葉がどれだけ共有されているか、ということは、円滑なプロジェクトの進行のための要素のひとつである。</p>
<br />
<p>また、言葉を共有することの効果は、コミュニケーション面の向上だけでなく、ものの考え方（システム開発であれば「設計思想」など）の共有にまで及ぶことも多く、侮れないものである。<br />
</p>
<p><br />
</p>
<br />
<div align="right"><a href="http://blog.with2.net/link.php?20792" target="_blank">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a>
</div>
<br />
<br />
<hr />
<p><br />
■関連記事<br />
・<a href="http://ameblo.jp/argv/entry-10006987015.html" target="_blank">曖昧言葉</a>
<br />
</p>
<br />
<hr /><br />
<font size="1"><div style="margin-bottom: 0px;" class="amazlet-box"><div style="float: left;" class="amazlet-image"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4774136697/argv-22/ref=nosim/"><img style="border: medium none ;" alt="2009-'10年版 [最新] パソコン・IT用語事典" src="http://ecx.images-amazon.com/images/I/51EKaPtGvqL._SL160_.jpg" /></a>
</div>
<div style="float: left; margin-left: 15px; line-height: 120%;" class="amazlet-info"><div style="margin-bottom: 10px; line-height: 120%;" class="amazlet-name"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4774136697/argv-22/ref=nosim/">2009-'10年版 [最新] パソコン・IT用語事典</a>
<div style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;" class="amazlet-powered-date">posted with <a target="_blank" title="2009-'10年版 [最新] パソコン・IT用語事典" href="http://www.amazlet.com/browse/ASIN/4774136697/argv-22/ref=nosim/">amazlet</a>
 at 09.03.22</div>
</div>
<div class="amazlet-detail">堀本 勝久 大島 邦夫 <br />
技術評論社 <br />
売り上げランキング: 35830<br />
</div>
<div style="margin-top: 5px;" class="amazlet-link"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4774136697/argv-22/ref=nosim/">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div style="clear: left;" class="amazlet-footer"><font><br />
</font></div>
</div>
<br />
<div style="margin-bottom: 0px;" class="amazlet-box"><div style="float: left;" class="amazlet-image"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4877830790/argv-22/ref=nosim/"><img style="border: medium none ;" alt="IT英語のナゾ" src="http://ecx.images-amazon.com/images/I/51CX48ZM26L._SL160_.jpg" /></a>
</div>
<div style="float: left; margin-left: 15px; line-height: 120%;" class="amazlet-info"><div style="margin-bottom: 10px; line-height: 120%;" class="amazlet-name"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4877830790/argv-22/ref=nosim/">IT英語のナゾ</a>
<div style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;" class="amazlet-powered-date">posted with <a target="_blank" title="IT英語のナゾ" href="http://www.amazlet.com/browse/ASIN/4877830790/argv-22/ref=nosim/">amazlet</a>
 at 09.03.22</div>
</div>
<div class="amazlet-detail">豊沢 聡 緒方 孝文 <br />
カットシステム <br />
売り上げランキング: 261531<br />
</div>
<div style="margin-top: 10px; margin-bottom: 10px;" class="amazlet-review"><div style="margin-bottom: 5px;" class="amazlet-review-average">おすすめ度の平均: <img alt="4.0" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" /></div>
<img alt="4" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" /> 実務英語に即した本です。<br />
<img alt="3" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" /> 多少勉強になる<br />
<img alt="3" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" /> もっと収録語数をしぼってくれたほうが、個人的にはよかった。<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> この著者は語学もコンピュータも詳しい<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> IT業界人に限らず 中級以上の英語学習者にもお勧め!!<br />
</div>
<div style="margin-top: 5px;" class="amazlet-link"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4877830790/argv-22/ref=nosim/">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div style="clear: left;" class="amazlet-footer"><font><br />
</font></div>
</div>
</font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10228407175.html</link>
<pubDate>Sun, 22 Mar 2009 00:44:49 +0900</pubDate>
</item>
<item>
<title>サンプルコードで語る難しさ</title>
<description>
<![CDATA[ <p>プログラミング入門者のための教材として、「カレンダーを表示するプログラムを作れ」という課題がある。この課題に対して「カレンダーなんて OS に付属しているのに、なんでそんなもの作るんですか？」という人がいる。なんという的外れな意見だろう。言うまでもなく、勉強のために作るのであって、使いたいから作るわけではない。</p>

<br />


<p>これは極端な例だが、この手の齟齬はよく起こる。ブログのコメントなどを読んでいると、「本来の意図が伝わっていないな」と思うことは日常茶飯事である。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>CodeZine の「<a href="http://codezine.jp/article/detail/3055/" target="_blank">コーディングスタイルの常識をぶち壊せ</a>

」という記事のコメントや「はてブ」のコメントを読んでいて、改めて感じた。</p>

<br />


<p>この記事の２つ目のサンプルソースについて、「こんな用途に switch は使うべきでない」とか、「配列を使ったほうがよい」などというのは野暮である。「常識」的に考えて、この記事の著者も他の読者もそんなことは分かっているだろう。</p>

<br />


<p>ここでは、「同種の記述を繰り返す時は、複数行にせず、桁位置を揃えて書くと見やすい」と言っているだけである（つまり「表」のようなコードにしろと）。サンプルソースでは、その「同種の記述」の単純な例として、たまたま「２つの文字列リテラルの変数への代入文」が書かれているというだけである。もちろん、代入文である必要はなく、数値演算でも関数呼び出しでも、何でもよかったはずだ。</p>

<br />


<p>しかし、この何でもいいはずの処理内容（ここでは代入文）に引きずられてしまう読者は意外と多い。プログラマがソースコードを読むということは、普通なら「処理内容を理解する」ということなので、そういう読み方が染みついてしまうのだろう。「ソースはこう読むものだ」という「常識」にとらわれて読み方を変えることができないとも言える。</p>

<br />


<p>そういう意味で、「処理内容以外のことを伝える」ためのサンプルソースを作ることは難しい。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>このブログでも、「コードの書き方」を論ずるためにサンプルソースを載せることがあるが、文章を書く以上に頭を悩ませる。「書き方」を見せるだけだから「処理内容」は何でもよい、といっても、リアリティがなければ上記のように読者の気が逸れてしまう。実例（職場で見つけたコード）を載せればリアルではあるが、逆に複雑になりすぎて論点がぼやけたり、一部だけ抜き出しても意味不明になったりする。</p>

<br />


<p>実は、上記の CodeZine の記事と似た内容の記事も書いたことがある。「<a href="http://ameblo.jp/argv/entry-10001636548.html" target="_blank">あなたにもできること</a>

」がそれだ。配列を使った簡単なサンプルソースを載せているだけだが、実はかなり悩んだ結果である。今読み返すと、あまりに説明が短いため、意図が伝わっていないような気もするので、ついでに補足しておこう。</p>

<br />


<p>コーディングの際、同じような処理を繰り返して書くときには、上に書いた行をコピーして下の行を作り、少しだけ改変していくような書き方をすることが多いと思う。が、そこで、改変し忘れるというミスをしたことはないだろうか？　この手のミスを防ぐには、どうすればよいだろうか？</p>

<br />


<p>最低限必要なことは、自分で書いたソースコードを読み返してチェックすることである。その時、「修正箇所」の桁位置が揃っていた方が、ガタガタと不揃いであるよりもずっとチェックしやすい。視線を縦に真っ直ぐ流せるからだ。</p>

<br />


<p>コードを印刷してチェックする場合は、指でなぞったり、ペンで印もつけやすい。画面でチェックする場合でも、カーソル（キャレット）を同じ桁位置で縦に動かして記述を追えるので確認しやすい。少なくとも私は、何度もそういう経験をしているので、自然とソースコードの桁を揃えるようになった。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>このようなソース・チェック時のメリットは、CodeZine の記事で「ケアレスBUGの混入が防げるため、メンテナンス性が上が」ると書かれていることと同じだろう。CodeZine の記事では、「桁位置を揃える」というだけでなく、「複数行にまたがらせない」という点も例示されているという意味では、よい記事だと思う。<br />

</p>


<p><br />

</p>


<p>しかし、「メリット」の説明がこれだけでは不足だ。「そんなことは誰もが承知している」という前提で書かれているのだろう。つまり、プログラマの「常識」だと。しかし、ソースを読み返さないプログラマは、意外と多い（記述ミスは動作確認でも見つけられるので）。常識と思っていることも、本当は常識ではないのかもしれない。そういう意味でも、「常識をぶち壊す」ということは難しいものである。<br />

</p>


<p><br />

</p>

<br />


<div align="right"><a target="_blank" href="http://blog.with2.net/link.php?20792">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a>

</div>

<br />

<br />

<hr />

<p><br />

■関連記事<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10001636548.html">あなたにもできること</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10000125201.html">誰のためのコード？</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10011956631.html">まずは丁寧なプログラミングを</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10013981260.html">プログラムは二度書け</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10022182596.html">読者指向プログラミング</a>

<br />

</p>

<br />

<hr /><br />

<font size="1"><div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774129852/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51B1bxpEVJL._SL160_.jpg" alt="プログラマの完全常識 開発者が知っておくべきプロの知恵" style="border: medium none ;" /></a>

</div>


<div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774129852/argv-22/ref=nosim/" name="amazletlink" target="_blank">プログラマの完全常識 開発者が知っておくべきプロの知恵</a>


<div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/4774129852/argv-22/ref=nosim/" title="プログラマの完全常識 開発者が知っておくべきプロの知恵" target="_blank">amazlet</a>

 at 08.11.25</div>

</div>


<div class="amazlet-detail">矢沢 久雄 <br />

技術評論社 <br />

売り上げランキング: 175375<br />

</div>


<div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /></div>

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> コンピューターを舞台裏から見よう<br />

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> ソフトウェア業界で働く事を考えている人は読んでおいた方が良い。情報処理技術者試験対策としても。<br />

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> プログラマ入門用本です。<br />

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> プログラマの完全常識<br />

</div>


<div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774129852/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>

</div>

</div>


<div class="amazlet-footer" style="clear: left;"><font><br />

</font></div>

</div>

<br />

<br />


<div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839912653/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51VNQ5GGEVL._SL160_.jpg" alt="Code Reading―オープンソースから学ぶソフトウェア開発技法" style="border: medium none ;" /></a>

</div>


<div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839912653/argv-22/ref=nosim/" name="amazletlink" target="_blank">Code Reading―オープンソースから学ぶソフトウェア開発技法</a>


<div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/4839912653/argv-22/ref=nosim/" title="Code Reading―オープンソースから学ぶソフトウェア開発技法" target="_blank">amazlet</a>

 at 08.11.25</div>

</div>


<div class="amazlet-detail">トップスタジオ まつもと ゆきひろ 平林 俊一 鵜飼 文敏 <br />

毎日コミュニケーションズ <br />

売り上げランキング: 14938<br />

</div>


<div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div>

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> コードリーディングのイロハ＆必要な知識・技術の全装備<br />

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> Code completeと併せて読むとよい<br />

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 着眼点は良いと思う<br />

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" alt="3" /> 意外なほどに教科書的な内容<br />

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> ホップ・ステップ・ジャンプ<br />

</div>


<div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839912653/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>

</div>

</div>


<div class="amazlet-footer" style="clear: left;"><font><br />

</font></div>

</div>

</font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10169317824.html</link>
<pubDate>Tue, 25 Nov 2008 01:44:57 +0900</pubDate>
</item>
<item>
<title>できること、できないこと</title>
<description>
<![CDATA[ <p>「こういうことができるか？」といった質問を受けることがある。質問する方は簡単なのだが、答えるのは難しい。何かが「できる」ためには、いろんな要因があるからだ。</p>
<br />
<p>・理論的にできる／できない<br />
・技術的にできる／できない<br />
・時間的にできる／できない<br />
・費用的にできる／できない<br />
・感情的にできる／できない<br />
</p>
<br />
<p>など。</p>
<br />
<p>ソフトウェア開発者の中には、理論的・技術的な可能性にしか注目しない人がいる。例えば、「既存のシステムにこんな機能を追加したいが、可能か？」という質問があったとする。それが、システムの仕様として矛盾がなく、実装方法が頭に浮かぶようなら、「できます」と答えてしまう。</p>
<br />
<p>しかし、ほとんどの仕事には「いつまでに（納期）」「いくらで（予算）」など、他の条件があるはずだ。質問者と回答者の間で、そうしたことが全く話題にならなかったとしたら、誤解が生じている可能性がある。回答者は多忙で寝る時間もない状態なのに、質問者は「頼んだらすぐやってくれるのだろう」と思ってしまうかもしれない。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>ついでに書いておくと、「できるか？」という質問の答えは「はい」か「いいえ」である。上記のように「条件」によって答えが変わる場合があっても、結局は「はい」か「いいえ」だ。</p>
<br />
<p>ところが、「できるか？」と聞かれて「がんばります」と答える人がいる。それは、できるの、できないの？　がんばったらできるの？　できないけどがんばるの？</p>
<br />
<p>いずれにせよ、できない可能性があるということなので、リスクを考えると、「がんばります」＝「できない」と見なすしかない。</p>
<br />
<p>しかし、これを「できる」とみなす人もいて、困ってしまう。できる前提でスケジュールを立てて、結局は遅れてしまう。</p>
<br />
<p>その仕事の成果として最低限必要な部分を 100％ とすると、「できるか？」という質問に対しては、その 100％ の仕事ができるかできないかを明確に答えるべきである。「がんばる」という言葉を使うとしたら、更にそれ以上の成果、110％、120％ を目指す場合にしか使うべきでない。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>プロジェクトでスケジュールを立てる場合、どの仕事を誰がどの期間で行うのか、ということを組み合わせていく。リーダーから各作業者に「できるか？」という質問がなされる場合も多いだろう。この際、各人の「見積能力」が重要なことは言うまでもないのだが、コミュニケーションについても注意が必要、という話である。<br />
</p>
<p><br />
</p>
<br />
<div align="right"><a target="_blank" href="http://blog.with2.net/link.php?20792">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a>
</div>
<br />
<br />
<hr />
<p><br />
■関連記事<br />
・<a target="_blank" href="http://ameblo.jp/argv/entry-10030542368.html">どうして仕事を断らないのだろうか</a>
<br />
・<a target="_blank" href="http://ameblo.jp/argv/entry-10000301293.html">意気込みは分かったから...</a>
<br />
・<a target="_blank" href="http://ameblo.jp/argv/entry-10015526156.html">話が通じない話</a>
<br />
・<a target="_blank" href="http://ameblo.jp/argv/entry-10088092319.html">感情の行き違い</a>
<br />
</p>
<br />
<hr /><br />
<font size="1"><div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822229777/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/415Na6tt7WL._SL160_.jpg" alt="本当に使える見積もり技術―ソフトウエア開発を成功に導く" style="border: medium none ;" /></a>
</div>
<div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822229777/argv-22/ref=nosim/" name="amazletlink" target="_blank">本当に使える見積もり技術―ソフトウエア開発を成功に導く</a>
<div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/4822229777/argv-22/ref=nosim/" title="本当に使える見積もり技術―ソフトウエア開発を成功に導く" target="_blank">amazlet</a>
 at 08.10.26</div>
</div>
<div class="amazlet-detail">初田 賢司 <br />
日経BP社 <br />
売り上げランキング: 20625<br />
</div>
<div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5.0" /></div>
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> FP法を詳説した良書<br />
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> ズバリ良書だと思います<br />
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 見積りの全体構造<br />
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> ファンクションポイント法の使いこなし方<br />
</div>
<div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822229777/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div class="amazlet-footer" style="clear: left;"><font><br />
</font></div>
</div>
<br />
<div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/482222113X/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41EE6VN4JCL._SL160_.jpg" alt="速効!SEのためのコミュニケーション実践塾 (日経ITプロフェッショナルBOOKS)" style="border: medium none ;" /></a>
</div>
<div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/482222113X/argv-22/ref=nosim/" name="amazletlink" target="_blank">速効!SEのためのコミュニケーション実践塾 (日経ITプロフェッショナルBOOKS)</a>
<div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/482222113X/argv-22/ref=nosim/" title="速効!SEのためのコミュニケーション実践塾 (日経ITプロフェッショナルBOOKS)" target="_blank">amazlet</a>
 at 08.10.26</div>
</div>
<div class="amazlet-detail">田中 淳子 <br />
日経BP社 <br />
売り上げランキング: 17930<br />
</div>
<div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /></div>
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> もっと早く、この本のことを知っていれば・・・<br />
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> コミュニケーションの大切さを実感！<br />
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> SE以外の人にもお勧め！<br />
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" alt="3" /> 速効性は高いですが…<br />
<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 図解・企業論文の書き方の著者の読後感想<br />
</div>
<div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/482222113X/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div class="amazlet-footer" style="clear: left;"><font><br />
</font></div>
</div>
<br />
</font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10156651130.html</link>
<pubDate>Sun, 26 Oct 2008 23:36:07 +0900</pubDate>
</item>
<item>
<title>コピー指向プログラミング</title>
<description>
<![CDATA[ <p>以前、「<a href="http://ameblo.jp/argv/entry-10000099784.html" target="_blank">簡単コピー・プログラミングの罠</a>

」という記事で、コピー・プログラミングの危険性について書いた。ここでいうコピー・プログラミングとは、同じアプリケーション開発の中で、似た機能を量産するためにソースコードをコピーすることである。同記事には書いていないが、他にも、「バグがコピーされてしまう」問題や、ソースコードが無駄に大きくなるなどの問題もある。</p>

<br />


<p>そもそも、プログラミングでは「同じことを何度も書く」ということは避けるべきだ。その理由をあらためてここに書く必要もないだろう。同じことを何度も書かずに済ませるにはどうするか、ということは、構造化プログラミングからオブジェクト指向やアスペクト指向に至るまで、プログラミング技術の発展における重要な課題のひとつだったはずだ。</p>

<br />


<p>アプリケーションに固有の「業務ロジック（ビジネスロジック）」なども、開発プロジェクト内で共通化を行い、重複コードをなくすのが理想である。これには、開発期間の不足や業務面・技術面でのスキル不足など、多くの問題があるが、最もやっかいなのは、多くのプログラマがコピー・プログラミングを好むということである。</p>

<br />


<p>あるプロジェクトで共通機能（基底クラス）を作ったら、そのソースを部分的にコピーして使う人がいて、更にそれをコピーして作る人が出てきて、結局コピーだらけになったという例もある。これには「プログラマの管理がうまくいっていない」という指摘もできる。しかし、それ以前に、プログラマに「コピー・プログラミングへの抵抗感がない」ということが問題なのである。</p>

<br />


<p>実際、多くの職業プログラマを自由にしておくと、むしろ好んでコピー・プログラミングを行うようである。みんなコピー・プログラミングが大好きなのだ。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>たしかに、チーム開発で共通化をしようと思うと、他のメンバーと相談して仕様を決めたり、あるいは他のメンバーの作った複数のソースを変更したりと面倒なことは多い。そういう役割の人（「共通チーム」などと呼ばれる）ならともかく、単なる「一機能の担当者」であるプログラマが、共通化のためにそこまでの労力を払うことは、まずないだろう。</p>

<br />


<p>コピー・プログラミングなら、誰にも気兼ねすることなく、自分の担当機能を作ることができる。多くの職業プログラマにとっての最優先課題は「自分の担当機能を動くものに仕上げること」であって、「ソースコードが美しいかどうか」などは二の次なのである。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>私はこれまでコピー・プログラムには何度も痛い目にあってきたので、自分のプロジェクトでは、いかにして共通化を徹底するか（コピーさせないか）、ということに頭を悩ませてきた。しかし、多くのプログラマがコピーが大好きなのだとすれば、それを前提とした開発方法を考えるのも一興である。たとえば、以下のようなことだ。</p>

<br />

<br />

<h4>あらかじめ完成度の高い「コピー元」を用意する</h4>

コピー元を品質の高いコードに集中させることで、「バグのコピー」や「似て非なるバージョンの散在」を防ぐ。<br />

<br />

<br />

<br />

<h4>「コピーされたもの」が分かるようにする</h4>

例えば、コピー元のコードに特殊なコメントを埋め込む（もちろん、コピー先でも消さないでおく）などして、後からコピー先を検索しやすくする。これは、不具合修正や仕様変更などの際に、影響範囲（全てのコピー先）を特定しやすくするためである。<br />

<br />

<br />

<br />

<h4>コピーしたコードは可能な限り変更しない</h4>

まず、コピー元はなるべく変更しなくてすむように作る。例えば、コピー先で関数名などがぶつからないように、ネーミングルールを作る。また、コピー先で無駄に変更することも禁止する。動作に影響のないからといってコーディングスタイルを自分流に変えたりしない。コピー先の記述の変更量が少なければ、コピー先の特定がしやすくなるし、記述の統一による可読性の向上にも繋がる。<br />

<br />

<br />


<p>あるいは、開発ツールの助けにより、コピー・プログラミングの品質向上が見込めるかもしれない。既存のツールでも、例えば、Visual Studio 等の統合開発環境で、アプリケーションの雛形を作ってくれる「ウィザード」や、「よくあるコード」を挿入してくれる「コードスニペット」は、「コピー指向」であると言ってもいいだろう。ソースコードを現在のようなテキスト形式のみで保存することに拘らなければ、他にも色々な対策はできそうだ。例えば、どのコードがどこへコピーされたか、ということをエディタが記録してくれれば、後から追跡することが容易になるだろう。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>私も「同じことを何度も書くべきではない」という考え方を変える気はない。しかし、同じプログラマといっても、プログラミングについて誰もが同じように考えているわけではない。むしろ自分のようなプログラマは少数派なのかもしれない。そう考えると、日々の「悪態」も少なくなってくるのである。<br />

</p>


<p><br />

</p>

<br />


<div align="right"><a target="_blank" href="http://blog.with2.net/link.php?20792">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a>

</div>

<br />

<br />

<hr />

<p><br />

■関連記事<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10000099784.html">簡単コピー・プログラミングの罠</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10000109030.html">簡単フレームワーク・プログラミングの罠</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10064288690.html">スキルアップのためにラップを剥がしてみる</a>

<br />

</p>

<br />

<hr /><br />

<font size="1"><div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774125814/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51B395VKV7L._SL160_.jpg" alt="アスペクト指向入門 -Java ・ オブジェクト指向から AspectJプログラミングへ" style="border: medium none ;" /></a>

</div>


<div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774125814/argv-22/ref=nosim/" name="amazletlink" target="_blank">アスペクト指向入門 -Java ・ オブジェクト指向から AspectJプログラミングへ</a>


<div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/4774125814/argv-22/ref=nosim/" title="アスペクト指向入門 -Java ・ オブジェクト指向から AspectJプログラミングへ" target="_blank">amazlet</a>

 at 08.09.26</div>

</div>


<div class="amazlet-detail">千葉 滋 <br />

技術評論社 <br />

売り上げランキング: 158663<br />

</div>


<div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div>

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 入門書として良く出来てます<br />

</div>


<div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4774125814/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>

</div>

</div>


<div class="amazlet-footer" style="clear: left;"><font><br />

</font></div>

</div>

<br />

<br />


<div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4898145213/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51VPJRHGS7L._SL160_.jpg" alt="初めてでもカンタン コピーするだけですぐに使えるJavaScript" style="border: medium none ;" /></a>

</div>


<div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4898145213/argv-22/ref=nosim/" name="amazletlink" target="_blank">初めてでもカンタン コピーするだけですぐに使えるJavaScript</a>


<div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/4898145213/argv-22/ref=nosim/" title="初めてでもカンタン コピーするだけですぐに使えるJavaScript" target="_blank">amazlet</a>

 at 08.09.26</div>

</div>


<div class="amazlet-detail">立山 秀利 <br />

ローカス <br />

売り上げランキング: 115209<br />

</div>


<div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div>

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 「とにかく今すぐ使いたい」と言う人向きです。<br />

</div>


<div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4898145213/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>

</div>

</div>


<div class="amazlet-footer" style="clear: left;"><font><br />

</font></div>

</div>

</font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10144604985.html</link>
<pubDate>Sat, 27 Sep 2008 23:27:43 +0900</pubDate>
</item>
<item>
<title>Ｖモデル</title>
<description>
<![CDATA[ <p>受託開発プロジェクトの終盤、ユーザーテスト（受け入れテスト）などと呼ばれる検証が始まると、当初の要件を覆すような「仕様変更」が発生するものだ。</p>

<br />


<p>システムの要件定義（要求分析）は依頼者（顧客）と開発者が共同で行うものであり、漏れがあったとしても、どちらが悪いとも言い難い場合も多い。例えば、開発者の考慮不足とも言えるが、顧客側の情報提供が不足とも言えるというようなことだ。しかし、顧客は「金を払って依頼している」という意識が強いためか、開発会社の責任で修正させようすることも多い。</p>

<br />


<p>開発会社もある程度は折り込み済で、「手戻り」の時間を確保しているものだ。しかし、なにしろリリースまでの時間が残り少ない時のことである。「手戻り」の規模によっては間に合わないケースも多く、顧客との関係が悪化することもある。</p>

<br />


<p>開発者が「しかし、当初のお話では・・・」などと反論しようものなら、「こっちは客だぞてめえ」ぐらいのことは平気で言う人も。ビジネスの世界では金を払う人が偉いのである。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>いわゆる「<a href="http://ja.wikipedia.org/wiki/V%E3%83%A2%E3%83%87%E3%83%AB" target="_blank">Ｖモデル</a>

」に従って進めているとされるプロジェクトでは、こうしたトラブルがよくある。Ｖモデルの図をよく見ていると分かるのだが、開発の終盤に「当初のお話」が間違っていることに気がつくというのは、自然なことである。</p>

<br />


<p>Ｖ字の後半の右上がりの部分は、テスト工程を表している。この部分は、意地の悪い言い方をすれば、「先にプログラムの細かい枝葉を確認し、システムの拠り所である要件が正しいかどうかは最後に確認しましょう」ということになっているのである。最後に要件上の問題が見つかるのは当然である。しかも、顧客が要件を出したのは遙か昔のことなので、今更「当初のお話」をしたところで、「そんなこと言いましたっけ？」となるのも当然である。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>もちろん、ここでのテストとは、あくまでも動作確認（動的テスト）の話である。要件定義自体のチェック（静的テスト）は、Ｖ字の「書き出し」に定義した時点で行われているはずであり 100% 問題ない、という前提（というか建前）で進んできているわけである。基本設計（外部設計）以降も同様だ。</p>

<br />


<p>しかし、この静的テストは、主に要件定義書や設計書などを作って「机上」で行われる。開発の当初、まだ影も形もない新しいシステムを 100% イメージできる人がいるだろうか？　もちろん、システムだけでなく、それを使った業務全体の運用イメージも必要なのだ。しかも、誰か１人が分かっていればよいというわけではない。そのイメージは、システムの素人である顧客と、業務の素人である開発者の間で、完全に共有しなければならない（出会って間がないにもかかわらず）。</p>

<br />


<p>実際のところ、そんなことはできないのである。結局、システム要件というものは、結局は開発期間の最初から最後までかけて、ああでもない、こうでもないと言いながら決めていくことになる。</p>

<br />


<p>いや、開発が終わってもそれは続く。完成した後で「ここはこうした方が良かった」と思わないようなシステムは、まずないだろう。ソフトウェアに限らず、実際に使ってみて初めて気がつくことがあるというのは、当然のことだ。</p>

<br />


<p>このように、仕様変更があるというのは自然なことであり、開発プロジェクトでは、変更があったときにどうするか、ということをあらかじめ決めておくということも重要である。</p>

<br />


<div align="center" class="star">★</div>

<br />


<p>とはいえ、Ｖモデル（ウォーターフォール）での開発では、後半に発生する変更を少なくすることが最重要課題である。開発が終盤に近づくほど、残り期間が少なくなるし、同じ変更であっても手戻りの作業量も難易度も大きいからだ（既に作っている部分を直すため）。</p>

<br />


<p>このため、一番最初の要件定義の段階でいかにして精度の高い「完成図」をイメージするか、ということが非常に重要なのである。これは、開発側の視点でいえば、顧客に「どこまで本気で考えてもらえるか」ということにかかっている。</p>

<br />


<p>プロジェクトも始まったばかりのこの頃、顧客はのんきに構えているのが普通である。そして困ったことに、開発者にもそんな人は多い。会議を開いても、結論も出さずにあいまいな状態で終わったり、雑談ばかりしていたりする。「時間があるのだから、今考えなくてもいいでしょう？」などと思っているようだが、実はこの時が最も重要なのだ。Ｖモデルでは、最初はバリバリ、最後は淡々と仕事すべきなのである。<br />

</p>


<p><br />

</p>

<br />


<div align="right"><a target="_blank" href="http://blog.with2.net/link.php?20792">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a>

</div>

<br />

<br />

<hr />

<p><br />

■関連記事<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10003194204.html">怖いこと</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10002507532.html">情報求む</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10000356693.html">捨てるべきときには潔く</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10028595120.html">簡単に見える時ほど注意せよ</a>

<br />

・<a target="_blank" href="http://ameblo.jp/argv/entry-10043984828.html">ちょっとしたプログラム</a>

<br />

</p>

<br />

<hr /><br />

<font size="1"><div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798114375/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/511ZqzsSdeL._SL160_.jpg" alt="はじめての上流工程をやり抜くための本 (エンジニア道場)" style="border: medium none ;" /></a>

</div>


<div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798114375/argv-22/ref=nosim/" name="amazletlink" target="_blank">はじめての上流工程をやり抜くための本 (エンジニア道場)</a>


<div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/4798114375/argv-22/ref=nosim/" title="はじめての上流工程をやり抜くための本 (エンジニア道場)" target="_blank">amazlet</a>

 at 08.08.18</div>

</div>


<div class="amazlet-detail">三輪 一郎 <br />

翔泳社 <br />

売り上げランキング: 6219<br />

</div>


<div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5.0" /></div>

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 上流経験者にもぜひ<br />

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 濃い本です<br />

</div>


<div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798114375/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>

</div>

</div>


<div class="amazlet-footer" style="clear: left;"><font><br />

</font></div>

</div>

<br />

<br />


<div class="amazlet-box" style="margin-bottom: 0px;"><div class="amazlet-image" style="float: left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822282910/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41BX7DJ8VYL._SL160_.jpg" alt="成功する要求仕様 失敗する要求仕様" style="border: medium none ;" /></a>

</div>


<div class="amazlet-info" style="float: left; margin-left: 15px; line-height: 120%;"><div class="amazlet-name" style="margin-bottom: 10px; line-height: 120%;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822282910/argv-22/ref=nosim/" name="amazletlink" target="_blank">成功する要求仕様 失敗する要求仕様</a>


<div class="amazlet-powered-date" style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;">posted with <a href="http://www.amazlet.com/browse/ASIN/4822282910/argv-22/ref=nosim/" title="成功する要求仕様 失敗する要求仕様" target="_blank">amazlet</a>

 at 08.08.18</div>

</div>


<div class="amazlet-detail">アラン・M・デービス <br />

日経BP社 <br />

売り上げランキング: 16586<br />

</div>


<div class="amazlet-review" style="margin-top: 10px; margin-bottom: 10px;"><div class="amazlet-review-average" style="margin-bottom: 5px;">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5.0" /></div>

<img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 要求マネジメントの良書<br />

</div>


<div class="amazlet-link" style="margin-top: 5px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4822282910/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>

</div>

</div>


<div class="amazlet-footer" style="clear: left;"><font><br />

</font></div>

</div>

</font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10128582482.html</link>
<pubDate>Mon, 18 Aug 2008 01:47:19 +0900</pubDate>
</item>
<item>
<title>紐付く</title>
<description>
<![CDATA[ <p>中学生の頃だったろうか、「サボる」という言葉を漢字で書こうとして辞書を引き、はじめて「サボタージュする」の略だということに気がついた。ずっと純粋な日本語だと思っていたので驚いた記憶がある。日常的に使っている言葉は、昔からあったかのように思ってしまうものだが、意外に新しいということがある。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>この業界では「ひもつく」という言葉がよく使われる。個人的には「ひもづく」と言う方が多いのだが、同じものだろう。データ構造に関する文脈などで、「繋がっている」、「関連している」といった意味でよく使う。たとえば、「従業員のデータは部門コードで部署マスターにひもづいている」という具合である。</p>
<br />
<p>しかし、この言葉、メールに書こうとすると漢字変換できない。辞書で調べても出てこない。実は、最近生まれたいわゆる「オトナ語」なのである。仕方がないので「繋がっている」とか「リンクしている」などに置き換えてみるが、文脈によってはしっくりこないこともあり、ちょっと困る。</p>
<br />
<p>まぁ、どのみち受託システムに関する文章は専門用語のオンパレードである。関係者が読んで理解できる言葉であれば、メールで使うくらいは構わないだろう。とはいえ、平仮名では格好が付かないので、「紐付く」と表記することにした。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>逆に、きちんと定義された「正しい」言葉であっても、それを読む人が理解できないものを使うのはよくない。先日も、あるシステムの画面に、</p>
<br />
<p class="quotation">　20バイト以内で入力してください。</p>
<br />
<p>というエラーメッセージが出てきて、エンドユーザーが「意味が分からない」と言っていた。システムを作る側は、「バイト」という単位にあまりに馴染んでしまっているので、思わず使ってしまったのだろう。しかし、一般には、「バイト」といえば「アルバイト」の略である。</p>
<br />
<p>ここは、ユーザー層を考えて「バイト数」ではなく、「文字数」で表現すべきところだった（細かいことをいえば、文字数とバイト数との関係は文字コードセットによって違うので、単にバイト数を示すだけでは、いずれにせよ不十分である）。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>バイトといえば、「バイト敬語」が日本語の乱れとして問題視されている。「１万円からでよろしかったでしょうか？」のような、コンビニやファミレスの店員などが話す独特の言葉である。</p>
<br />
<p>私もこうした「乱れた」とされる言葉には違和感を感じる方である。しかし、言葉が本来「変化する」という特徴を持っていることを思い出すと、あまりこだわることもないか、と思い直す。何を基準に「乱れている」というべきか分からないからだ。</p>
<br />
<p>特に、そう思わせるのが「全然」の誤用問題である。私はずっと「全然」という言葉がその後に否定的な意味を伴わずに使用されるのは誤用だと信じていた。つまり、「全然良くない」は正しいが、「全然良い」のような肯定的な表現は最近の「日本語の乱れ」だと思っていた。しかし、調べてみると実はそうでもない。「全然」の肯定的な表現は昔からあり、漱石や鴎外も使っているというのである。</p>
<br />
<p>結局、言葉が「正しい」かどうかというのは、それを使う人同士が持っている「基準」に合っているかどうか、という程度でしかないのだろう。つまり、うまくコミュニケーションするには、「相手が正しいと思う言葉を使え」ということである。相手によっては、自分より「基準」が厳しい場合だってあるだろう。そう考えると、「ひもつく」などという辞書にない言葉に違和感を感じる人もいるかもしれない。とりあえず、設計書などの正式な文書には、「紐付く」などと書かないようにしようと思う。<br />
</p>
<p><br />
</p>
<br />
<div align="right"><a href="http://blog.with2.net/link.php?20792" target="_blank">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a>
</div>
<br />
<br />
<hr />
<p><br />
■関連記事<br />
・<a href="http://ameblo.jp/argv/entry-10000922750.html" target="_blank">普通の言葉</a>
<br />
・<a href="http://ameblo.jp/argv/entry-10006987015.html" target="_blank">曖昧言葉</a>
<br />
・<a href="http://ameblo.jp/argv/entry-10057324742.html" target="_blank">えいやぁと眉を引く話</a>
<br />
・<a href="http://ameblo.jp/argv/entry-10040684461.html" target="_blank">エンドユーザーとは</a>
<br />
</p>
<br />
<hr /><br />
<font size="1"><div style="margin-bottom: 0px;" class="amazlet-box"><div style="float: left;" class="amazlet-image"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4469221686/argv-22/ref=nosim/"><img style="border: medium none ;" alt="問題な日本語―どこがおかしい?何がおかしい?" src="http://ecx.images-amazon.com/images/I/41QZ17Z2QWL._SL160_.jpg" /></a>
</div>
<div style="float: left; margin-left: 15px; line-height: 120%;" class="amazlet-info"><div style="margin-bottom: 10px; line-height: 120%;" class="amazlet-name"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4469221686/argv-22/ref=nosim/">問題な日本語―どこがおかしい?何がおかしい?</a>
<div style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;" class="amazlet-powered-date">posted with <a target="_blank" title="問題な日本語―どこがおかしい?何がおかしい?" href="http://www.amazlet.com/browse/ASIN/4469221686/argv-22/ref=nosim/">amazlet</a>
 at 08.07.06</div>
</div>
<div class="amazlet-detail">北原 保雄 <br />
大修館書店 <br />
売り上げランキング: 56754<br />
</div>
<div style="margin-top: 10px; margin-bottom: 10px;" class="amazlet-review"><div style="margin-bottom: 5px;" class="amazlet-review-average">おすすめ度の平均: <img alt="4.0" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" /></div>
<img alt="3" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" /> 文法的な解析や過去の吟味とあわせて、現在の生きた用法をしっかりと見据える事が大事<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> 「問題な日本語」は問題ではないでしょうか？<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> ってゆ0か、わたし的にはおもしろい、ってかんじ？<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> 柔軟な思想<br />
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> 言葉は生きている！<br />
</div>
<div style="margin-top: 5px;" class="amazlet-link"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4469221686/argv-22/ref=nosim/">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div style="clear: left;" class="amazlet-footer"><font><br />
</font></div>
</div>
<br />
<br />
<div style="margin-bottom: 0px;" class="amazlet-box"><div style="float: left;" class="amazlet-image"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4492042555/argv-22/ref=nosim/"><img style="border: medium none ;" alt="問題だ!そのバイト語―その言葉は耳障り!直すべし、その言い方!" src="http://ecx.images-amazon.com/images/I/511WWY93T0L._SL160_.jpg" /></a>
</div>
<div style="float: left; margin-left: 15px; line-height: 120%;" class="amazlet-info"><div style="margin-bottom: 10px; line-height: 120%;" class="amazlet-name"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4492042555/argv-22/ref=nosim/">問題だ!そのバイト語―その言葉は耳障り!直すべし、その言い方!</a>
<div style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;" class="amazlet-powered-date">posted with <a target="_blank" title="問題だ!そのバイト語―その言葉は耳障り!直すべし、その言い方!" href="http://www.amazlet.com/browse/ASIN/4492042555/argv-22/ref=nosim/">amazlet</a>
 at 08.07.06</div>
</div>
<div class="amazlet-detail">浦野 啓子 <br />
東洋経済新報社 <br />
売り上げランキング: 72839<br />
</div>
<div style="margin-top: 10px; margin-bottom: 10px;" class="amazlet-review"><div style="margin-bottom: 5px;" class="amazlet-review-average">おすすめ度の平均: <img alt="5.0" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /></div>
<img alt="5" src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" /> 普段何気なく使っているけど<br />
</div>
<div style="margin-top: 5px;" class="amazlet-link"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4492042555/argv-22/ref=nosim/">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div style="clear: left;" class="amazlet-footer"><font><br />
</font></div>
</div>
<br />
</font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10113627094.html</link>
<pubDate>Mon, 07 Jul 2008 00:20:28 +0900</pubDate>
</item>
<item>
<title>ToDo リスト</title>
<description>
<![CDATA[ <p>ちょっとした仕事（タスク）を忘れてしまう人が意外に多い。ToDo リストのようなものを作って、管理すればいいだけのことなのだが。</p>
<br />
<p>上司から ToDoリストを作るように言われ、数日の間、「今日のタスクは ToDo リストを作ることであります」などと言っていたが、結局できなかったという人もいた。やるべきことが発生したら追加するというだけのもののはずなのに、このように気合いを入れて作ろうとするのもおかしな話である（最初に作る時は、抱えているタスクを列挙するのに時間が必要かもしれないが、それでも何日もかからないだろう・・・）。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>ToDo リストを作るといっても、色々な方法がある。この業界では、PC や携帯端末など電子的なツールを使う人も多いかもしれないが、私の場合は「紙とペン」である（しかも、今のお気に入りはルーズリーフと万年筆という懐かしい組み合わせだ）。</p>
<br />
<p>基本的には普通に「やるべきタスク」を書いては潰していくだけなのだが、ちょっとした工夫をしている。優先が高いいくつかのタスクについては、<a href="http://ameblo.jp/argv/entry-10054005828.html" target="_blank">以前紹介した</a>
フリクションボール（最近は<a href="http://www.pilot.co.jp/products/pen/ballpen/gel_ink/frixionball_biz/index.html" target="_blank">ビジネスモデル</a>
もある）を使って、赤いラインを入れるのである。フリクションボールのように消せるペンであれば、終わったタスクのラインを消すことができる。このため、常に「次にやるべきタスク」だけが赤くなっているというわけだ。</p>
<br />
<p>また、タスクの進行状況等のコメントを、他の色のフリクションボールで記入することもある。「次のアクション」は青、「お客様回答待ち」は緑など。やはり、状況が変わったら消して書き直すことができるので便利だ。もちろん、元のタスク自体は、普通の消えないペンで書くので、「行」を上から大胆に擦っても大丈夫である。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>プログラマならではの ToDo 管理としては、「ToDo コメント」がある。</p>
<br />
<p>プログラミング中、細かい処理まで逐一実装しながら進めていると、思考の流れが止まってしまいそうなことがある。そのような場合、枝葉末節は後回しにして、主要な処理だけ先に書いてしまいたい、と思うだろう。</p>
<br />
<p>あるいは、一部の処理の仕様が確定しないまま、プログラミングを進めることもある。そういう場合は、そこだけ「仮」の実装にしておいて、他の部分を先に書いていくことになるだろう。</p>
<br />
<p>いずれも、後から一部の処理を書かなければならないのだが、ともすれば忘れてしまいがちである。そういう場合は、ソースコードの該当箇所に「ToDo コメント」を書くとよい。</p>
<br />
<p>後から実装すべき部分に、例えば「TODO:」という文字列を付けたコメントを書いておき、これを定期的に検索するのである。当然、実装が終わったらこのコメントは削除する。最終的に検索結果がゼロにならなければ、プログラムは完成しないというわけだ（「<a href="http://ameblo.jp/argv/entry-10003839420.html" target="_blank">もっとコメント論　～その４～　システムの開発や保守のために</a>
」も参照）。</p>
<br />
<div align="center" class="star">★</div>
<br />
<p>やるべきことを忘れないこと、というのは、スケジュール管理（遅れないでやる）以前の問題である。仕事をする上での最低限の条件と言ってもいいだろう。忘れないためには、忘れる前に記録すること、そしてそれを常に参照することである。方法自体は難しくない。習慣化できるかどうかが鍵だろう。<br />
</p>
<p><br />
</p>
<br />
<div align="right"><a href="http://blog.with2.net/link.php?20792" target="_blank">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a>
</div>
<br />
<br />
<hr />
<p><br />
■関連記事<br />
・<a href="http://ameblo.jp/argv/entry-10054005828.html" target="_blank">書き込まれる資料作り</a>
<br />
・<a href="http://ameblo.jp/argv/entry-10003839420.html" target="_blank">もっとコメント論　～その４～　システムの開発や保守のために</a>
</p>
<br />
<hr /><br />
<font size="1"><div style="margin-bottom: 0px;" class="amazlet-box"><div style="float: left;" class="amazlet-image"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4798110787/argv-22/ref=nosim/"><img style="border: medium none ;" alt="開発の現場 vol.006" src="http://ecx.images-amazon.com/images/I/51x5uwnEepL._SL160_.jpg" /></a>
</div>
<div style="float: left; margin-left: 15px; line-height: 120%;" class="amazlet-info"><div style="margin-bottom: 10px; line-height: 120%;" class="amazlet-name"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4798110787/argv-22/ref=nosim/">開発の現場 vol.006</a>
<div style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;" class="amazlet-powered-date">posted with <a target="_blank" title="開発の現場 vol.006" href="http://www.amazlet.com/browse/ASIN/4798110787/argv-22/ref=nosim/">amazlet</a>
 at 08.06.09</div>
</div>
<div class="amazlet-detail"><br />
翔泳社 <br />
売り上げランキング: 64211<br />
</div>
<div style="margin-top: 5px;" class="amazlet-link"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/4798110787/argv-22/ref=nosim/">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div style="clear: left;" class="amazlet-footer"><font><br />
</font></div>
</div>
<br />
<br />
<div style="margin-bottom: 0px;" class="amazlet-box"><div style="float: left;" class="amazlet-image"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/B0018HGXGO/argv-22/ref=nosim/"><img style="border: medium none ;" alt="パイロット フリクションボールビズ 0.5mm 黒インク【ブラックボディ】 LFB-150EF-B" src="http://ecx.images-amazon.com/images/I/31TXyFhBNNL._SL160_.jpg" /></a>
</div>
<div style="float: left; margin-left: 15px; line-height: 120%;" class="amazlet-info"><div style="margin-bottom: 10px; line-height: 120%;" class="amazlet-name"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/B0018HGXGO/argv-22/ref=nosim/">パイロット フリクションボールビズ 0.5mm 黒インク【ブラックボディ】 LFB-150EF-B</a>
<div style="font-size: 7pt; margin-top: 5px; font-family: verdana; line-height: 120%;" class="amazlet-powered-date">posted with <a target="_blank" title="パイロット フリクションボールビズ 0.5mm 黒インク【ブラックボディ】 LFB-150EF-B" href="http://www.amazlet.com/browse/ASIN/B0018HGXGO/argv-22/ref=nosim/">amazlet</a>
 at 08.06.09</div>
</div>
<div class="amazlet-detail">パイロット <br />
売り上げランキング: 19109<br />
</div>
<div style="margin-top: 5px;" class="amazlet-link"><a target="_blank" name="amazletlink" href="http://www.amazon.co.jp/exec/obidos/ASIN/B0018HGXGO/argv-22/ref=nosim/">Amazon.co.jp で詳細を見る</a>
</div>
</div>
<div style="clear: left;" class="amazlet-footer"><font><br />
</font></div>
</div>
<br />
</font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10104530514.html</link>
<pubDate>Mon, 09 Jun 2008 01:22:25 +0900</pubDate>
</item>
<item>
<title>通のツール</title>
<description>
<![CDATA[ <p>私がパソコンを使う際には、マウスではなくポインティング・スティック（トラックポイント）を愛用している。会社のデスクトップ・パソコンにも、それが付属したキーボードを個人的に購入して繋いでいるくらいである。しかし、ポインティングスティックを搭載したノート・パソコンは種類が少なく、残念な限りである。</p><br /><p>ポインティング・スティックがその機能性の割に普及しないのはなぜか。製造コストの問題もあるが、それよりも「とっつきにくい」ということのほうが重大なように思う。トラックポイントの開発担当者は「<a target="_blank" href="http://www-06.ibm.com/jp/pc/awards/15th/column02.shtml">10分も使えばなれる</a>」と言うが、店頭で10分も触る人がいるとは思えない。ThinkPad を購入した（あるいは支給された）としても、タッチパッドも付いているし、マウスも繋げる。それらに慣れたユーザーが10分間もトラックポイントを使い続ける機会はほとんどないだろう。</p><br /><div class="star" align="center">★</div><br /><p>このように、便利な道具の中には、ある程度の慣れが必要なものも多いが、多くの人が触れる機会を持たないためにメジャーになりきれないというものがある。</p><br /><p>もう十数年前の話だが、私の所属していた大学の研究室に「筋金入りのマック・ユーザー」というのがいて、いつも MS-DOS のコマンドラインによる操作方法を「呪文」と称して皮肉っていた（当時、GUI は Macintosh の十八番だった）。しかし、そんな彼が、ある研究の一環で UNIX 系の OS に触れるようになってからは、CUI の利点に気づかされたという話をしてくれた。GUI は「とっつきやすい」が、必ずしも CUI より便利というわけではない（詳細は「<a target="_blank" href="http://ameblo.jp/argv/entry-10011695704.html">コマンドラインのすすめ</a>」を参照）。</p><br /><div class="star" align="center">★</div><br /><p>プログラミング言語についても同じことが言える。もう６年ほど前だろうか、常駐先で会った人に Ruby を薦められた。といっても、当時の Ruby は企業の開発プロジェクトで使うようなメジャーな言語ではなかった。自分で使う「<a target="_blank" href="http://ameblo.jp/argv/entry-10043984828.html">ちょんプロ</a>」を作るための言語としてである。しかし、当時の私は  Perl を覚えたばかりだったし、それ以上の必要性も感じなかったので、結局使わなかった。近年の Ruby の評判を見るにつけ、あの時から使っておけばよかったな、と思うのである。</p><br /><div class="star" align="center">★</div><br /><p>先に「道具」と書いたのだが、「書類の書き方」でも同じようなことがある。この仕事をしていると、顧客から見慣れない書式の図や表を見せられることがある。顧客側は「これが一番分かりやすい資料だ」というのだが、何が書いてあるのかさっぱり分からない。その資料はとりあえず無視して業務分析をしてみると、後になって「なるほど、確かに分かりやすい資料だ」と思えてくることがある。はじめからその資料を理解した方が早かっただろう。</p><br /><div class="star" align="center">★</div><br /><p>「通」が使うような難しい道具に見えるものであっても、試してみれば意外と簡単に使えることもある。誰かが便利だというものは、積極的に試してみたいものである。</p><br /><p><br /><p><div align="right"><a target="_blank" href="http://blog.with2.net/link.php?20792">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a></div></p><br /><hr /><p><br />■関連記事<br />・「<a target="_blank" href="http://ameblo.jp/argv/entry-10011695704.html">コマンドラインのすすめ</a>」<br />・<a target="_blank" href="http://ameblo.jp/argv/entry-10000418064.html">ファイラのすすめ</a><br />・<a target="_blank" href="http://ameblo.jp/argv/entry-10051030591.html">マクロのすすめ</a><br />・<a target="_blank" href="http://ameblo.jp/argv/entry-10043984828.html">ちょっとしたプログラム</a><br /></p><br /><hr /><br><font size="1"><div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00008S229/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/21P7W7Q5H6L._SL160_.jpg" alt="ぷらっとホーム Mini Keyboard III 日本語版 HMB633PJP" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00008S229/argv-22/ref=nosim/" name="amazletlink" target="_blank">ぷらっとホーム Mini Keyboard III 日本語版 HMB633PJP</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/B00008S229/argv-22/ref=nosim/" title="ぷらっとホーム Mini Keyboard III 日本語版 HMB633PJP" target="_blank">amazlet</a> at 08.05.07</div></div><div class="amazlet-detail">ぷらっとホーム <br />売り上げランキング: 86676<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 打鍵感のある省スペースキーボード<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B00008S229/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div><br /><br /><div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873113563/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41P4GL5v1aL._SL160_.jpg" alt="Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873113563/argv-22/ref=nosim/" name="amazletlink" target="_blank">Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4873113563/argv-22/ref=nosim/" title="Rubyスクリプティングテクニック ―テスト駆動による日常業務処理術" target="_blank">amazlet</a> at 08.05.07</div></div><div class="amazlet-detail">Brian Marick <br />オライリー・ジャパン <br />売り上げランキング: 78287<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> ツールを書くのにRubyを使うという本<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873113563/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div></font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10094521589.html</link>
<pubDate>Wed, 07 May 2008 01:29:03 +0900</pubDate>
</item>
<item>
<title>感情の行き違い</title>
<description>
<![CDATA[ <p>技術者同士でシステムの設計方針などについて話していると、白熱してしまうことがある。お互い、声も大きくなってしまっているのだろう。傍から見ていると、喧嘩でもしているかのように見えるらしい。後から「あの人とやりあってましたね」などと言われるが、なんのことか分からない。本人たちは議論を楽しんでいるくらいなのだ。</p><br /><div class="star" align="center">★</div><br /><p>会議の議事録でも、そういう誤解が起こりやすい。終始和やかな雰囲気の会議だったはずなのに、後から議事録を読むと、言い争いをしていたかのような印象を受けることがある。会議中、相手に気を使って、わざわざ婉曲な表現で話したのに、断定的な文章になって残されてしまったりする。</p><br /><p>会議に出席している人が読むだけなら、大きな問題はないのだが、出席していない人に誤解され、いらぬ心配をさせたりすることもある。</p><br /><p>議事録を書く人の力量にもよるが、ビジネス文書の形で、会議の雰囲気まで伝えることは容易ではない。</p><br /><div class="star" align="center">★</div><br /><p>もっと危険なのはメールである。やりとりをしている当人同士が相手の感情を誤解してしまうこともあるからだ。「怒っているのだろうか？」と思うようなメールが届いたので、相手に電話してみると全くそんなことはなく、笑って話をしたというような経験はないだろうか？</p><br /><p>そうやって電話をすればいいのだが、怒っているように見えるメールに対して、こちらもムキになって対抗するようなメールを返すと、険悪なやりとりになる可能性もある。</p><br /><p>議事録の例と同じように、ビジネス上のメールは、固い文章になりがちだ。特に、否定的な内容を書く時には怒っているように取られがちなので、意識して柔らかく表現する方がよい。単に丁寧な言葉にするだけでは逆に慇懃無礼に感じられることもある。断定的な表現を避けるとか、口語を交えるといった方法がよいのではないだろうか（例えば「です」を「ですよね？」とするなど）。相手によっては、顔文字を使うのも悪くないと思う（これは、賛否両論あるかもしれないが）。</p><br /><p>もちろん、やりすぎると、ふざけているように見えたり、失礼に当たることもあるので、難しいところではある。</p><br /><div class="star" align="center">★</div><br /><p>事務的に仕事をしていると、人の「感情」などは情報として不要であるかのように扱われることもある。しかし、関係者の感情面がうまくいかなければ、仕事もうまくいかない。なるべく誤解や行き違いがないようなコミュニケーションを心がけたいものである。</p><br /><p><br /><p><div align="right"><a target="_blank" href="http://blog.with2.net/link.php?20792">応援のクリックお願いします → <img border="0" align="top" src="http://ameblo.jp/user_images/db/b3/10001962341_s.gif" /></a></div></p><br /><hr /><p><br />■関連記事<br />・<a target="_blank" href="http://ameblo.jp/argv/entry-10048432244.html">議事録係</a><br />・<a target="_blank" href="http://ameblo.jp/argv/entry-10042299613.html">この文書は誰が読むのか</a><br />・<a target="_blank" href="http://ameblo.jp/argv/entry-10000922750.html">普通の言葉</a><br />・<a target="_blank" href="http://ameblo.jp/argv/entry-10015526156.html">話が通じない話</a><br />・<a target="_blank" href="http://ameblo.jp/argv/entry-10029618794.html">愚痴のこぼし方</a><br /></p><br /><hr /><br><font size="1"><div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4534043554/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/21uM5Odm9zL.jpg" alt="最初の3秒で心をつかむビジネス文章術" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4534043554/argv-22/ref=nosim/" name="amazletlink" target="_blank">最初の3秒で心をつかむビジネス文章術</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4534043554/argv-22/ref=nosim/" title="最初の3秒で心をつかむビジネス文章術" target="_blank">amazlet</a> at 08.04.14</div></div><div class="amazlet-detail">堀内 伸浩 <br />日本実業出版社 <br />売り上げランキング: 2512<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" alt="3" /> タイトルにひかれて買いました<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 埋もれてしまいかねないメールを救う本<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> ほんのちょっとの心遣い<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4534043554/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div><br /><br /><div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4072578398/argv-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/2168aE0BxnL.jpg" alt="成功する!「ビジネスメール」入門 (主婦の友ベストBOOKS)" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4072578398/argv-22/ref=nosim/" name="amazletlink" target="_blank">成功する!「ビジネスメール」入門 (主婦の友ベストBOOKS)</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4072578398/argv-22/ref=nosim/" title="成功する!「ビジネスメール」入門 (主婦の友ベストBOOKS)" target="_blank">amazlet</a> at 08.04.14</div></div><div class="amazlet-detail"><br />主婦の友社 <br />売り上げランキング: 36740<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 知っておきたいビジネスメールのあれこれ<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4072578398/argv-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div></font>
]]> 
</description>
<link>http://ameblo.jp/argv/entry-10088092319.html</link>
<pubDate>Mon, 14 Apr 2008 00:16:01 +0900</pubDate>
</item>
</channel>
</rss>