第34話 夜逃げ
今回の仕事は元々は自転車センサーのメーカーが自社で行っていたものだ。
新人がこのサイクリング・コンピュータ製作に割り付けられて二年が経過し、本人ができませんと泣いて謝ったのが発端である。
彼はそのまま夜逃げした。
無理もない。これは新人が作れる範囲を越えている。
もちろんどのようなものも二週間で熟練してしまう私のような人間もいるが、たいがいの人間は順を追って訓練する必要がある。
こうして彼が夜逃げした後に残されたコードをその後釜に座った人間が解析し、最後に音を上げた。そしてこれは大変だとハード作成も含めて外注したのである。
どこで誰が何を失敗しようが、その尻ぬぐいは私の所に集まる。
これが運命なのだろう。
受け取ったコードをざっと眺めて仰け反った。
C言語の根っ子となるmain関数。これがなんと5000行で構成されている。ifelse文の巨大な化け物なのだ。これは例えるならば絡みに絡んだ巨大な毛糸の塊と言ってよい。解すのには何年もかかる。後釜に座った人間が音を上げるのも分かるというもの。
数十行レベルの設計手法で数万行のコードを作るとこういうことなるという良い例、いや悪い例である。
三日ほど追跡してから修正は諦めた。これはブラックホールだ。追うのは時間の無駄だ。
仕様を貰い、最初から作ることを提案して了承してもらう。
こちらの能力は今までの仕事で向こうも分かっているのですんなりと通る。
貰った仕様は発売する製品の操作マニュアルだけだ。
この点からもマトモな設計をしていなかったのが分かる。
コードが自然と完成するのを期待して、操作マニュアルだけを作っていたのだね。
その修羅場の内訳を想像してしまった。発売準備を完了した周囲からの無言の圧力。それが際限なく高まっていく。焦っても目のまえのスパゲティはほぐれてくれない。
そりゃ夜逃げもするわ。
操作マニュアルを解析して、それに必要なものを引き出す。
BLE通信の二形態のサポート。自己書き替えアップデート。四センサー種通信と表示。超低消費電力。あらゆる機能てんこ盛りだ。
これらすべてを玩具のような外見の機器の中に詰め込むのだ。
敵は強大な方が面白い。
暇話あれこれ
ソフトウェアプロジェクトが失敗したとみなされるのは、最初に立てた工数の三倍を越えたときである。これはつまり一般のソフトプロジェクトは見積もりの三倍までは平気で伸びるということでもある。
驚くかも知れないが、かなり高い確率でソフトウェアプロジェクトは失敗する。
それはソフトというものが持つ性質に起因する。つまり複雑さが半端じゃないということだ。
設計手法を間違えれば今回のように実に容易に破綻するのがソフトというものである。
私自身はと言えば、外部の要因でボツにされたもの以外は、すべてのプロジェクトを成功させている。
誰にも誉めて貰えない細やかな事実である。
暇話終わり
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます