2014年5月6日火曜日

[IT]見積もり

私達、技術者の見積もりには、人月がよく使われます。
何人でやると1月で出来るという単位です。

例えば、3人月だと3人で1ヶ月かかるから、3人分の人件費と諸費用がかかりますよということです。

しかし、この見積もりですが、よく仕様が確定する前に行われます。そのため、見積もりの段階で前提としていた機能を大幅に超えた場合は、見積もりが意味をなさなくなるのです。

スゲジュールもこの見積もりをもとに作成されます。3人月の仕事を1人でするから3ヶ月かけて行うといった感じです。

IT業界は、モノ作りの仕事なので、建築業や製造業と同じように考えられます。建設業や製造業は、仕様や設計がある状態で見積もりを出すのに対して、IT業界では、漠然としたアイデアをもとに見積もりを出します。

そのため、見積もりを出して、実際に作業に入り、仕様を詰めていくと、想定以上に機能が多かったり、複雑だったりします。

それに加えて、追加で機能が増えたり、想定以上に仕様を詰めるのに時間がかかってしまい、設計、製造、テストの工程時間を削減する必要に迫られたりします。

私は、この見積もり方法は、IT業界では間違っているのではないかと考えています。

仕様が漠然としているのであれば、まず、それを詰める期間を前提として、仕様確定までの見積もりを出したほうが現実てきなのではないでしょうか。

そうは言っても、依頼する企業側も、せっかくIT専門家を雇ってシステムを作成するのだから、これまで問題となっていた機能を修正したいと考えているでしょう。

そこで、win-winの関係になれる方法が、アジャイル開発です。

アジャイル開発は、各機能ごとに作成していきます。もちろん、見積もりも各機能毎です。機能が大きい場合は、可能な範囲で区切ることもできます。

アジャイル開発は、まだまだ導入されている企業は少ないのが現状です。

しかし、アジャイル開発は、上記したIT業界での見積もり問題を解決できると私は考えています。仕様を詰める段階での見積もりは、想定する機能やスケジュールを超える場合は、別見積もりとしたり、次の開発に回すことができるからです。

私が務める企業では、派遣と請負の業務を行っています。

請負の業務には、アジャイル開発を行えないかを、まず検討していますが、まだまだ、うまくいっていないのが現状です。でも、手探りでやっているうちに、それなりのルールを作ることが出来るのではないかと期待しています。

それに比べで、派遣業務は難しいです。

派遣は、作業指示が派遣先にあるため、アジャイルを組み入れるのは難しくなります。派遣先が、従来の作業方法をしている場合、それに従わなくてはならないからです。

アジャイル開発が今後浸透してくことを期待しています。

2014年5月4日日曜日

[vi]基本操作

最近、仕事でviを使うことが多いので、基本的な使い方をまとめておきます。
(詳しい人にとっては当たり前の事も私にとっては新鮮)


モード

他のテキストエディタと違うのはモードがあることです。
  • コマンドモード
  • 入力モード
  • ビジュアルモード
基本的にはこの3つのモードを使い分けれればいいようです。

コマンドモード

コマンド入力で編集を行うためのモードです。
テキストを開いた直後はこのモードで表示されています。
他のモードからコマンドモードに戻るには、ESCキーでもどれます。

入力モード

文字の入力が可能なモードです。
iキーを押すことでカーソルのある位置に入力が出来るようになります。
aキーを押すことでカーソルの1文字後ろから入力が出来るようになります。
注意しないといけないことは、同じviでも↑→↓←キーやBackSpaceキーが使えない場合があることです。
押した瞬間文字化けしてビックリなんてこともよくあります。
そんな時は慌てずに、ESCキーでコマンドモードに戻って、dキーまたはxキーで削除。

ビジュアルモード

