MicroStrategy ONE
Metodologia di sviluppo del prodotto
Il presente documento descrive caratteristiche e processi in fase di sviluppo da parte di MicroStrategy. L'obiettivo è fornire indicazioni sulla direzione verso cui si sta evolvendo la tecnologia di MicroStrategy. Le funzioni qui descritte potrebbero essere rilasciate o meno come riportato.
Il presente documento potrebbe includere affermazioni che costituiscono "dichiarazioni previsionali", tra cui stime delle future release tecnologiche, ai fini delle disposizioni di "Approdo sicuro" come definite nel Private Securities Litigation Reform Act del 1995. Le dichiarazioni previsionali implicano per natura rischi e incertezze che potrebbero determinare, per MicroStrategy Incorporated e le sue consociate (collettivamente, "l'Azienda"), risultati notevolmente diversi rispetto a quelli espressi nelle dichiarazioni previsionali.
I fattori che potrebbero contribuire a tali differenze includono: la capacità della Società di raggiungere gli obiettivi di sviluppo dei prodotti allineando i costi ai ricavi previsti; la capacità della Società di sviluppare, commercializzare e fornire in modo tempestivo ed economicamente vantaggioso offerte nuove o migliorate che rispondano ai cambiamenti tecnologici o alle nuove esigenze dei Clienti; la misura e la tempistica dell'accettazione da parte del mercato delle nuove offerte della Società; la continua accettazione di altri prodotti della Società sul mercato; la tempistica degli ordini significativi; fattori competitivi; condizioni economiche generali; e altri rischi indicati nel modulo 10-Q della Società per i tre mesi chiusi al 20 settembre 2021 e in altre relazioni periodiche depositate presso la Securities and Exchange Commission. Effettuando tali dichiarazioni previsionali, l'Azienda non è tenuta ad aggiornarle per revisioni o modifiche dopo la data del presente documento.
Per visualizzare solo questa pagina in versione PDF, fare clic qui.
Attualmente, il team tecnico di MicroStrategy segue un'agile metodologia di sviluppo del prodotto. Consiste nei seguenti gruppi: Team Scrum, Product Owner, Product Management, Software Engineering, Software Quality, User Experience Design, Content, Localization e DevOps.
I team Scrum sono strettamente allineati dai risultati finali e lavorano in cicli di iterazione/sprint di due settimane che si concludono con importanti eventi quali dimostrazioni dell'incremento del software fornito in una particolare iterazione. Il "Piano di esecuzione" viene definito come sei iterazioni comprendenti i risultati finali in ambito tecnico e qualitativo per il trimestre di calendario. Lo sviluppo dei prodotti di MicroStrategy include architettura software, principi di progettazione nonché una convalida e una distribuzione costante del software. Durante lo sviluppo del prodotto, le caratteristiche ("Caratteristiche") del portfolio vengono scomposte nelle relative storie componenti. I valori incrementali associati a tali Caratteristiche vengono assegnati e, pertanto, le risorse sono distribuite di conseguenza.
MicroStrategy ha il controllo della fonte centrale, delle versioni, della diramazione e dei sistemi di gestione del codice in tutti i centri tecnologici del mondo. Tali sistemi forniscono governance, controlli check-in, applicazione della revisione del codice, nonché informazioni utilizzabili sui processi di sviluppo, la copertura del codice e altri principi fondamentali della fornitura di software aziendali quali analisi del codice statico.
MicroStrategy gestisce un sistema centralizzato per l'acquisizione di tutti gli aspetti dello sviluppo di prodotti e della gestione della qualità. La gestione della qualità include i "Piani QA", ossia casi di prova automatici e manuali predefiniti che rappresentano una matrice di flussi di lavoro dell'utente. Il sistema centralizzato acquisisce elementi di lavoro da tutte le Iniziative e Caratteristiche, tramite le storie degli utenti, le attività e i difetti. Le Iniziative e le Caratteristiche vengono misurate in punti mentre le attività vengono misurate in ore.
Il sistema centrale è integrato con il repository del codice sorgente, il processo di compilazione e l'analytics per fornire la trasparenza a cui lavorano i team, lo stato di questi elementi di lavoro e le dimensioni e la natura dei commit del codice sorgente. Inoltre, contribuisce a garantire la tracciabilità dei requisiti tramite progettazione del software, codice, automazione e test di integrazione. Tutto ciò consente integrazione, fornitura e distribuzione continue. Questo sistema centrale viene utilizzato dal team di Product Management, Product Owner, architetti, ingegneri, DevOps, analisti di qualità, con ruoli dirigenziali, relativi all'esperienza dell'utente, di contenuti e documentazione.
Metodologia del rilascio di versioni
Le versioni dei prodotti MicroStrategy sono costituite da versioni mensili per applicazioni mobili e applicazioni desktop. Queste versioni comprendono nuove funzionalità e miglioramenti del prodotto basati sull'innovazione e sul feedback del cliente. Inoltre, ogni trimestre, MicroStrategy rilascia aggiornamenti cumulativi in aggiunta all'ultima versione della piattaforma. Come esempio, la pianificazione del rilascio della versione nel 2022 include l'aggiornamento 5 nel T1 (11.3.5), l'aggiornamento 6 nel T2, l'aggiornamento 7 nel T3 e l'aggiornamento 8 nel T4. Mentre le versioni della piattaforma MicroStrategy, in precedenza annuali, forniscono abitualmente nuove funzionalità e innovazioni significative al mercato, nonché miglioramenti incrementali del prodotto, gli aggiornamenti di MicroStrategy si concentrano su un numero selezionato di elementi segnalati dal cliente, miglioramenti relativi a sicurezza, prestazioni e scalabilità. Con miglioramenti alla velocità e alle pratiche di sviluppo, MicroStrategy è in grado di fornire lo stesso tipo di ambito in un aggiornamento su base trimestrale, anche se con delta minori tra le versioni. Tali aggiornamenti continueranno a includere anche metriche di qualità del software nel sistema di record per i problemi del cliente con priorità, gravità, impatto e diffusione. Un tipico ciclo di aggiornamento per MicroStrategy prevede sei iterazioni in cui gli aspetti della piattaforma sono convalidati negli ambienti, nei casi di utilizzo in base ai ruoli, funzioni, prestazioni, stabilità, sicurezza, scalabilità, internazionalizzazione, compatibilità, aggiornamento, accessibilità e altri criteri di rilascio. I rigidi criteri di accettazione per questi aspetti di qualità del prodotto vengono analizzati e convalidati.
MicroStrategy dispone anche di un processo di escalation grazie al quale i clienti possono eseguire l'escalation di problemi critici tramite i relativi collegamenti di account executive e supporto clienti. Oltre agli aggiornamenti regolarmente pianificati, MicroStrategy analizza spesso queste escalation e potrebbe rilasciare patch di software in risposta. I rilasci di patch MicroStrategy vengono generalmente raggruppati nel successivo aggiornamento MicroStrategy disponibile e nel seguente Platform Release MicroStrategy.
Programmi di qualità
Le Caratteristiche hanno indicato criteri di accettazione che, generalmente, tengono conto di funzioni, prestazioni, affidabilità, sicurezza, scalabilità, internazionalizzazione, compatibilità, aggiornamenti e/o considerazioni di accessibilità. Prima che le Caratteristiche siano approvate nel piano di esecuzione, si ispezionano la definizione, la progettazione tecnica, le prove continue di integrazione/unità, l'architettura, i flussi di lavoro UX e/o il piano di prova della qualità. Questa metodologia rafforza la precisione prima della scrittura del codice e contribuisce a eliminare l'ambiguità e unificare la progettazione dell'esperienza dell'utente, l'ingegneria, l'architettura e i piani di test in chiari obiettivi.
Tali programmi aiutano ad assicurare che nelle iterazioni, gli elementi di lavoro vengano regolarmente ispezionati per garantire la conformità ai criteri di accettazione indicati. Il piano di test completo considera generalmente le metodologie di prova automatiche per test di integrazione continui, nonché approvazioni/rifiuti automatici basati su tali test per qualsiasi commit di codice proposto in un repository del codice sorgente centrale, con versione.
Le build della piattaforma MicroStrategy eseguono un'ampia gamma di test di sistema in base ai criteri del rilascio aziendale, utilizzando scansioni di qualità del codice e analisi per garantire l'integrità prima che venga rilasciata la build ai team Scrum. Le build di MicroStrategy vengono attualmente rilasciate in Windows, Linux, Amazon Linux, Red Hat Enterprise Linux, MicroStrategy su AWS, MicroStrategy su Azure, iOS, OSX e sui sistemi operativi Android. Quando una build viene rilasciata al QA, i team Scrum utilizzano casi di test end-to-end basati su ruoli chiave MicroStrategy sulla Mappa dell'Intelligent Enterprise pubblicata come parte del processo di convalida.
MicroStrategy esegue una scansione di sicurezza del codice sorgente regolare, una scansione di sicurezza del codice binario, un test di penetrazione interno e test di penetrazione indipendente di terze parti per le vulnerabilità della sicurezza. I tipi di vulnerabilità testate sono quelli identificati da, a titolo esemplificativo, OWASP Top 10 e SANS Top 25.
MicroStrategy sviluppa e gestisce distribuzioni centrali della sua piattaforma software. Per ogni iterazione, questi sistemi vengono aggiornati, i dati vengono convalidati e i riferimenti delle prestazioni associate e le linee guida sulle capacità vengono misurati e confrontati con punti di convalida precedenti. Questi sistemi vengono stabiliti tramite relazioni strategiche con i nostri clienti e partner. Viene denominato "Programma di convalida del cliente".
MicroStrategy utilizza la sua piattaforma distribuita su sistemi interni per eseguire analytics mission-critical per l'azienda. Le principali parti interessate su questi sistemi interni approvano regolarmente la build come parte dei cicli di rilascio.
I programmi di qualità servono a garantire che i problemi di cui è stata eseguita l'escalation da parte del cliente al team tecnico vengano valutati, assegnati, pianificati e risolti in maniera tempestiva. La leadership senior tecnica incontra regolarmente il supporto tecnico e il reparto commerciale per garantire che l'azienda sia allineata alle informazioni più aggiornate sui dati. Durante questi incontri, le metriche chiave relative agli elementi di lavoro vengono generalmente analizzate e possono includere età, priorità, gravità, impatto, tempi della prima risposta e di chiusura. Gli argomenti di questa riunione sono sottoposti ad analisi della causa di origine (RCA) durante la quale si individua la causa sottostante del problema sottoposto a escalation. Quindi, il problema viene risolto, insieme a qualsiasi difetto del processo tecnico o di qualità, e vengono aggiunti elementi da queste sessioni al sistema di record per miglioramenti dello sviluppo dei prodotti.
I programmi di qualità sono collegati ai programmi di supporto aziendale per garantire che il personale collabori regolarmente con i nostri clienti. Questi possono assumere la forma di programmi di aggiornamento, impegno con il reparto Consulenza di MicroStrategy per acquisire esperienza nei casi di utilizzo del cliente o tramite sessioni di progettazione UX con i clienti per essere in grado di fornire indicazioni di progettazione nelle prime fasi del ciclo di sviluppo.
MicroStrategy dispone di un solido meccanismo per acquisire il feedback dei suoi clienti attraverso la sua organizzazione sul campo con l'intento di indirizzare la roadmap e anticipare la direzione strategica della tecnologia. Ciò si estende a diverse revisioni strategiche della roadmap dei clienti. Diversi elementi attuali sulla roadmap della piattaforma sono il risultato diretto di feedback di queste sessioni, nonché supporto aziendale e impegni UX, customer intelligence dai team di supporto e dai team account che lavorano insieme per conto del cliente.
Punti di ispezione sullo sviluppo del prodotto
La seguente tabella comprende punti di ispezione agili chiave ed esiti derivanti dal ciclo di vita dello sviluppo del prodotto in MicroStrategy.
Ispezione | Descrizione |
---|---|
Pianificazione delle versioni |
Un evento di pianificazione sincronizzata inclusivo e trasparente che consente alle parti interessate e ai team di comprendere gli obiettivi, allineare i risultati alla visione aziendale e impegnarsi per fornire un prodotto di alta qualità per garantire il successo del cliente. |
Disponibilità dei rilasci di versione |
Ispezione dei criteri di accettazione nell'intera azienda, indicatori di prestazioni chiave dello sviluppo del prodotto dal punto di vista di architettura dell'ingegneria, esperienza dell'utente, elementi di lavoro del cliente, funzioni, prestazioni, scalabilità, sicurezza, internazionalizzazione, aggiornamento, compatibilità, accessibilità. Riunione a livello di CXO per garantire la trasparenza dei risultati. |
Difetti del triage |
L'attività quotidiana del team per analizzare difetti appena rilevati e già esistenti, comprenderne l'impatto, eseguire analisi per modelli, prioritizzare e pianificare. I difetti dei clienti vengono analizzati innanzitutto per assicurare una valutazione completa e la comunicazione con il cliente tramite il supporto tecnico e il processo di QA. |
Gestione delle modifiche |
Eventi per gestire i punti principali del rilascio di versioni, la qualità e la predicibilità della fornitura mediante stretto controllo dell'ambito in cui arriva o viene emesso un rilascio dopo aver completato la pianificazione. Per ciascuna modifica viene eseguita un'analisi a pieno impatto in base ai KPI chiave tra cui valore, costi e regolazioni quantificate necessarie per erogare il piano di esecuzione. |
Pianificazione dell'iterazione |
Il rally point in cui il team Scrum si impegna per lavorare al meglio nell'ambito dell'iterazione. Il Product Owner chiarisce i dettagli degli elementi di backlog del prodotto e i rispettivi criteri di accettazione, quindi il team di consegna comprende i requisiti e definisce il lavoro e l'impegno necessari per conseguire gli obiettivi prefissati. |
Stand-up quotidiano |
Evento con durata fissata quotidiano in cui il team Scrum si riunisce per valutare lo stato e i progressi della loro iterazione. I membri del team discutono brevemente del lavoro svolto il giorno prima, del lavoro pianificato per quel giorno ed evidenzia i rischi in modo che il Product Owner e lo Scrum Master possano intraprendere le azioni necessarie per mitigare i rischi. |
Scrum di Scrum |
Evento con durata fissata quotidiano per Lead Scrum Master, Product Owner e Product Manager per esaminare i progressi sull'iterazione e la versione, evidenziare e risolvere le dipendenze e pianificare il loro lavoro per qualsiasi caratteristica che richiede l'impegno di team interfunzionali. |
Affinamenti di backlog |
L'evento con durata fissata in cui l'intero Team Scrub si allinea, comprende e scompone gli elementi di lavoro che saranno introdotti nella prossima iterazione. Il Product Owner presenta un backlog classificato al team e descrive gli elementi di lavoro aiutando il team a comprendere i requisiti, il valore aggiunto e i criteri di accettazione. Il Product Owner riceve indicazioni dal team relativamente a dipendenze, rischi, presupposti, criteri di accettazione e stime di elevato livello, contribuendo a ottimizzare gli elementi di lavoro prima dell'evento di pianificazione dell'iterazione. |
Analisi dell'iterazione |
Evento dell'ultimo giorno dell'iterazione in cui il team Scrum dimostra le funzioni del prodotto finito al resto del team e delle parti interessate. Consente al team di raccogliere feedback direttamente dalle parti interessate in modo che le regolazioni possano essere apportate durante le iterazioni imminenti per allineare il piano ai requisiti e alle priorità delle parti interessate. |
Retrospettiva dell'iterazione |
Ultimo evento del team Scrum nel corso di un'iterazione in cui il team si riunisce per analizzare le prestazioni durante l'iterazione. Il team discute dei punti chiave dell'iterazione e si accorda su un piano per apportare miglioramenti all'iterazione successiva. |