2010年1月20日水曜日

システム開発で必要なこと

最近、とある半受託系のプロジェクトを見ることになった。
自社プロダクトだろうと受託開発だろうと、大事な基本的なことは以下のことだと思っている。

(1)「意味のあるものをつくる」という根底の理解
(2)「絶対にうまくスタートさせ、安定運用させる」という気迫

これが根底にないと姿勢そのものが受動的になってしまい、結果失敗する可能性が高い(当たり前)。

(1)については、システムの存在(開発)目的、およびシステムを利用する人(それは直接的なユーザーであったり、ユーザーのユーザーだったりする)のことを、どこまで真剣に深く考え抜いているか、ということ。

受託開発の現場では、打ち合わせをして、仕様を発注側に決めてもらって、議事録を取って、それを証拠とばかりにふりかざしながら「本質的に必要な仕様変更」を突っぱねるシーンがある(あまり無いと思いたいが)。
これではまず、プロジェクトにおいて一番大事な「信頼感」が一気に無くなってしまう。

こういったプロジェクトによって生まれるシステムがどういったものになるか。そもそも期日までに完成するかどうか。

もちろんスケジュール的な面で突っぱねるしかない、ということも当然あるが、その場合は本質部分での代替案について、ギリギリまで考え抜いた上での現実的な解を検討するのが筋だと思う。
発注者は、システム作りにお金を払っているのではなくて、システムによってもたらされる「効果」にお金を払っているんだから。

(2)についても、(これはボク自身、昔はその気があったが)「開発してカットオーバーすればゴール!」というわけではなくて、システムというのは日々運用される中で、それによって得られる「効果」をアウトプットしてナンボ、である。
当たり前のことなのに、「運用は運用チームがやるから」とおざなりにされることもしばしば。
うーん。悲惨。(発注者も運用チームも)


これから担当するにあたって、自戒の意味もこめてポストしておこう。

2010年1月6日水曜日

クラウド元年になるの??

あけましておめでとうございます。
完全にこちらのブログはサボってしまっていますが、
今年こそは・・・
マイペースで頑張ります。


さて2010年、今年の業界を占う系の話題は「クラウド」が目立つ。

IT投資の潮目が変化、新しい現実に対応すべし(日経コンピュータ編集長)
http://www.nikkeibp.co.jp/article/news/20100104/203313/

クラウドが引き起こす混乱を乗り切ろう(日経SYSYTEM編集長)
http://itpro.nikkeibp.co.jp/article/COLUMN/20091224/342646/

クラウドで何を売りますか?何を買いますか?(斎藤昌義氏)
http://japan.zdnet.com/blog/netcommerce/2009/12/31/entry_27036124/

2010年の有望ビジネス--こんな仕事にチャンスあり?(James Urquhart氏)
http://japan.zdnet.com/news/internet/story/0,2000056185,20406058,00.htm


これ、続けて読むとなかなか面白い。
最後のコラムは、まさしく課題点をバシっと突いていて、もともとの内容も
随分と皮肉が利いてて面白い。


と、読んできた中で

セールスフォースの全サービスが1時間強にわたって停止
http://itpro.nikkeibp.co.jp/article/NEWS/20100105/342870/

なんていう記事を見ると、なかなかタフな業界になっていきそうだなぁ
と思わざるを得ない・・・。

2009年5月21日木曜日

テキストで表を作成するツール(メルマガとかで使える)

自社製品のメルマガを出す際に、どうしても表組みにしたいところがあったので、テキストで表を作成するっ便利なツールはないものか、と検索したところ、とあるSEさんがつぶやいておられる中に、便利そうなツールの紹介が。

らくらく罫線

Excelのアドイン形式。

早速使ってみたんですが、泣きそうなぐらい便利。
ほんとにExcelの表がそのままテキストになります。
(そりゃ、色とかはさすがに無理ですけどね)

センタリングとかの位置揃えも出来ちゃうし、重宝しそうです。
いつも使っているExcelにアドインで使えちゃうところもステキ。

2009年4月17日金曜日

CSVの項目を並び替えるスクリプト

仕事で必要になったので、久々にコードを書くにはちょうどいいかも
と思い、WEBで調べつつ手軽なVBScriptで作成。
(VBScriptってトコがヘナチョコ感満載。でも、WSH使えるなぁ…)

[並び替え前のCSV]  [並び替えた後のCSV]
1番目の項目  --------> 5番目
2番目の項目  --------> 4番目
3番目の項目  --------> 2番目
4番目の項目  --------> 1番目
5番目の項目  --------> 3番目

といった変換をするスクリプトです。
本当に久々にコードを書いたので、
カッコワルサとかその辺は勘弁してください。
ちなみに、これ作るのに2時間もかかりました…
細切れで空いた時間に作ったとはいえ、萎える…orz


-------------------------------------------

'---------------------------------------------------------------
' CSV変換スクリプト
'---------------------------------------------------------------

Option Explicit

' 引数(ドラッグアンドドロップしたファイル名)を取得
Dim objArgs
Set objArgs = WScript.Arguments

Dim strFileName

If objArgs.Count = 0 Then
strFileName = InputBox("変換したい CSV のファイル名をフルパスで入力してください。")
Else
strFileName = objArgs(0)
End If

'ファイル名が入力されなかったら終了
If strFileName = "" Then
WScript.Quit
End If

Dim objFS

'定数の定義
Const ForReading = 1,ForWriting = 2,ForAppending = 8
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")

Dim objFileInput
Dim objFileOutput

Set objFileInput = objFS.OpenTextFile(strFileName, ForReading)
Set objFileOutput = objFS.CreateTextFile(strFileName & ".convert.csv", True)

Dim aryDestCols(4)
Dim strLine
Dim arySrcCols
Dim strCol

'ヘッダを書き出す場合はここで。
objFileOutput.Write _
"""1カラム目"",""2カラム目"",""さ~んカラム目""" & vbCrLf


Do Until objFileInput.AtEndOfStream
'変換元CSVを1行読み込む
strLine = objFileInput.ReadLine
'項目ごとに分解する
arySrcCols = Split(strLine, ",")

'マッピング通りに入れ替え
aryDestCols(0) = arySrcCols(3)
aryDestCols(1) = arySrcCols(2)
aryDestCols(2) = arySrcCols(4)
aryDestCols(3) = arySrcCols(1)
aryDestCols(4) = arySrcCols(0)

objFileOutput.Write Join(aryDestCols, ",") & vbCrLf
Loop

objFileOutput.Close
objFileInput.Close

2009年4月2日木曜日

体制変更、技術寄りなポジションに戻りました

技術部門から営業部門に転向して3年。

技術への関心と知識を落さないように、
と思ってこのブログを始めたものの、
結局技術系なネタはほとんどなし、でした。
反省。

そんな中、会社の組織体制が4月から変更、
ボクはまた技術系の立ち位置に戻ることに
なりました。

技術系、といっても、ほとんどプロマネみたいなもんですが。

プロダクトを抱えているので、業務系知識から
市場データや競合等の情報整理、それらをまとめた
製品企画から実装、品質管理まで、幅広く
担当していくことになりそうです。


というか、そういった幅広くまとめていけるように
ならないといけなさそうです。

ちょっと大きな変化ですが、何とかかんとか
頑張っていきたいと思います。

というわけで、今後、ひょっとしたらまた
技術寄りなネタもエントリーできるかもしれません。
期待薄ですが…。

というわけで、今日が新年度スタートの方も
多いかと思いますが、今期もよろしくお願いします。