MicroStrategy ONE

製品開発の手法

このページのみのPDF版を表示するには、ここ

現在、MicroStrategy の技術チームはアジャイル製品開発の手法に従っています。これは、スクラム チーム、プロダクト オーナー、プロダクト管理、ソフトウェア エンジニアリング、ソフトウェア品質、ユーザー エクスペリエンス デザイン、コンテンツ、ローカリゼーション、DevOps の各グループで構成されます。

スクラム チームは成果物別に密接に連携し、2 週間のイテレーション(スプリント)サイクルで作業します。1 つのスプリントは、特定のイテレーションで達成したソフトウェアのインクリメントのデモンストレーションなどの重要なセレモニーで終わります。「実行計画」は 6 つのイテレーションとして定義され、四半期でエンジニアリングおよび品質に関する成果物を生み出します。MicroStrategy の製品の開発には、ソフトウェア アーキテクチャと設計の原則のほかに、ソフトウェアの継続的検証と配置が含まれます。製品開発中は、ポートフォリオ フィーチャー(「フィーチャー」)が構成要素のストーリーに分解されます。これらのフィーチャーに関連するインクリメントの価値が割り当てられ、それに従ってリソースにタスクが割り振られます。

MicroStrategy は世界中のテクノロジー センターにまたがる集中ソース制御、バージョン管理、分岐、コード管理のシステムを擁しています。これらのシステムは、ガバナンス、チェックイン制御、コード レビュー実施を提供します。さらには開発プロセス、コード カバレッジ、およびエンタープライズ ソフトウェア デリバリーのその他の基本原則(静的コード分析など)に対する実用的な洞察を提供します。

MicroStrategy は製品開発と品質管理のあらゆる局面を把握するための一元化システムを維持しています。品質管理に含まれる「QA プラン」は事前定義された自動および手動のテスト事例で、数々のユーザー ワークフローを表します。一元化システムは、ユーザー ストーリー、タスク、および不具合を通してすべてのイニシアチブとフィーチャーから作業項目を取得します。イニシアチブとフィーチャーはポイントで測定されますが、タスクは時間で測定されます。

一元化システムはソースコード リポジトリ、ビルド プロセス、およびアナリティクスと統合されてチームの作業内容、作業項目のステータス、およびソースコードがコミットする規模と性質についての透明性を提供します。さらに、ソフトウェアの設計、コード、自動化、統合テストを通じて要件のトレーサビリティを確保するためにも役立ちます。これらすべてにより、継続的インテグレーション、継続的配信、継続的デプロイメントが可能になります。この一元システムは、プロダクト マネジメント、プロダクト オーナー、アーキテクト、エンジニア、DevOps、品質アナリスト、ユーザー エクスペリエンス、コンテンツ、ドキュメンテーション、エグゼクティブという役割によって運営されます。

リリースの手法

MicroStrategy の製品リリースは、モバイル アプリケーションとデスクトップ アプリケーションの月次リリースで構成されています。これらのリリースは、イノベーションと顧客フィードバックに基づく新機能と製品の改良で構成されています。さらに、MicroStrategy は最新のプラットフォーム リリースに加え、累積アップデートを四半期ごとにリリースします。たとえば、2022 年のリリース予定には、Update 5 (Q1) (11.3.5)、Update 6 (Q2)、Update 7 (Q3)、Update 8 (Q4) があります。MicroStrategy プラットフォームのリリースは通常 1 年に 1 回行われ、重要な新機能とイノベーションを市場に提供するとともに、製品の改良も累積的に行います。一方、MicroStrategy Update は、顧客から報告されたいくつかの項目、セキュリティ、パフォーマンス、およびスケーラビリティの改善に焦点を当てています。ベロシティと開発手法を改善することで、リリース間の差は小さくなりますが、MicroStrategy は四半期単位で同じようなスコープを 1 回のアップデートで提供できます。これらのアップデートには、優先度、重大度、影響度、広汎性に関するお客様の問題の記録システムに捕捉されたソフトウェア品質メトリックも引き続き含まれます。MicroStrategy の典型的なアップデート サイクルは 6 回のイテレーションで構成されています。イテレーションでは、プラットフォームの各側面が、環境、ペルソナ主導の使用事例、機能、性能、安定性、セキュリティ、拡張性、国際化、互換性、アップグレード、アクセシビリティ、およびその他のリリース基準について検証されます。これらのプロダクト品質の側面に関して、厳しい受入基準のレビューと検証が行われます。