最近のviにはこのモードが付いているみたいです。
Ctrl+vでビジュアルモードになります。
矢印キーで文字が選択できます。
選択した文字をコピーする場合は、選択した状態でyキーを押します。
その後、コマンドモードで、貼り付けたい場所へカーソルを移動しpキーを押すと貼り付けることができます。
ここでも注意が必要なのが、pキーで貼り付けると上書きされるんです。



その他に知っておいて得するのが、カーソル移動のキーです。
  • hキー:左へ移動
  • jキー:下へ移動
  • kキー:上へ移動
  • lキー:右へ移動

最後に必要なのが保存法です。
コマンドモードで:キーを押すとコマンドが入力出来るようになります。
ここでwキーで保存されます。

:qキーで画面押して終了です。
ちなみに、:q!で修正を保存せずに終了できます。

2014年5月3日土曜日

ビジネスと技術

経営者と技術者では考えることが異なっています。

経営者は、やはり売上を上げるようなアイデアを出してきます。
それに対して、私達、技術者は実装面で考えて答えてしまいます。

経営者が出してくるアイデアを、技術者は、新しい物を作るのではなく、既存である物やフリーで使える物で対応できないか考えてしまいます。

<経営者>
「このソフトみたいなもの作れる?」

<技術者>
「こういうソフトがありますよ」
「このソフトとこのソフトを使うとできそうです」

こんな感じの会話が出てくるのです。

しかし、経営者側は、既存のソフトを使うのではなく、自分たちで作り育て、自社開発ソフトとして出したいのだと思います。そうすることで、会社の宣伝効果、売上向上を狙っているのでしょう。

私達、技術者側から見ると、アイデアの出し方を工夫してもらいたいと思います。自分たちで作るしかないと思えるような問いかけをお願いしたいです。

「このソフトじゃこんな点で物足りないから作れないかな?」
「今のソフトにこんな機能を入れたいけど作れる?」

こんな問いかけから、問題の本質を解いて、ソフトを改良することは、私達、技術者の得意とするとこなのです。

しかし、既存であるソフトと同じものを、イチから作ろうといったアイデアには、どうしても興味がわかないし、そのソフトを超えるソフトを作れる気がしないんですよね。
正直。

この経営者と技術者の認識の溝を埋めるには、どうしたらいいのだろうと、最近よく考えています。

2014年4月29日火曜日

[IT]システムエンジニア

システムエンジニアは、IT関連の業務の総称です。

大きく分けると
  • 組み込み系
  • web系
に分けられます。

私は、どちらかと言うと、組み込み系のシステムエンジニアです。

でも、ここ数年、組み込み系の仕事は減ってきています。

原因は、ガラケイからスマフォに移行したことです。
ガラケイの頃は、各社さまざまな機能を独自に組み込むことで差別化を図っていました。
しかし、スマフォに変わり、独自機能を組み込むにはコストが掛かり過ぎるようになり、組み込まれる機能ではなく、アプリケーションで差別化を図るようになりました。

そのため、web系の仕事が増え、組み込み系の仕事は減ってきたのです(泣)

そうなってくると、私達、組み込み系のシステムエンジニアも、web系の仕事が増えてきます。
HTMLも触った事なかったけど、触らずに入られない状況になってしまいました。

ということで、web系の勉強が出来るサイトがないか探して見つけました。

CODEPREP: http://codeprep.jp/ja/

このサイトの興味深いところは、コードを書きながら勉強できるところです。
読むだけでなく、手を動かすから、やってて楽しいです。
また、言語も複数用意されていて、全てこなせたら、結構な力が付くと思います。

2014年4月27日日曜日

ゴールデンウィーク

企業によっては、昨日からゴールデンウィークに入った所もあるようですね。
11連休ですね。いいなぁ。。。

私が勤める会社は、カレンダー通りなので、本格的なゴールデンウィークは5/3からです。

毎年、ゴールデンウィークには実家へ帰っていたのですが、
今年は、休みもあまり取れないし、家でゆっくりすることにしました。

せっかくの連休だから、普段とは違う予定を立ててみようかな。
5/3が待ちどうしい。。。