少し前に、「GeneXusによる作らない開発の成功事例」として、某コミュニティにてプレゼン
されていたT社のシステム、こちらはプロジェクトIの発展形でありGXによる作らない開発
としては現時点で集大成に近い作り方がされていたと思います。
そのプレゼンの最後で、「100%画面はWorkWithなのですか?」という質問がありました。
私は100%だと思っていたのですが、プレゼン者の回答は違っていて、「運用開始後に
1画面だけWebPanelで作りました。選択した期間の分を集計表示する画面、これだけは
WorkWithでは対応できないため作りました」とのこと。
一瞬、確かにそれはWorkWithではできないな、せめてWorkWithPlusが必要だ、とも
思いましたが、一歩引いてみるとこれはWorkWith主体で開発しようとしたときにすぐに
と言っていいくらい突き当る壁で、実は解決可能なのです。
つまりは…「分析が足りていない」ということ。
というのは、「選択した期間」の集計って必ずしも必要か、という分析です。
「月ごと」とか「週ごと」とか、あるいは「四半期ごと」とか、決まっているのではないのか?
例えば、今回は5/7~5/10を集計したけど、前回は4/5~4/15を集計した、はたまた5/20
~6/10を集計するケースがあるかもしれない、とかいう業務はあまり考えられません。
もしくは担当者Aさんと担当者Bさんではそれぞれどのように集計するか違いがわからない
とか、そういうのも考えられない。
このように、もし「これは作らなければできないかな」という状況に突き当ったら、まず分析に
立ち戻るべきなのです。
そして分析をすればその結果、例えば「これはカレンダー月ではなく当月11日~次月10日
という『月度』での集計だ」という要件が見えてくるはずです。
そうなったらしめたもの、構造を変更し、月度がキーになるマスタとそのリレーション
(参照関係)を持たせれば、WorkWithの一覧もしくはタブで自然に集計を表示できます。
上記の流れは、まず構造があって、それにWorkWithが加わることによって作らずに要件が
実現できる、というのを集計に適用したイメージであるとも言えます。
分析に立ち戻るのは面倒で、我々はつい「作った方が早い」と考えがちですが、
保守運用まで含めた長い目で考えると、「作らない」かつその状態を維持することに価値が
あることが見えてくるはずです。