こんにちわ、みけです。
先月末は体調がすこぶる悪くて、ブログも何もしていませんでした。
超高速開発コミュニティ
さて、プログラマーの皆様にも、SIer諸氏の皆様にも
なんだか香ばしい話題が各種メディアから出ましたね。
また、設立にあたって関係者のブログが公開されています。
各種の反応
publickeyで取り上げられたから、プログラマーの皆様の反応も早く、
- プログラマーの待遇を良くすれば開発速度が云々
- 意思決定の速いマネージメントに変えれば云々
- 無駄な成果物(エクセルファイル)を作らなければ云々
といったツイートが見られました。
また、これに便乗したセールをやっている輩もいるようです。
プログラマーの方のブログでも様々な意見があるようです。
僕自信の考え
まあ、反応を取り上げたところで、お前自身はどうなんだよという話になりますね。
僕としては、こういうツールは使える場面ではどんどん適用すればいいと思っています。
ただし、このツール類、多少のIT業界でのパラダイムシフトが必要だと思っています。
従来のITシステムを作るときの役割
ユーザー企業
アプリケーションへの要求
発注
→
←
アプリケーション
SIer
アプリケーション開発
選定
→
←
ソフトウェア
各種
ベンダー
ハード・ミドル・ソフトの提供
まあ、多少の異なるところはあれ、だいたいこの形になっていると思います。
このスキームでの超高速開発ツールの問題点は、
ツールの採用の如何がSIerにかかっているということです。
で、当のSIerにおいては社員の雇用を確保するという義務があったりする関係上、
(ここでは結構大きめなSIerを前提としています)
工数が少なくなる(人数を減らしてしまう)ような開発手法は採用できないため、
超高速開発ツールの採用を見合わせたりします。
もちろん、以下の様な理由もあったりするでしょう。
- 超高速開発ツールに関するノウハウがない
- フルスクラッチでしか成功経験がない
- 社内の評価が売上高なので、人月で積み上げられる開発モデルが望ましい
- フルスクラッチで開発して若手社員を教育したい
こういった、SIerの思惑にはユーザーの視点というものが欠けているように思われます。
まあ、実際に欠けているわけで、大枚をはたいて完成したシステムが使えないなんてことが
あったり、なかったり…
また、ユーザー企業としても、業務での情報の活用度を高めたいけど、
元が取れるのかどうかわからないものに、
100人月(1億円くらい?)を払っていいものかどうかがわからないなんてことも
あるかもしれません。
以上から、従来のスキームでユーザー企業はITを必要としていても、
ITの恩恵が受けられないみたいな状態になってしまうかもしれません。
なんとなく、企業とITに関してSIerがガンになっている気がしなくもないですね。
超高速開発コミュニティが気にしているのは、
この状態なのかもしれません。
超高速開発ツールを活用する場合の各業界の役割
で、超高速開発コミュニティが目指しているのは次のようなスキームなのではないかと思っています。
ユーザー企業
業務ツール作成
購入
→
←
ツール
ツール
ベンダー
ツールの提供
癌であるSIerは取り除いて、
ユーザー企業が超高速開発ツールを活用して、
自分たちの必要な物を作る。
これなら、ユーザー企業は
- 自分たちの欲しいアプリケーション作れるし
- すぐにアプリケーションを使えるし
- プログラミング言語わかってなくても作れるし
- 費用がそんなにかからないし
といいことづくめになるわけですね。
で、こういうところがおそらく超高速開発コミュニティの目指しているところ
であると僕は考えています。
(違うかもしれませんけどね)
お気づきのことだと思いますが、この図では、あえてSIerの枠を無くしています。
—– え、SIer、どうなっちゃうの?死ぬの?
—– はい、死んでください。
まあ、半分冗談ですが、半分本気です。
半分冗談と言ったのは、超高速開発ツールを提供するとはいえ、
単なるソフトウェア・ベンダーなので、顧客業務にどのツールが適しているかどうかを
判断するような役割の仕事は残っていると思います。
その部分にかろうじてSIerが残れると思います。
で、半分本気なところですが、
超高速開発コミュニティの発表後日談的位置づけのエントリー
超高速開発コミュニティ- 記者会見から二日目の状況 – ジャスミンソフト日記
に次のような記述があります。
記者発表の場で幹事の樋山さんから発言がありましたが、超高速開発を実現するという各社のツールは具体的にどういうもので、各ツールの違いは何か、ユーザー企業にとってどういうメリットがあるのか、という資料をまず、ご提供するようにします。11月の公開を目標としていますが、時間がかかる理由は「単に各社の製品パンフレットを一覧表にしてまとめたものには、しない。」というコンセプトを掲げているためです。ベンダー視点ではなく、ユーザー視点の資料とはどうあるべきか、この議論から入っていきます。これから正念場を迎えますが、1社単独ではつくれないような資料としてまとめることができれば、これは大きな価値をもつことになるだろうと考えています。
これ、言い換えればSIerに残された仕事である、
どういう業務にはどのツールが適しているかということの判断は、
超高速開発コミュニティにおまかせあれということですね。
ということで、SIerにあげる仕事なんてありません、ってな感じになると思います。
直感
なーんて、無責任なことをジャスミンティーを飲みながらテキトーに書いているわけですが、
ここで書いている意見は記事を読んだプログラマーとしての意見ではなく、
超高速開発ツールとして上げられているGeneXusというソフトを使ったことがある
という経験からの直感で書いています。
一応GeneXusの紹介(メリット)
GeneXusというツールですが、
データベースの項目の定義
- カラム名
- データ型(文字列、数値、日付、画像など)
- 空の値を許容する/しない
- 一意な値
を作成すれば、scaffoldが自動で作成されて、
デプロイボタンを押せばサーバーにデプロイされるというツールになっています。
もちろんscaffoldだけでなく、
自由に画面をつくって(WYSIWYGな画面エディターつき)、
どのデータのどの項目を表示・入力させるといった設定をするだけで、
任意の業務画面を作成出来ます。
また、どの権限のユーザーがどの画面から業務を開始することができて、
どの権限のユーザーがどの画面で業務内容を把握して承認させるといった
フローの作成もできますし、その通知メールを送信するといったことも
ツールに仕様を記述すれば可能です。
また、設計書とか仕様書の管理について、
「(最新版)◯◯画面仕様_20130809_2.xlsx」といったファイルを
「Y:¥共有¥10仕様書¥2013-08-09最新¥30△△業務」フォルダーで管理するとか
そんなくだらない煩わしいことからも開放されます。
すべての仕様はデータベースに管理されており、
常に最新の仕様を把握することが可能です。
(履歴はどうだったか忘れた…)
また、日本ではどうだか知りませんが、
海外、特にアメリカとベネズエラでは、
コミュニティ活動も活発で、
セキュリティイシューなどのパッチもすぐ提供されますし、
単なるWeb業務アプリケーションを超えて、
AndroidやiPhone、iPad向けの業務アプリケーションも作成出来ます。
一応GeneXusの紹介(デメリット)
まあ、ここまではGeneXusの研修を受けた時の、売り文句をそのまま書いただけです。
(あれ、守秘義務なんとか…まあ、いいか、業務情報でないし)
メリットばかりを書いていてはアンフェアなので、
デメリットも書いておきます。
プログラミングレスを謳っていますが、
独自の業務プロセスに適合させようとすると、
GeneXusの独自言語での開発が求められます。
一応、オブジェクト指向っぽい言語ですが、
VB6っぽい感じの言語であり、
オブジェクト指向な割にはエディターの補完が効かないので、
どのオブジェクトにはどういうメンバー・メソッドがあって、
どういう責務を果たしているといった
独自言語に対する知識が求められます。
また、ユーザーが云々と上では述べましたが、
ユーザー認証に関する機能は各自で作りこまないといけません。
その実装の参考例はコミュニティのページから参照できますが、
英語で書かれているうえ、なんか古いバージョンのツールでの方法だったりします。
また、サポートについて、各ベンダーに質問すると、
大体一週間以内に回答がもらえますが、
コミュニティのページで得られる情報の日本語訳であることが多く、
また、日本語が上手でないのか的はずれな回答をすることが多く、
あまり頼りにならなかったという印象があります。
また、ツールに関する各種情報もコミュニティのページで得ることができますが、
多くの情報がスペイン語(ベネズエラで開発されているので当然といえば当然)であり、
英語のものがなかなか手にはいらないことや、
日本語情報が希薄という点については気をつけておかなければならないところでしょう。
(ちなみに、僕の第二外国語はスペイン語なので特に不自由しませんでしたが…)
また、対応しているブラウザーがIEとFireFoxだけで、
ChromeとかOperaに対応していませんでした。
(当然、Mac OS Xも…)
また、グラフを扱う場合にはFlashが必要なようです。
まあ、これらの情報は数年前のものなので、
今は変わっているかもしれませんが…
研修の参加者
僕はSIerとしてベンダーが開催する研修(結構なお値段)に参加していたわけですが、
研修の他の参加者は、企業のIT部門の人ばかりでした。
なので、SIerがこのツールを使って、ユーザーにどうこうするというよりは、
企業がこのツールを使って自社のシステムをどうこうするという位置なのでしょう。
ベンダーの選定について
技術的な課題というのは大抵のプロジェクトで発生します。
その課題への対応としてArtech社(GeneXusの開発会社)に問い合わせる場合に、
スペイン語が必須になるので、ベンダーがスペイン語ができるかどうかというのは、
見極めのポイントになります。
(とはいえ、GeneXusを売っているベンダーなんて数社しかありませんが…)
あと、ちゃんとした日本語ができるベンダーであるというのも
見極めのポイントになります…(???)
超高速開発コミュニティが目指すべきところ
まあ、GeneXusを触ったことがあるという観点から、
思いつくままに書いてきたわけですが、まとめとか書いといた方が良い気がして行きました。
超高速開発ツールのターゲット
ITに大金(60人月=6,000万円)を投資できないけど、
ITを必要としていて、小額(1,000万円程度)なら投資できるといった企業は、
これらのツールの恩恵を預かるのがよいかもしれません。
したがって、超高速開発コミュニティのターゲットは、
SIerなどではなく、あくまで小さくてたくさんいるユーザーであると認識しています。
各ベンダーにはコミュニケーションが求められる
また、先ほどちゃんとした日本語を使えるベンダーという言い回しを使いました。
これは、ベンダーが単なるスペイン語の逐語訳を回答するのではなく、
ユーザー企業のIT担当者のレベルでコミュニケーションを取るという
これまでSIerが担っていた部分をベンダーが担わないと、
これらのツールは広まらないのではないかと思っています。
なお、「そういったユーザー企業との折衝はSIerが」ってなると、
また要件定義が云々、仕様書が云々となって元の木阿弥に戻ります。
超高速開発ツールに精通した技術者の育成
とはいえ、ベンダーが複数の企業とコミュニケーションを取るというのは、
現実的ではないので、
超高速開発ツールに習熟した企業等が開発の請負などをしてくるのではないかと思います。
で、その企業に勤めている技術者がツールに精通することが
超高速開発ツール普及のポイントでしょう。
技術者がツールに精通していくためには、
商用では使えないけど、個人で使う分には無料であるような
ツールの無償版が求められるでしょう。
また、そのツールを使って、
ちょっと小銭稼ぎしちゃった、(・ω<)テヘペロといった技術者が出てきても、
お咎めしないような寛容さがないとちょっと厳しいかなとおもいます。
ネガティブ情報も共有すること
ベンダーの提供するツールの情報というのは、たいてい成功事例ばっかりな気がします。
売り込みをかける分にはそれでよいかもしれませんが、
技術者の普及のためには、
本当に価値のある情報 = 失敗事例なども共有して貰いたいと思っています。
こういった情報を技術者が共有・討論・研究して、
ツールを開発している会社にフィードバックされないと、
何度も同じ失敗を繰り返すだろうし、
ツール自体も魅力的にならないと思っています。
本当の競合相手はSalesforce、Google
超高速開発といったところで、
単純にはあるものを再利用しようという考えなわけで、
より多くの業務ノウハウを持っている会社が本当の競合相手であると思っています。
したがって、SalesforceやGoogleといった会社が超高速開発ツールの
競合相手であると認識しています。
日本への浸透度という点でも超強力です。
本の出版数やコミュニティの勢いを指標に浸透度を比較しますが、
日本ではGeneXusに関する書籍は1冊しかありませんが、
SalesforceやGoogle Appsに関する本はたくさんあります。
SalesforceやGoogle Appsに関する本は駅前の本屋さんにおいてありますが、
GeneXusに関する本は新宿Book Firstとか紀伊国屋に行かないとありません。
Google Appsのコミュニティはユーザーレベルで作られていますし、
Salesforceは勉強会・カンファレンスを積極的に主催しています。
これらのコミュニティや勉強会への参加は無料だったりします。
この勢力と渡り合うためには、
コミュニティ自体がベンダーだけにとどまったものではなく、
ユーザー・デベロッパーに開かれたものであることが求められるでしょう。
参加費1万円とか5万円とか徴収している場合ではないと思っています。
以上。
P.S.
まあ、こういったことを昨日・一昨日と某イケメン氏と話したりしていました。