自社サービスの再構築 | 熱脳しゃちょのブログ

熱脳しゃちょのブログ

おせっかい焼SE兼プログラマ兼……の辛い日々と、思う事なぞ

いくつかの案件で、鎮火後にv2とか再設計再構築してきましたが、まぁ、普通はうまく行くはずがないです。

 

1. プロダクト的に新機能などが追加されるわけではないので、お金を渋りがち。渋りまくり。

その気持ち、理解できるんだけど、300円で上うな重を要求するようなものなんだよねぇ……。

炎上プロダクトの場合は、そもそも動いてないから既存機能が少ないので、目玉機能追加しますでお金引っ張ってこれる。まぁ、その目玉機能が売れなくてさらにジリ貧になりがちなんだけど、そこは一発張るしかないからドンと行く。

けど、ある程度客がついてお金を出してくれてるような、舞台裏で燃えてるタイプのプロダクトの場合、作り直しは既存機能全部実装されてなければならない。
中途半端にキャッシュが入ってくるところ、盆栽のように細かくメンテして行かなければいけないのに、売り上げを増やすために機能をアドホックに追加追加してきたので、田舎の温泉宿のようなプロダクトに育っている。
規模は期間に比例する。
期間はエンジニアの姑息さに比例する。

実装し直さなければいけない機能が積み上がる。
そうやってそれまで積み上げてきたお金と時間の、少なく見積もって3倍かけても同程度(ただし、障害の発生数、将来に向けて保守にかかる費用を削れて、新機能投入までの時間を短くできる。んだけど旧プロダクトと比較ができないので、再設計再構築してよかった感が皆無。これでぶちぎれる経営者が多い。というかそうでない経営者にあったことがない)のサービスレベルまでしか戻せない。

どうしてそんなに金を出さなきゃいけないんだ?
うん。
あんたが信頼してきたCTOのせいだな。

 

お金が出せないなら既存のサービスを維持し、連日連夜の障害対応とクレーム対応、スケールしないから新規顧客のローンチができず、使いづらくなったと解約が増えていくという、徐々に温度が上がる鍋に肩まで浸かるタコでい続けるしかない。

作り替えるなら一発ドーンっと金を積むしかないんだけど、逐次投入してしまう。

細かく切ったマイルストーンを踏破して行かなきゃならず、後戻り不可。

そんなことしたら裏切り者や犯罪者扱い。

そんなプロダクトに、なぜ腕のいいエンジニアがいつくと思う?

プラモデルの組み立て作業じゃないんだぞ。

しかも、掘ればあちこちから地雷や不発弾が発見されるし、わけわからんロジックが前提になってるデータが堆く積もってたりする。
その度に検討、対応計画、対応Phase1、2、3とやって本線に戻る。
ってやるんだよ。
なんでこんなに遅れてるんだよ!
これ、おいらのせいじゃねーんだよ。
なのにおいらにブチギレるんじゃねぇよ。
手ぇ引くぞ。

 

2. 同じメンバーで技術スタックだけ変更
言語変えれば全てうまく行く。
あれやこれやは全て古くなった言語のせい。

で、言語変えたり、クラウドプロバイダ変えたり、k8sだあれやこれやとDB変えたり。
ってカタログショッピングしてウキウキしてるエンジニア集団が多いんだけどさ。
そういう状態に陥らせたエンジニア集団が、技術スタック変えただけで事態を正常化できるわけない。
技術スタックがそういう事態に陥らせたのではなく、エンジニア集団の技術力の低さ、先見性、論理的思考、現実把握力のなさがそういう事態に陥らせたわけなんだから、技術スタック変えても金と時間をかけて同じようなものが再現されるだけです。
しかも、最近流行りの、あまり詳しくない技術について、Webでググりながら見様見真似、ぶっつけ本番でコピペしまくるだけだろ?
これでなぜうまく行くと考えるか、さっぱり理解できない。
それにOK出す経営者の頭の構造が理解できない。

 

 

はっきり言おう。

こういう再設計、再構築は失敗する。

100%失敗する。
失敗した時のことを考えて、プロジェクトを進めてくれ。