老エンジニアたちの挽歌2
1か月ぐらいで、Laravelのサンプルと学習管理システムのデモっぽい画面はできた。
正直、ユースケースを詰めると、
事務員・講師・生徒・契約者などアクターが多く、
ログインの権限周りをおろそかにすると後が大変だと思った。
Laravel標準のusersに対し、
users
└managers / teachers / students / student_parents
とリレーションし、各テーブルに所属するかどうかが権限部分とした。
学習目標+メモ+学習記録といった感じの内容をAさんが事前に講師の方から、
ヒアリングしていたので、
学習目標=milestones
メモ = comments
学習記録 = tasks
とした。
多少、ワードを改変した理由は、使いまわす可能性を考えたからだ、
例えば、学習目標=study_goalsなどとした場合、
講師や、事務に対するTODO管理には使えなくなる。
memoも、連絡用途の可能性がでてくるとcommentsのほうが一石二鳥だ。
tasksに至っては、study_historiesなどにすると、本当に学習記録しかとらなくなる。
案の定、着手し始めすぐに宿題も登録したいという要望が現れる。
※また経験則所、こういう現場では要望が定まらないので、ゆるく機能を作っておいて、だんだん用途を固めていくほうが作りやすい。
事業主「Laravelの本買ったので、持って行って構いません」
私「ありがとうございます(パラパラ)」
私「この内容だと僕の本のほうが比較的簡単ですね。」
事業主「ちょっと見せてください、・・・ なるほどね」
:
(次の就業日)
事業主「私さんの本を2冊買ったので、Aさんも使っていただいて構いません。
今後、うちはLaravelをスタンダードにしたIT部門にするので、
学習しておいてください」
私「(無理だな・・)」
A「わかりました!!」
事業主のフットワークの軽さには驚いたが、
この気持ちを無視し、結局Aさんはこの日、本を持って帰ることもしないし、
1年後もLaravelを全く学習しないまま、現場を去るのでした・・