進化し続けるホスティングサービスConoHa今回は、フロントエンジニアとして新機能(ConoHa VPS割引きっぷシンプル)の提供の過程においてブランドの強さを支える・牽引すると共にエンジニアとしも成長を実感できる機会に恵まれ、エンジニアとしての面白さや自信につながることの一例として紹介させていただきます。
執筆の背景
開発する新機能について
従来より提供のConoHa VPS割引きっぷSSLに加えて、バリエーションとしての新機能(ConoHa VPS割引きっぷシンプル)は、その付加サービスをシンプルにすることで、割引きっぷSSLよりもお手頃な価格で提供します。この割引きっぷシンプルを、ConoHaコントロールパネルにて提供するにあたり、従来からのきっぷ購入を購入する画面をはじめ関連画面への仕様変更を実装する必要が発生します。
また、この新機能開発は突発的に発生し短時間でのサービス仕様の最適化や実装までを行うことも求められる案件となりました。その過程において、それまでにエンジニアとして取り組んできたことが効果的に作用して、よい結果に繋がりました。
新機能としての実装まで
今回の新機能の対象となる範囲は、次のような状況をたどり実装となりました。
度重なる機能追加により初期設計による運用コスト増加再設計を伴う大規模なリファクタリングを実施(ここまでを準備済みだった)新機能開発の各フェーズにてこれまでの取り組みの効果を実感する
思い返せば、それぞれの状況で、エンジニアとしてシンプルに要求仕様を実現するだけでなく、非機能要件とその未来を想定したアクションを実施できたことが、今回のブランドの強さを支える助力となったのではないかと考えています。
1.度重なる機能追加により初期設計による運用コスト増加
過去のこの時点の状況であれば、今回のような割引きっぷシンプルの機能追加のスピード感は実現できなかったと考えられます。なぜなら、実装コスト増加を引き起こす複数の課題が存在したためです。
機能の複雑な結合非効率的なコードの再利用(コピペ)
これらは、今後の実装コスト増加を確実に引き起こしますが、その対策としてのみに投資できる機会は得られないことが続きます。
2.再設計を伴う大規模なリファクタリングを実施
実装コスト増の対策としてのリファクタリングのみを目的とした場合、他の案件との比較において、優先度を上げることが難しい事態が発生します。
そこで、実装コスト増の対策としてだけでなく、UIの表示高速化も同時に実現できるように設計に盛り込み、それを実施することが可能になりました。再設計においては、対象個所の仕様変更経緯も踏まえ、変更に強い設計をベースとして、高速化も同時に達成できるように配慮しました。設計には、以下の指針を明確に設定し、これまでのモノリスを目的別に分割して進めました。
再設計においては、対象個所の仕様変更経緯も踏まえ。変更に強い設計をベースとして、高速化も同時に達成できるように配慮しました。設計には、次のように指針を明らかにしてこれまのでモノリスを目的別に分割し進めていきました。
変更に強い設計
コンポーネントベースの設計モジュール化されたコード構成可読性の高いコード
変更に弱い設計
大規模なコード構成のモノリシック設計機能の複雑な結合繊細なコードベース
3.新機能開発の各フェーズでこれまでの取り組みの効果を実感する
この時点において、新機能の案件は突発的なものでしたが、再設計によるメリットを得ることができ、短期間での開発を実現することができました。
得られたメリットは以下のようなものがありました。
必要な個所の仕様を素早く明らかにできる変更が必要な個所を素早く明らかにできる変更の影響範囲を明らかにすることが容易になった実装コストの削減UIの高速化
これらのメリットは新機能実装の各フェーズで実感でき、結果として、エンジニアとしてのやりがいや自信にもつながったと感じています。
▼機能設計フェーズ要求仕様の実現性について迅速な対応可否や工数について精度の高い回答を行えたことで、結果、検討中の仕様とそのコストを迅速にシミュレーションすることが可能になり、短期間で最大の効果をもたらす仕様のFixをサポートすることができました。
▼実装フェーズ必要な実装個所やその内容について限定することが可能であったため、実装時間・テスト量等の実装コストを最小に抑えることができました。
▼その後の運用フェーズ万が一の不具合に対して迅速に原因個所を絞り込むことが可能。
さいごに
長く続くブランドの開発に携わるエンジニアの仕事の中には、さもなくば、要求を実装するだけの作業ともなりえるものがありますが、エンジニアであるからこそその視点をブランドとしての達成したいこととマッチングさせることで、ブランドを強くするだけでなく、ともに成長できる機会を得ることも可能であることを実感できるのではないでしょうか。