本文へスキップ
Starone

エンジニアリング哲学

複雑さから本番へ

優れたシステムは、少数の習慣を一貫して実践することから生まれます。設計の前に課題を理解する。構築の前に設計する。繰り返すものは自動化する。主張することは計測する。

原則

私たちが守ること

01

コードの前にアーキテクチャ

高くつく誤りは構造的なものです。境界、データの所有権、障害モードを、それらに依存するコードを書く前に確定します。

02

本番稼働こそが要件

システムはノート PC 上で動いた時点で完成ではありません。監視、セキュリティレビュー、デプロイ、復旧は構築の一部であり、後回しにするフェーズではありません。

03

判断は文書に残す

重要な選択はすべて、その背景と代替案とともに記録します。次のエンジニアが、何をしたかだけでなく、なぜそうしたかを理解できるようにするためです。

04

主張することは計測する

パフォーマンス、品質、コストの目標は、あらかじめ数値で明示し、リリースのたびに確認します。

05

必要が証明されるまではシンプルに

要件を満たすなかで最も複雑さの少ないアーキテクチャを選び、計測によって必要性が示されたときにのみ複雑さを加えます。

06

構築したものはお客様のもの

コード、インフラ定義、ドキュメントはお客様に帰属します。私たちがいなくても別のチームが運用できるように設計します。

エンジニアリングの進め方

順に適用する7つの規律

この方法論は、2週間のアセスメントから複数年にわたるプラットフォーム構築まで適用できます。変わるのは各ステップの深さであり、実施するかどうかではありません。

  1. 01

    ディスカバリー

    ソリューションを提案する前に、ビジネス要件、制約、技術的リスクを理解します。

    実施内容

    • ステークホルダーおよびドメインのワークショップ
    • 既存システム、データ、連携のレビュー
    • 最もリスクの高い前提の特定

    成果物

    • 課題定義と成功指標
    • 制約・リスク管理表
    • 初回リリースのスコープ
  2. 02

    設計

    スケーラビリティ、セキュリティ、保守性を軸にシステムを設計し、判断を文書に残します。

    実施内容

    • ドメインモデリングとサービス境界
    • データ、連携、セキュリティのアーキテクチャ
    • 脅威モデリングとキャパシティ見積もり

    成果物

    • アーキテクチャ文書と構成図
    • アーキテクチャ決定記録(ADR)
    • マイルストーン付きのデリバリー計画
  3. 03

    開発

    モジュール化され、テスト可能で、本番品質のソフトウェアを短いイテレーションで構築し、毎回動くソフトウェアを届けます。

    実施内容

    • コードレビューを伴う反復開発
    • 単体、結合、コントラクトの自動テスト
    • 最初のコミットからの継続的インテグレーション

    成果物

    • 動作するインクリメント
    • テストスイートとクリティカルパスのカバレッジ
    • ドキュメント化された API
  4. 04

    統合

    API、データシステム、サードパーティのプラットフォーム、インフラを接続し、それぞれの連携が安全に失敗するようにします。

    実施内容

    • API とイベントのコントラクト設計
    • 冪等性、リトライ、タイムアウト
    • データ移行と照合

    成果物

    • 統合済みの環境
    • 結合テストスイート
    • 依存システムのランブック
  5. 05

    検証

    ディスカバリーで定めた目標に照らして、パフォーマンス、セキュリティ、信頼性、ユーザー体験を厳しく検証します。

    実施内容

    • 負荷テストとソークテスト
    • セキュリティテストと依存関係のレビュー
    • 障害注入と復旧訓練

    成果物

    • パフォーマンス・キャパシティ報告書
    • セキュリティ上の指摘事項と是正対応
    • 本番稼働の準備状況レビュー
  6. 06

    デプロイ

    Infrastructure as Code とデリバリーパイプラインでデプロイを自動化し、検証済みの切り戻し手段を用意します。

    実施内容

    • Infrastructure as Code
    • 段階的リリースとカナリアリリース
    • ロールバックとデータ移行のリハーサル

    成果物

    • 本番環境
    • デプロイパイプライン
    • リリースおよびロールバックの手順
  7. 07

    運用

    プラットフォームを監視、最適化し、継続的に改善します。その後は引き継ぐか、当社が運用を続けます。

    実施内容

    • サービスレベル目標(SLO)とアラート
    • コスト、パフォーマンス、品質のチューニング
    • インシデントレビューとナレッジ移転

    成果物

    • ダッシュボードとオンコール用ランブック
    • 改善バックログ
    • 引き継ぎまたはマネージド運用

ゼロから本番へ

エンジニアリングライフサイクル

12のステージを経て、システムはアイデアから、稼働し改善され続けるものになります。上の方法論は私たちの仕事の進め方であり、こちらはシステム自体がたどる道筋です。

  1. 01

    アイデア

    システムが生み出すべき成果と、その対象。

  2. 02

    ディスカバリー

    要件、制約、そして誤っている可能性が最も高い前提。

  3. 03

    システムアーキテクチャ

    境界、データフロー、連携ポイント、障害モード。

  4. 04

    UX・プロダクトデザイン

    人が使うフローを、構築する前に検証。

  5. 05

    アプリケーション開発

    フロントエンド、バックエンド、モバイルを、テスト済みのインクリメントで構築。

  6. 06

    AI・データレイヤー

    パイプライン、検索、モデル。初日から評価を実施。

  7. 07

    クラウドインフラ

    コードで定義し、ワークロードに見合った規模にした環境。

  8. 08

    セキュリティ

    アイデンティティ、信頼境界、統制を設計に組み込み、テストで確認。

  9. 09

    QA・パフォーマンス

    明示した目標に対する機能テスト、負荷テスト、障害テスト。

  10. 10

    デプロイ

    リハーサル済みのロールバックを備えた、自動化された段階的リリース。

  11. 11

    オブザーバビリティ

    サービスレベル目標に紐づくメトリクス、ログ、トレース。

  12. 12

    継続的な進化

    品質、パフォーマンス、コストの計測に基づく改善。

協働のかたち

ご依頼の形態

お客様の問いに答えられる、最も小さな形から始めることをおすすめします。

アーキテクチャレビュー

1〜3週間・固定スコープ

既存または計画中のシステムに対する独立したレビュー。指摘事項と優先順位を付けた推奨事項を文書で提出します。

適したケース: 大きな意思決定の前にセカンドオピニオンがほしい場合

ディスカバリー・アーキテクチャ設計

2〜6週間・固定スコープ

新規システムのディスカバリーとアーキテクチャ設計。設計、決定記録、費用見積もり付きのデリバリー計画を作成します。

適したケース: 何をどう構築するかを決める場合

プロジェクトデリバリー

マイルストーンベース

定義されたシステムを、アーキテクチャからデプロイ、引き継ぎまで一貫して提供します。

適したケース: 成果とスコープが明確な場合

伴走型エンジニアリングチーム

月次・柔軟なスコープ

Starone のチームがお客様のチームと並走し、変化するロードマップに取り組みます。開発の進め方とコードオーナーシップを共有します。

適したケース: プロダクトやプラットフォームの継続的な開発

マネージド運用

継続・合意したサービスレベル

合意したサービスレベル目標のもとで、プラットフォームを運用、監視し、継続的に改善します。

適したケース: 運用チームを自前で持たずに運用したい場合

お客様のシステムへの適用を確認する

技術コンサルテーションは、お客様のアーキテクチャと制約について、シニアエンジニアと実務的に話し合う場です。