MicroStrategy にはエスカレーション プロセスもあり、お客様が営業およびカスタマー サポートの担当者を通して重大な問題をエスカレーションできます。通常の予定通りのアップデートに加え、MicroStrategy はこうしたエスカレーションのレビューを頻繁に行い、ソフトウェア パッチ リリースを発行して対処することもあります。MicroStrategy のパッチ リリースは、通常はまとめて次の MicroStrategy アップデートおよび次の MicroStrategy プラットフォーム リリースに組み込まれます。

品質プログラム

フィーチャーには明確な受入基準があります。通常は、機能、性能、信頼性、セキュリティ、拡張性、国際化、互換性、アップグレード、アクセシビリティの受入基準が設定されています。フィーチャーが承認され実行計画に盛り込まれる前に、定義、技術設計、継続的インテグレーション / ユニット テスト、アーキテクチャ、UX ワークフロー、品質試験計画が検査されます。この手法はコードを書く前に厳密性を徹底し、あいまいさを排除してユーザー エクスペリエンス デザイン、エンジニアリング、アーキテクチャ、試験計画を明確な目標へと統一します。

これらのプログラムによって、イテレーション全体で明記された受入基準の順守について作業項目が定期的に点検されます。全体的な試験計画では、従来、一元化されたバージョン別ソース コード リポジトリにコミットされるコード案に対して、継続的インテグレーション テストの自動化試験手法、およびこれらのテストに基づく自動承認 / 却下を考慮しています。

MicroStrategy プラットフォーム ビルドはエンタープライズ リリース基準に対して多数のシステム試験を実施し、コード品質スキャンと分析を使用して、ビルドがスクラムのチームにリリースされる前に完全性を確保します。MicroStrategy ビルドは現在、Windows、Linux、Amazon Linux、Red Hat Enterprise Linux、MicroStrategy on AWS、MicroStrategy on Azure、iOS、OSX、Android の各オペレーティング システム上でリリースされています。ビルドが QA にリリースされると、スクラム チームは検証プロセスの一環として、公開されたIntelligent Enterprise マップ 上で主要な MicroStrategy ペルソナ主導のエンド ツー エンド テスト ケースを利用します。

MicroStrategy は定期的にセキュリティの脆弱性についてソース コードのセキュリティ スキャン、バイナリ コードのセキュリティ スキャン、内部侵入試験、およびサードパーティの独立侵入試験を実施します。試験対象の脆弱性の種類は、OWASP Top 10 と SANS Top 25 に明示されていますが、これらに限定されません。

MicroStrategy はソフトウェア プラットフォームの一元配置を開発して維持します。各イテレーションについて、これらのシステムをアップグレードし、データを検証し、関連するパフォーマンスのベンチマークおよびキャパシティについてガイドラインを測定し、前回の検証ポイントと比較します。これらのシステムは当社のお客様およびパートナーとの戦略的関係を通じて確立されます。これを「顧客検証プログラム」と呼びます。

MicroStrategy は内部システム全体に配置された独自のプラットフォームを利用して、組織にとってミッションクリティカルなアナリティクスを実行します。これらの内部システムの主要なステークホルダーは、リリース サイクルの一環として定期的にビルドの承認を行います。

品質プログラムは、技術チームにエスカレーションされたお客様の問題を確実に評価、割り当て、スケジュールし、タイムリーに解決するためにあります。上級技術リーダーはテクニカル サポートや営業と連携して定期的に会議を行い、組織が最新情報を共有していることを確認します。こうした会議では、通常は作業項目に関する主要メトリック(経過時間、優先度、重大度、影響度、初回対応までの時間、終了までの時間など)のレビューが行われます。この会議の項目は原因分析 (RCA) にかけられます。RCAでは、エスカレーションされた問題の原因を特定し、問題を修正し、技術または品質プロセスの不具合に対処し、これらのセッションからの項目を製品開発の改善に役立つよう記録システムに追加します。

品質プログラムは、エンタープライズ サポート プログラムとの連携により、担当者が確実に定期的な顧客対応をできるようにします。これらの対応は、アップグレード プログラムの形を取る場合もあれば、、MicroStrategy のコンサルティング部門と連携して顧客の使用事例に関するエクスペリエンスを手に入れる、または顧客との UX 設計セッションを通じて開発サイクルの早い段階で設計に関する意見を提供するなどの場合もあります。

