Blog

エンジニア目線で考えるサービス設計

この記事は、ニフティグループ Advent Calendar 2023 14日目の記事です。

はじめに

こんにちは。会員システムグループの渡邊です。
最近、あるサイトのリニューアルプロジェクトを担当しており、その中で私はエンジニアですがサービス設計にも携わる機会がありました。
そこでエンジニアがサービス設計に積極的に参加することには多くのメリットを感じたので、今回は紹介していきます。

サービス設計の流れ

まず、今回行ったサービス設計は以下の流れで行いました。

  • 既存の課題や成功要因の洗い出し
  • ユーザー行動の理解
  • 競合サービスとの比較
  • アイデアの発想とブレスト
  • コンセプトの選定
  • ワイヤーフレームの作成

すべての工程を企画側と一緒に行い、認識のズレをなくすことを重視しました。
そこで、いくつかの気づきがありましたので以下のようにまとめました。

1. 技術的な実現性の向上

まず、エンジニアがサービス設計に参加することで、提案されたサービスの技術的な実現性を早い段階で評価できます。
サービス設計の段階はついつい、夢を詰め込み過ぎちゃうことがあるため実際に設計、実装を行うエンジニアがいると非現実的な機能や要件を未然に防ぎ、実装可能な範囲でサービスを設計することができます。
しかし、エンジニアは今後の実装を見据えて考えてしまい、手堅い構造にしてしまう傾向があるため、ここでは柔軟な考え方が必須です。

2. パフォーマンスと拡張性の確保

サービス設計で考慮されたユーザーストーリーや要件を元に、エンジニアがシステムを設計を行うため、サービス設計を深く理解する必要がありますが、サービス設計も行ったエンジニアがシステム設計を行うと将来的な変更や機能の拡張がスムーズに考えることができるようになります。
実際には、サービス設計の段階で出てきたアイディアが初期のリリースでは厳しいが、その後のリリースでは可能という判断もできました。

3. ユーザビリティと技術のバランス

次に、ユーザビリティと技術的な側面のバランスが取りやすくなります。
ユーザーエクスペリエンスを向上させる一方で、実装の複雑さや開発リソースの最適な活用を考慮し、実現可能なサービスをデザインできます。
開発を進めていく中で、新しいアイディアが出てくることも多々あるのでこういったことが、サービス設計から盛り込めるのは非常にいいですね。

4. 早期段階での課題解決

実装段階で発生するかもしれない問題や技術的な課題を早い段階で見つけ出し、解決することができます。これにより、開発プロセスがスムーズに進み、最終的なサービスの品質向上が期待できます。

おわりに

エンジニアがサービス設計に積極的に参加することで、ユーザビリティと技術のバランスを取ることができます。これにより、ユーザーエクスペリエンスを向上させながら実装の複雑さを最小限に抑え、企画側とのやり取りの頻度を減らすこともできます。
その結果、サービス設計は単なるアイデアだけでなく、具体的で実現可能なものとなり、プロジェクトの成功に向けたしっかりとした基盤を築くことができるようになると考えています。

ビジネス視点でサービスを見ることがあまりなかったので、今回のサービス設計は良い経験になりました。
今後も試行錯誤を通じて得た気づきは積極的に公開していきたいと思います!

明日は、rubihikoさんです。 お楽しみに!

ニフティでは、
さまざまなプロダクトへ挑戦する
エンジニアを絶賛募集中です!
ご興味のある方は以下の採用サイトより
お気軽にご連絡ください!

Tech TalkやMeetUpも開催しております!
こちらもお気軽にご応募ください!

connpassでニフティグループに
参加いただくと
イベントの
お知らせが届きます!