DXの設計書㉒ – 開発者のユートピア新規開発

新規開発はしんどさもありますが楽しいものです。
規模にもよりますが、昨今の請負開発の状況 - ソフトウェア開発分析データ集2020の"SLOC(コード行数) - 開発規模"の内容から推測するに、10000行以下のシステム開発が中心でしょう。クラスの数で言えば30以下。
偏りはわかりませんが、10000行以下のものも正規分布するなら10~20クラスくらいが中心ですかね。

これくらいの規模でしかも新規開発。
時間に余裕があれば非常に楽しいものです。
この楽しさはおそらく脳内の分泌物によるものでしょう。
知らんけど。


新規開発は既存システムの機能拡張に比べ、
作る量が多いのですが基本的にはどういう風に作ってもよいので自由です。
この解放感は何事にも代えられません。

白いキャンバスに自由に絵具で絵を描く感覚ですかね。
作るものの概要だけわかればすぐに取り掛かりたい気持ちになります。
しかし、手戻りを考えるとさすがにそういうわけには行きません。
きちんとオーバービューを書いてステークホルダとやりたいことを合意します。
画面イメージを書いてユーザーと合意します。

処理のタイミングなどを合意したければシーケンス図を書きます。
大好物を目の前にぶら下げられる感覚に耐え、まだプログラミングには取り掛かりません。

データベースを使う時は、
プログラミングした後にテーブル名やカラム名に誤字が見つかると絶望します。
未だに僕は過去の後悔を引きずっています。
従業員を表すカラム名をSTUFF(くず・ごみ・がらくた)にしてしまったことがあります。
正解はSTAFF(スタッフ・職員・部員)。
テストもほぼ完了した終盤に気付いて直せなかったことを今でも覚えています。
予めリレーション図を書いてよく確認します。

クラス図や変数名の誤字に後で気づいたら絶望するのでクラス図を書きます。
未だに僕は過去の後悔を・・・略

処理には影響がないけど気になり始めたらずっと気になるという、ね。

ちょっと複雑な処理でメモ代わりに置いておきたいものがあればステートマシン図などを使います。
誰かに作ってもらう場合や複数人で作る場合は全処理に対して書いてもよいかもしれません。

案外プログラミングせずにドキュメントばかり書いてます。

ドキュメントが揃えばいざ、溜まりにたまった欲求を一気に解放してコーディング。
たまりません。そう、僕はおそらくコーディングジャンキーです。
僕は画面やスケルトンクラスやテーブル構造に該当するクラスやら
機械的につくれるところから作っていきます。
込み入った処理はデザートに残しておきます。


一般に集中力が高いことは賞賛されますが「集中する」というのは良いことなのでしょうか。
僕はこの集中という状態によく悩まされます。

コーディングで集中状態に入るのは一瞬です。
フリーセルやマインスイーパー、ネットゲームのような無心状態の快感があります。
しかし一度集中してしまうと、その日は他のことが全くできなくなります。
時間は飛ぶし視野は狭いし記憶にない返事してるし、集中が解けたあとしばらく脳は使い物にならないし。

意思決定しなければならないイベントがあると最悪ですね。
不本意な方向で話が進み「待った」をかけたいけど頭が働かない。
言葉が出てこない。整然と説明できない。目はうつろ。

集中の仕方も様々なのかもしれませんが、人と話をしながら作業できる人を尊敬します。
僕は電話しながらメモをとることですら苦手です。

マネジメントしながらプログラミングしようとすると
集中してしまわないようにコントロールする必要があります。


何の漫画か最初かは知りませんが「ゾーンに入る」という言葉が出てきました。
すべての感覚を閉ざして一つのことに集中しすごい力を発揮することを言っているのでしょう。
システム開発における新規開発は、その状態になりやすいのでジャンキーは多いです。

ただ気持ちいいだけの危ない状態にならないように
集中状態を抑えつつプログラミングするのはいささか骨がおれます。
楽しまないようにしなければいけない新規開発。

全てを捨てて欲望に任せ廃人化するもよし。

DXの設計書㉒ - 開発者のユートピア新規開発

おわり

コメントする

メールアドレスが公開されることはありません。