カテゴリカード "ゲームのルール"

ゲームのルール

ゲームのルール

ゲームのルール

[ 技術的選択 ]

技術的な選択肢は、フィーチャーチームによって** ** ** ** ** **は想定されています。

ゲームのルール

[ 技術的選択 ]

フィーチャーチームは、責任ある行動を行い、排他的に影響を与える選択肢と組織に影響を与える選択肢を特定する必要があります。

フィーチャーチームの範囲を超える選択肢(ライセンス、まれなプログラミング言語など)は、組織またはピアコンバージェンスプロセスによって検証されなければなりません** 。

ゲームのルール

[ 良い使用 ]

正しい使い方のための正しいツール**は節約の源です。

ゲームのルール

[ 良い使用 ]

すべての人に課された悪いツールはリスクです。良いツールの誤用は非常に有害な結果**を持つことができます。たとえば、あまり使用されていないアジャイルメソッドは危険です。

ツールは質問する必要があります。

** Excel はしばしば合理的な選択肢ですが、すべてを行うための **(CRM、ERP、Datamart、…)

ゲームのルール

[ BUILD VS.購入 ]

特権コアビジネスのためのビルド

その他の場合は、購入を考慮してください。

ゲームのルール

[ BUILD VS.購入 ]

ツールが組織の機能を差別化する機能を備えているほど、構築される方が多くなります。コアビジネスは特異性を可能にする必要があり、は迅速かつ頻繁に適応しなければなりません。いくつかのソフトウェアパッケージは、このニーズに合わせて適応されることがあります。

** その他の場合:SaaS、オープンソース、ビルド、オーナーはケースバイケースで学びます。

ゲームのルール

[ オープンソース ]

オープンソースを最大限に活用。

代わりの選択肢をサポートする必要があります。

ゲームのルール

[ オープンソース ]

プロプライエタリなソリューションは、必要に応じてメンテナンスを再開できる必要がある組織のリスクです。

オープンソースの代替手段を持たないプロプライエタリなツールはほとんどありません。

組織はオープンソースコミュニティーのメリットを提供し、は貢献することができます。

ゲームのルール

[ マイクロサービス ]

スタンドアロンおよび弱く結合したサービスを開発する。

ゲームのルール

[ マイクロサービス ]

弱いカップリングは標準でなければなりません。

各マイクロサービスは明確に定義されたインターフェースを持っています。

このインターフェースはマイクロサービス間のリンクを決定します。

ドメイン駆動設計では、特に有界コンテキストでこの問題を予期することができます。

ゲームのルール

[ DATA ]

各サービスには独自の**データストレージシステムがあります。

ゲームのルール

[ DATA ]

データストアは、単一のマイクロサービスとのみ結合されることを意図しています。

あるマイクロサービスから別のマイクロサービスへのデータへのアクセスは、そのインターフェースを介して排他的に行われます。

この設計はプラットフォーム全体の時間の経過と共に一貫性を意味します。 UXを含むすべてのレベルで認識されなければなりません。

ゲームのルール

[ SCOPE ]

各マイクロサービスは、合理的な機能的境界を持っていなければなりません** 「頭に合っている」。

ゲームのルール

[ SCOPE ]

マイクロサービスは合理的な数の機能を提供します。

成長が始まると、マイクロサービスを切断するのをためらってください。

リーズナブルなサイズのサービスは、必要に応じて書き換え**を穏やかに検討することを可能にします。

ゲームのルール

[ 応答性 ]

** Reactive Manifesto **は、反応性のあるアーキテクチャの設計に向かう道を開きます。

ゲームのルール

[ 応答性 ]

レスポンシブなプログラミングは、データの流れと変化の伝播に焦点を当てています。これは、より伝統的なアプローチ "反復子"に反するパターン "** Observer **"に基づいています。

リアクティブマニフェストは基本的な軸を設定します:可用性とスピード、反発力、柔軟性、弾力性、メッセージオリエンテーション**。

ゲームのルール

[ ASYNC-FIRST ]

非同期プロセスはデカップリングを、スケーラビリティはパフォーマンスを優先します。

ゲームのルール

[ ASYNC-FIRST ]

アプリケーション間の交換は非同期でなければなりません。

非同期交換は自然に弱いカップリング、分離、フロー制御(背圧)を可能にします。

同期通信は、アクションがそれを必要とするときのみ**考慮されるべきです。

ゲームのルール

[ EVENTS ]

情報システムは、イベントを指向していなければなりません。

ゲームのルール

[ EVENTS ]

** イベント駆動型機能プロセスは自然に 非同期に実装されています。

イベントオリエンテーションは、** C と Q ** uery ** R の可能性 S ** egregation(** CQRS ** )と** Event Sourcing **です。

ゲームのルール

[ メッセージブローカー ]

特権シンプルで堅牢で強力なメッセージブローカーを "スマートパイプ"に特権を与えます。

ゲームのルール

[ メッセージブローカー ]

** ESB は限界を示しました:スケーラブルなメンテナンスは技術と組織の観点の両方から重要**です。

** カフカのようなブローカーメッセージは、シンプルな、耐久、弾力のあるソリューションを提供します。

スマートエンドポイントとシンプルパイプは規模で動作するアーキテクチャです。インターネットです。

ゲームのルール

[ TIMING ]

システムの完全な同期は、** 設計されるとすぐに考えられるべきです。

ゲームのルール

[ TIMING ]

イベントフローによって2つのシステム間の同期が保証されている場合、これらのシステムの合計再同期は設計時に計画する必要があります。