ロードマップの舵取り、およびテクノロジーの戦略的方向性の早期プレビューを行うために、MicroStrategy には、フィールド組織を通じて顧客からのフィードバックを収集する強固なメカニズムがあります。これは、多くの戦略的な顧客ロードマップのレビューにも及んでいます。プラットフォーム ロードマップに現在記載されている項目の多くはこうしたセッションでのフィードバックの賜物です。さらにエンタープライズ サポートおよび UX エンゲージメント、サポートからのカスタマー インテリジェンス、お客様の立場を代弁するため協力して働くアカウント チームのフィードバックも反映されています。

製品開発検査ポイント

下の表は主要なアジャイル検査ポイントと MicroStrategy での製品開発ライフサイクルから得られた知見をまとめたものです。

検査 説明

リリース プランニング

透明性があり包括的な同期計画セレモニー。ステークホルダーとチームが目的を理解し、成果物を企業のビジョンに一致させ、高品質な製品を提供することにコミットできるようにして、お客様の成功を確実なものにします。

リリース準備

受入基準や、製品開発の主要業績評価指標について組織全体で行う検査。エンジニアリング アーキテクチャ、ユーザー エクスペリエンス、お客様の作業項目、機能、性能、拡張性、セキュリティ、国際化、アップグレード、互換性、アクセシビリティの視点から行います。経営幹部レベルの会議で成果物の透明性を確保します。

不具合のトリアージ

チームの日常活動として、新たに報告された不具合や未対応の不具合を検証し、その影響を把握し、パターンを分析し、優先度とスケジュールを決定します。お客様の不具合は徹底的に評価するため最初に検証し、テクニカル サポートと QA プロセスを通じてお客様とコミュニケーションを取ります。

変更管理

計画の完了時にリリースを開始または終了する範囲を綿密に制御することにより、リリースのフォーカス、品質、デリバリーの予測可能性を維持するセレモニーです。それぞれの変更について、価値、コストを含む主要 KPI に対する影響全体の分析が実施され、実行計画を実施するために必要な定量化調整も行います。

イテレーション計画

スクラム チームがイテレーション内で提供できる作業に対するコミットメントを行うために集結するポイント。プロダクト オーナーはプロダクト バックログ項目の詳細とそれぞれの受入基準を明確にし、配信チームが要件を理解してコミットメントを満たすために必要な作業と労力を定義します。

毎日のスタンドアップ ミーティング

毎日の時間枠を決めたセレモニー。イテレーションのステータスと進捗を確認するスクラムチームのミーティングです。チーム メンバーは手短に前日実施した作業内容と当日予定の作業、さらに注意するリスクを説明して、プロダクト オーナーとスクラム マスターがリスク緩和のために必要な対策を講じることができるようにします。

スクラム オブ スクラム

時間枠を決めた毎日のセレモニー。リード スクラム マスターとプロダクト オーナーがイテレーションとリリースの進捗状況を確認し、依存関係に焦点を当てて解決し、チームをまたいだ取り組みが必要なフィーチャーについて作業を計画します。

バックログ リファインメント

時間枠を決めたセレモニー。スクラム チーム全員が今後のイテレーションに導入される作業項目について意識を統一し、理解し、分解します。プロダクト オーナーは順位付けしたバックログをチームに示し、作業項目を説明してチームが要件、価値提案、受入基準を理解できるようにします。プロダクト オーナーはチームから、依存関係、リスク、前提、受入基準、おおまかな予測に関する情報を受け取り、これを役立ててイテレーション計画セレモニーの前に作業項目を改善します。

イテレーション レビュー

イテレーション最終日のセレモニー。スクラム チームはチームのメンバーやステークホルダーに向けて完成した製品の機能のデモンストレーションをします。これによってチームがステークホルダーから直接フィードバックを集めることができるので、次のイテレーションに向けた調整を行い、ステークホルダーの要件と優先度に計画を合わせることができます。

イテレーション レトロスペクティブ(振り返り)

イテレーションの最後のスクラム セレモニー。スクラム チームがイテレーション中のパフォーマンスを振り返るための会議です。チームでイテレーションのハイライトを話し合い、計画について合意をして次のイテレーションに向けて改善します。