DBFluteを、もっと現場の近くに

DBFluteの導入/構築支援 (AMP)
http://www.leihauoli.com/oss
(追記: このサービス自体は終わり、
すでにリンク切れしています)

詳しい内容はこのページの通り。

DBFlute はそろそろ5周年を迎えます。
 -> DBFluteユーザの集い2011を開催 | jfluteの日記

がむしゃらに頑張ってきたかいあってか、
想像を遥かに超える多くのユーザの方に使ってもらっています。
モジュール自体の品質に徹底した気をつかいながらも、
ドキュメントも整備せねばと奮闘して参りました。
また道半ばでありますが、二つ強く思ったことがあります。
いま自分は、先ほどのページから想像されるかもしれませんが、
株式会社レイハウオリ (Lei Hau'oli) のパートナーとして、
新人、中途、現場エンジニアの技術的・業務的な教育や、
実際の現場のプロジェクト分析・改善支援をさせてもらっています。

その一つに、転職サイトのビズリーチ (Bizreach) があります。
プログラマのそばで ConditionBean や外だしSQLの相談を
受けたり、現場の問題に対応するDBFluteの機能を提案したり、
週一でDBFluteのハンズオンのワークショップ(勉強会)やったり。
(ハンズオンは、クーポンサイト、ルクサ (Luxa) の方でも)

実は、最近実装された ReplaceSchema の AlterCheck や、
SchemaSyncCheckColumnQuery のSQL関数フィルタManualOrderBean で細かい制御などは、
ビズリーチ(or ルクサ)での支援の中で生まれた機能でした。
そしてバグや足りないところがあれば隣ですぐさま直して即提供。

そしてDB周りに限らず、WEBフレームワーク周りやDB設計、
開発環境、プロジェクトの課題管理、ドキュメント整備など、
様々な提案と支援と実践を日々提供させて頂いています。

改善の効果は測りしれないもの、と評価頂いています。
(改善提案を受け入れて頂き、ありがとうございます)
ビズリーチは既に運用中のシステムなので、思い切ったことは
なかなかできないながらも(してる!?)、存在している問題は
それはそれでしっかり分析してなにかしらのアプローチをし、
それを積み重ねていくことで現場のエンジニアのストレスは下がり、
まさに全体最適と言える効率化が享受できているかなと。

システム開発の現場を良いものにしたい、という一心で
長い間考え続けてきたこと、自ら実践してきたこと、
そういった自分の経験を伝える場はなかなかないもので、
DBFlute自身の機能、DBFluteのドキュメント、
jfluteのブログなどにその思いを乗せてきましたが、
やはり、
jflute自身が現場のそばに行くこと
これに勝るものはないと、とても実感しました。

一方で、DBFluteを有効に使ってもらっていながらも、
もうほんの半歩踏み込んでアプローチしてもらえていれば、
もっと効率の良い開発を進めていくことができていたはず、
という思う場面にもよく出くわします。

DBFluteは、まだまだドキュメント書くことありますが、
現時点でも既に多くのドキュメントが存在しています。
多くの Example もあります。ML でもフォローしまくり。
ただ、DBFluteは確実に「いままでにない」ツールであり、
「単に改善手段を提供するだけでなく改善の概念を提供している」
と言え、単にサイトに書いてあればいいというものでもない面も。

ハンズオンのワークショップの中で、機能の概念を直に伝えて、
かつ、手を動かしてそのメリットを実感してもらったり、
実際に実装するプログラマの横についてフォローしたり、
もっと有効利用するためのその現場にフィットした環境作りや
手順などを整備したり、そういった改善・支援でDBFluteの
存在がさらに大きなものに感じてもらえたのではないかと。
(開発者のDBFlute力がどんどんアップしていくのがわかります)

もちろんドキュメントのさらなる改善は進めていきながらも、
まだまだDBFluteの「もったいない使い方」が現場にあると思われ、
やはり、
jflute自身がプログラマのそばに行くこと
これに勝るものはないと、とても実感しました。

ERD(テーブル構造)、DBFluteプロパティ、実際にDBFluteを
利用しているプログラムなどを見れば改善点はすぐに見えてきます。
プロジェクトの要件を聞けば、どのようなDB設計ポリシーで、
どのようなDBFluteの機能を当てていけば良いのか、
幾らでも提案・支援ができるでしょう。
jflute 自身がDBFluteコンシェルジュと言えるわけです。
そういうことからも、この「AMP サービス」は、
自分の最もやりたかった仕事の一つと言えるのです。
ブログやメーリングリストTwitter などで幾度となく
DBFluteユーザをフォローさせて頂きましたが、
いつも頭の片隅によぎっていたジレンマは:
「自分がその現場にいければなぁ...」
とにかく現場のプログラマ、アーキテクトと直接話がしたい。
話ができれば、互いに良い結果を生むことができるだろうと。

まずは、気軽に相談して頂ければと。
開発前であれば、様々な選択肢で良い開発基盤を
模索できるでしょう。既に開発中、運用中であれば、
現状の分析から入り、状況と費用対効果とのバランスを
とりながら効率的なアプローチを考えていくでしょう。

いずれにせよ導入しやすいのは、まずはセミナーの開催。
ディベロッパーのスキルセットを底上げしながらも、
そこで現場の方とコミュニケーションとりつつ、
その後どのような形式で支援をしていくのかが見えてきたり。
様々な選択肢があるかと思います。

また、レイハウオリには、紹介したページの右側にあるバナーの通り、
WEBサイトのパフォーマンス関連の改善のサービスもあります。
WEBデザインにとても強い会社ですので、幅広い支援も可能です。

質と土台を積み上げて「総合的なスピード」が得られるように、
レイハウオリと jflute が協力させて頂ければとと思います。

// 質と土台、そして実直さがスピードを授ける | jfluteの日記
http://d.hatena.ne.jp/jflute/20110731/speed

#
# このような枠組みを用意してくれた、stakeuchi さん、
# そして、とても素敵でおしゃれなページをデザインして
# くれたレイハウオリのデザイナー陣に深く感謝致します。
# ありがとうございます。
#