見出し画像

#134 事業をエンジニアリングする技術者たち④ ~第5章 サポーターズ~

こんにちは。ITベンチャーエンジニアのこへいです。
前回に引き続き、最近チームメンバーと一緒に読んでいるこの本を紹介します。

前回の記事はこちら。


〇第5章 サポーターズ ― 事業の成長を止めない手段としてのシステム刷新

ウェブサービスを支えるシステムの姿は様々ですが、ビジネスのためにシステムを運営している人と、システムを開発する人の考え方には差が生まれます。
この差は、お互いが自分たちの課題解決を運用によってカバーしようと試みるなかで、時間が経つほど大きくなっていくことが少なくありません。

サポーターズはこの差が無視できなくなり、システムのフルリニューアルに舵を切っています。
第3章のECナビとは対照的なアプローチを選択した背景やどのようにして成功に導いたかが紹介されています。

非常に学びのある内容の中から、私の印象に残った部分をピックアップしていきます。

なぜゼロから作り直すという判断をしたのか

第3章で紹介された大規模レガシーシステムのECナビでは『コツコツ改善』していましたが、サポーターズで全く新しいシステムを作るしかないという判断に至ったのはデータベースの状態が悪く手が出せなかったためです。

たいていのシステムは、そのデータベースを見ればどんな業務の組み立てをしているかがイメージできますが、サポーターズではシステム構築時から業務がかなり変わったために、業務とシステムの乖離が激しくなり、運用でカバーするしかありませんでした。

私がある顧客システムの作り直しをした時は、新しい機能を追加するという選択肢もありました。しかし、つぎはぎだらけでどんな機能を実現するための実装なのか、今の動きが果たして要件として正しいのかもわからない状態だったので、今後の運用を考えて作り直しの判断をしました。

現状の実装の意図をたどることが厳しい場合には、作り直しを決断する一つの要因になりそうです。

ビジネスと開発の距離を縮める

新しいシステムを作るために『いまの事業の姿』を知ることからはじめています。

"as is" だけでなく "to be" も含めて把握するために現場で実際にシステムを運用しているメンバーだけでなく、事業の方針を決める役職者へのヒアリングを進め、その後、システムの作り直しに着手しています。

システムの作り直しはハイリスクハイリターンなため、特定ユーザーの利用に閉じたシステムとしてMVPを作り、『小さく作り出す』ことを実現しています。事業やユーザーの特性を理解していることがポイントになったとのことです。

小さくリリースしてシステムを作り直すという開発戦略を事業部全体に説明して納得してもらうのは難易度が高いです。
サポーターズでは、技術的負債のために事業部側の要望をシステムが受け入れられない状況が伝わっており、『今後の事業の拡張を考えた時に既存のシステムを維持していくのは現実的ではない』といって了承を取り付けたという面もあるとのことです。

事業部、営業、役職者たちにも作り直しが必要な状態が伝わっていること、エンジニアが強い意志を持って作り直しをやりきる気概を見せることが、作り直しに着手するためには必要というのは弊社でも同じでした。

システムだけでなく組織を再定義した

システムを作り直すという取り組みの中で、組織におけるビジネス側と開発側の関係性が、社内受託のような関係から同じビジネスを共有する仲間に変わってきました。

最初にシステムを作った時は外注だったので、要望を出してそれを作ってもらっていたのが、「この画面をこういう風に作ってください」といった最終的なアウトプットの依頼に対して「なんで?」と返ってくるようになりました。なぜそのアウトプットが欲しいのかを明らかにしてもらい、より良い実現方法を提案する形です。

営業サイドからすると、『めんどうくさい』と思ってしまうかもしませんが、先を見据えつつ拡張性を殺さないようにシステムを設計するのが開発者の腕の見せ所であり、結果として実現できることが増えるため営業サイドも『いい感じに調整』していい感じのもの作れることに慣れていったようです。

私も『良い感じ』に作るために、すぐに「なんで?」と聞いてしまいます。かなりめんどうくさいと思われていると思いますが、これを当たり前にしていきたいです。

事業の成長スピードを止めないシステムへ

旧システムの問題は結局のところ事業の成長スピードにシステムが追い付いていなかったことという反省を活かして、新システムではデータベースやアプリケーションコードを『ずっと育てていける』状態にすることを意識されています。

開発チームが対応できていない領域は無理にシステムで対応するのではなく、営業の人たちにスプレッドシートで頑張って対応してもらったり、kintoneのような外部のシステムを使って回しているようです。

事業の成長を第一に考え、システムでの解決が最適でない場合には他の選択肢も取りながら、システム化が必要ことは開発チームが実現していくという組織とシステムの一体感が素晴らしいですね。

〇第5章での学び

システムの作り直しというのは開発者だけで実現できることでなく、事業責任者やシステムを一緒に運用していく営業サイドにも納得してもらい、一緒に協力してはじめて実現できることです。

地道な現状把握やユーザーの特性に合わせた作り直しの進め方などのテクニカルな部分だけでなく、組織も作り直しチームの結束力を高めることの重要性が非常に良く伝わってきました。

事業の継続的な成長を実現できるシステム運用のための引き出しをひとつ増やすことができました。

ということで『事業をエンジニアリングする技術者たち』の第5章の紹介でした。

最後までお読みいただきありがとうございました。

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