自動** ** 同期監査(例:サンプル別)は、測定および可能な同期エラーの検出を可能にします。

ゲームのルール

[ 一元化 ]

サービスの構成は集中、発見はディレクトリによって保証されています。

ゲームのルール

[ 一元化 ]

マイクロサービスの構成はすべての環境のための集中です。

中央ディレクトリはマイクロサービスの動的検索を保証します。

** グローバルスケーラビリティはこのディレクトリ**に依存します。

ゲームのルール

[ サンドトレイ ]

フィーチャーチームはサンドボックス環境を提供します。

ゲームのルール

[ サンドトレイ ]

フィーチャーチームはサンドボックス環境(現在のバージョンと今後のリリース)を維持して、他のチームを拡大することができます。

いくつかの非名義のケースでは、機能は開発環境で無効になることがあります。

ゲームのルール

[ 失敗のための設計 ]

あなたのシステムはクラッシュするでしょう!

それが耐性を持つように設計する。

ゲームのルール

[ 失敗のための設計 ]

あなたのシステムは失敗します、それは避けられません。このために設計されていなければなりません(** Design For Failure **)。

ハードウェア(ネットワーク、ディスクなど)、アプリケーション(複数のアプリケーションのインスタンス)、地理的なゾーンプロバイダ**(例:AWS + OVH)。

ゲームのルール

[ ツールキット ]

** toolkits **を提供し、厳格な枠組みを課してはいけません。

ゲームのルール

[ ツールキット ]

テクニカルコンポーネントの住宅および横断への注意!それらは制限的で、費用がかかり、維持するのが難しい。

アクセラレータ、ツールキット、テクニカルスタック プール、無料フィーチャーチーム、独断的なアプローチを避ける。

ゲームのルール

[ 雲 ]

パブリック、プライベートまたはハイブリッドのクラウド(** IaaS または PaaS **)は、制作の標準です。

ゲームのルール

[ 雲 ]

** PaaS サービスは優先、簡単**、および規模をすばやく調整できます。

** IaaS サービスでは、柔軟性**を高める必要があるケースに対処できますが、より多くの運用作業が必要になります。

プライベートクラウドは従来の仮想化環境ではなく、コモディティハードウェアに依存しています。

ゲームのルール

[ インフラ ]

フィーチャーチームはインフラストラクチャを管理していませんが、組織によって提供され管理されています。

ゲームのルール

[ インフラ ]

インフラストラクチャの問題は** Feature Teams にありません。インフラストラクチャは機能×サービスによって提供され維持されなければなりません。

ゲームのルール

[ CONTAINERS ]

コンテナは異機種ツーリングに必要な柔軟性を提供します。

ゲームのルール

[ CONTAINERS ]

コンテナは異質なツールを同種のコンテキストで可能にするためにフィーチャーチームが必要とする柔軟性を提供します。

ゲームのルール

[ ENVIRONMENTS ]

容器の使用は、技術環境の問題を克服することを可能にする。

ゲームのルール

[ ENVIRONMENTS ]

コンテナ(例:** Docker )は、環境の違いを **解放することを可能にします。

配備プロセスは環境に対して不可知論的でなければなりません。

データベースなどの一部のコンポーネントはコンテナに配置しないでください。彼らの展開はまだ自動化されています。

ゲームのルール

[ METRIC ]

対策はすべてに中央およびアクセス**する必要があります。

ゲームのルール

[ METRIC ]

指標は、異なるレベルの細かさを持つすべての人にアクセス可能です。関連するチームフィーチャーの詳細ビュー、組織の他のメンバーの集計。

指標へのアクセスはユニットデータへのアクセスを意味するものではなく、機密性を維持するように制御されなければなりません。

すべての環境が影響を受けます。

ゲームのルール

[ QUALITY ]

ソフトウェア品質は重要な要素です。

ゲームのルール

[ QUALITY ]

コードレビューは体系的です。 継続的改善の一環として、フィーチャーチームのメンバーまたは組織の他のメンバーが実施します。

あなたが監査されているのではなく、あなたのコード: "あなたはあなたのコードではありません!"

光度測定は部分的に自動化できますが、** "新しい目" に勝るものはありません。

ゲームのルール

[ 自動テスト ]

自動テストは継続的な導入のための交渉可能な前提条件です。

ゲームのルール

[ 自動テスト ]

自動テスト 時間の経過とともに製品の品質**を保証します。

継続的な導入には前提条件があります。** 変更および頻繁な展開が可能です。

プロダクションの公開は逸話イベントになります!

ゲームのルール

[ テストレベル ]

すべてのレベルでのテスト:ユニット、統合、機能性、反発力、パフォーマンス

ゲームのルール

[ テストレベル ]

統合および機能テストは最も重要です** 保証 ** 効果的な運用**

ユニットテストは開発に適しています。

パフォーマンスは時間の経過とともにパフォーマンスを測定します**。

弾力性テストは失敗を予測するのに役立ちます。

ゲームのルール

[ COVER ]

カバーはテスト品質の主な客観的指標です。

ゲームのルール

[ COVER ]

テストによるコードカバレッジは、コード品質の良いメトリックです。

これは、必要な条件ですしかし、十分ではありません、コードの良質を保証することなく、悪いテスト戦略の適用範囲が高くなります。

ゲームのルール

[ SAFETY ]

セキュリティはプロセスです。問題に応じて対処すべきではありません。

ゲームのルール

[ SAFETY ]

セキュリティ専門家はフィーチャーチームに直接統合することができます** 必要に応じて。

セキュリティ専門家は、監査、認識、フォワードのために組織内で利用可能です。