見出し画像

いろいろできるシステムはいろいろやれない

何を言ってるんだというタイトルだけど、本当にそうで。
いろいろできるシステムというのは、抽象化されすぎていて、理解することが難しく、抽象化能力が問われて、かえっていろいろやれないという話。

世の中によくある販促キャンペーンを例に考えてみる。
「対象商品を購入したら、スタンプが貯まって、クーポンがもらえる」
そんな要望があった場合、開発者であれば要件定義をする上でいくつも疑問が湧いてくるだろう。

  • 対象商品は複数存在しうるのか、購入とは購入点数なのか購入金額なのか

  • 決済単位で集計するのか、ある期間中の累積で集計するのか

  • ユーザには販促キャンペーンにエントリー操作してもらう必要があるのか

  • 集計対象はエントリーから遡って集計する必要があるのか、エントリー後で集計すればよいのか

  • ..

など、色々ある。そもそも〜みたいな疑問もある。

これらのうち、やらないことの判断ができないのであれば、システムには、やることが強いられる。
それがたとえ、 “今は” やらなくてもよいのだとしても。
“その時” が来てもいいように、ある程度の柔軟性をもって設計する必要がある。
※ 作り直しが許されるのであれば、この限りではないが
(”その時”はいつやってくるのか、どういう状況になったらその判断ができるのか)

その結果、
いろいろ “できる” システムが出来上がった。クライアントが望む販促キャンペーンにもある程度応えることができる。おめでとう()

課題はじわじわと迫ってきている

「でも、どうやってできるんだ..? 」
それは、運用がはじまってみて、顕在化しはじめる
運用がはじまる前でも、売りにいく過程でも、こういった課題は見え隠れしている
たくさんの概念と構造、それらの組み合わせ――

「これって今できる..?」
「何だったら売っちゃいけない..?」
「どうやったら設定できる..?」
こういった声が組織内で頻発するようであれば注意が必要だと感じている。
今何ができるのか(できないのか)が分からない、自分で試して確認することができない、確認しようにもどう設定すればよいのか分からない、という状況になっているという裏付けになる。

システムでいろいろできるようにするということは、
関係者に「具体からの抽象化能力」が求められるということだ。
言い換えれば、それぞれが自分の中でのメンタルモデルを構築していく必要があるということ。
それは開発者のみだけでなく、PM, CS, Sales などに留まらず、クライアントにも求められることになる。
(コンサルっぽくやるのであれば、社内に留まるかもしれないが。)

なので、点の質問に対して、点で答えることはもちろん、抽象化した線や面で答えたとしても、表面的な知識としてしか定着しない。
表面的な知識は、不測の事態が発生したときに、自分で考えられなかったり、即時で反応できなかったり、応用が効かなかったりする。
ものごとを本質的に捉えて、概念や構造を理解することではじめて自分の中でメンタルモデルが構築されていくはず。

もちろん、みんながみんな同じ脳の作りではないので、
自分ができることでも、他人には難しいし
他人ができることでも、自分には難しい。
自分の中での理解が、他人にも理解されるとは限らない。
なので、なにもすべての人にシステムを理解してほしいと言っているのではない。

どうすれば..

では、こうした状況をどうしたらいいか?

一つは、専任の体制を置くこと。
具体から抽象化をするメンタルモデルをもった人物が橋渡し的に動くこと。

二つは、具体から抽象化が難しいのであれば、具体を具体のままでも ”やれる” ようにすること。(こちらが本命)
つまり、”やれる” ことを減らす (システム的には ”できる” のだが..)
抽象化すれば、別の用途でもやれるのだが、それが難しくさせているということであれば、その項目やパターンを削ることだ。

もともと、最初から “やらないこと” の判断ができるとよいのだが、
業界知識が乏しい、クライアントがいない状況で模索する闘い方をしてきた背景があるので、
分からないなら、分からないなりに、経験則に基づいて変化に対応して判断していくのがいいと思っている。

決して、これまでの闘い方を否定する気はなく、
それぞれが精一杯できることをやってきた結果、
新しく現れた課題なので、それに立ち向かっていく。

もし、同じような課題を抱えている・抱えていたということがあり、何かいいアイディアあれば教えていただきたい。



あとだしで、三つめになるが、chatGPTなどを利用してでこのへんをうまくできないかなと思い試しているが、
前提となる学習が重要で、お題に対して、ある程度文脈を読み取ってくれるものの、どうにも判断が早い部分はある感じがするので、いろいろ試行錯誤中である。

この記事が気に入ったらサポートをしてみませんか?