Category Archives: Visual Studio

How to share an Azure DevOps Artifact feed with the entire organization

Azure Feeds used to be scoped to an organization. However, to enable public feeds and to become more consistent with the rest of Azure DevOps, feeds created through the new create feed UI are now project-scoped.

Agile@School – Anno quinto, ep. 5

Ed eccoci alla seconda lezione completamente online! L’impatto è stato molto meno forte; la volta scorsa abbiamo avuto un po’ di tensione causata dalla mancanza di esperienza, mentre stavolta la lezione è filata via senza intoppi (tolto qualche problema tecnico iniziale, prontamente risolto dal gentilissimo personale della scuola). È un buon segno. Nonostante tutto, è … Continue reading Agile@School – Anno quinto, ep. 5

PMI Disciplined Agile: Disciplined Agile Enterprise (pt.6)

Riprendiamo il nostro viaggio attraverso Disciplined Agile, andando ad esplorare l’anello più olistico del toolkit, ovvero: Disciplined Agile Enterprise (DAE).

da f1

Con i process blade di livello DAE, DA supporta lo sviluppo di una organizzazione in grado di abbracciare una Cultura Agile a tutti i livelli, adottando strumenti che le permettono di rispondere rapidamente ai cambiamenti del mercato.  È utile sottolineare, ulteriormente, che le diverse aree di DA vanno intese in senso evolutivo: i benefici tangibili e continuativi si ottengono se esse si sviluppano partendo dal centro (DAD) verso l’esterno (DAE) e non scegliendo solo quello che ci è “comodo”.

Una DAE, in particolare, affronta le sfide di mercato grazie ad una cultura che favorisce il l’apprendimento e l’evoluzione continua, in modo da adattarsi costantemente alle mutevoli esigenze del mercato di riferimento, spesso di tipo VUCA (Volatilità, Incertezza, Complessità e Ambiguità). In questo contesto, DAE si fonda su tre considerazioni primarie:

  • Ogni azienda è un’azienda di software. Tutte le attività produttive moderne sono basate sul software: anche se non si è una software house, senza software non è possibile fare business! Il dipartimento IT non può essere visto come un “centro di costo” da tagliare, emarginare ed esternalizzare, ma deve essere al centro dell’azione aziendale perché tale è il suo compito. Bisogna eccellere nell’IT se si vuole avere un’opportunità di emergere (e sopravvivere) nel proprio settore di riferimento.
  • Nessuno può ritenersi al sicuro. Non esistono più condizioni di monopoli, in nessun settore: da quello bancario a quello delle macchine industriali pesanti. Basta un nuovo competitor innovativo, che rivoluziona l’approccio al mercato o al prodotto, per condannare l’organizzazione all’estinzione. La domanda non è “quando accadrà anche a me”, perché sta già accadendo ora, la questione è decidere se si vuole essere leader o tentare di sopravvivere finché la fine (certa) non arrivi.
  • Le aziende Agili saranno le uniche a sopravvivere. Per rispondere alle sfide moderne, in un mondo complesso, è indispensabile essere adattivi/reattivi/empirici, costruendo la propria visione di agilità. Non esiste un settore dove queste caratteristiche non facciano la differenza, nemmeno uno. 

Nello specifico, quando si arriva a concentrarsi sulle sfide inerenti una DAE, vengono introdotti (come focus) i seguenti process blade:

da dae processblades

DAE Process Blades

ovvero:

  • Business Operations: focalizzato sulle attività necessarie per fornire servizi ai clienti e supportare i prodotti. Tra esse troviamo: l’help desk, i servizi finanziari(bancari e non), le attività di supporto tecnico, ecc. Come è intuibile, nell’ottica di “deliziare” il cliente, è necessaria una stretta collaborazione con le tue attività di vendita e marketing.
  • Control: i team operativi devono collaborare strettamente con le aree finanziarie e legali, in modo da avere consapevolezza delle risorse disponibili e dei vincoli di azione esistenti, mitigando gli ostacoli che si potrebbero incontrare.
  • Finance: la Disciplined Agile Financesi concentra su obiettivi concreti ed essenziali come garantire il flusso di cassaassicurarsi che il budget sia speso adeguatamenterispetto degli obblighi di tassazionetracciamentoe registrazione delle 
  • Legal: lo scopo primario è quello di garantire che l’organizzazione lavori entro il rispetto delle normative vigenti nel territorio in cui opera. Il legal teamlavora, inoltre, alla definizione di “contratti agili” che consentono di estendere l’agilità oltre il perimetro aziendale, in collaborazione con il people management, il marketing, il procurement, ecc. 
  • Marketing: il suo obiettivo è lo sviluppo di interazioni di successo tra l’organizzazione e il mondo esterno. Il marketing si muove “a due vie”: per i clienti, rappresenta l’organizzazione stessa e le sue offerte, per il resto dell’organizzazione, i (potenziali) clienti. In collaborazione con la gestione dei prodotti, il marketing è attivamente coinvolto nella visione a lungo termine delle offerte.
  • Procurement: il suo principale scopo è quello di efficientare il processo di approvvigionamento, aiutando ad ottenere, nei tempi adeguati, prodotti e servizi da organizzazioni terze. A tale scopo, il team relativo collaborerà con altre parti dell’organizzazione per comprendere le esigenze di approvvigionamento, identificare potenziali fornitori in grado di soddisfarle e collaborare con legalper sviluppare contratti adeguati. Da punto di vista organizzativo, il team di approvvigionamento è spesso parte del team legale o comunque strettamente correlato.
  • Sales: il suo obiettivo è tanto ovvio quanto fondamentale, ovvero vendere i prodotti/servizi ai clienti. Gli addetti alle vendite, lavorano a stretto contatto con il team di marketing, per assicurarsi di essere concentrati sulle vendite che riflettono la strategia generale dell’organizzazione, oltre che con l’IT, per garantire che ciò che sta vendendo sia disponibile o possa essere sviluppato rapidamente. Sales, a livello organizzativo, è spesso combinato con il marketing o ad altre aree aziendali.

Come abbiamo visto per le altre aree, anche DAE è interessato da un workflow esplicativo che mette in relazione tra loro i diversi process blade, non solo quelli specifici appena tracciati.

dae workflow

DAE Workflow

DAE espande quindi una filosofia agile a tutte le aree organizzative, anche quelle storicamente più burocratizzate ed ingessate, promuovendo la cultura dell’innovazione continua in relazione alle sfide che il mercato di oggi (e di domani) presenta ad ogni tipo di organizzazione.

Si conclude così il nostro sesto appuntamento dedicato a PMI DA. Nel prossimo approfondimento introdurremo PMI FLEX, il framework “dinamico” che evidenzia come gestire un value stream sfruttando quanto messo a disposizione dal toolkit DA.

Stay tuned J

Agile@School – Anno quinto, ep. 4

Vista l’emergenza in corso, è passato un po’ di tempo dall’ultimo aggiornamento e di cose ne sono successe: poco dopo l’ultima lezione, infatti, il Coronavirus ha iniziato a diffondersi e sono state prese contromisure sempre più restrittive per arginare il fenomeno. Si è arrivati infine al divieto per tutti i cittadini di uscire di casa, … Continue reading Agile@School – Anno quinto, ep. 4

Agile@School – Anno quinto, il progetto in remoto

Si sente spesso dire che la scuola non ha tutti gli strumenti per poter fronteggiare formazione in remoto. In generale, il mondo della formazione scolastica è considerato talvolta un po’ arretrato. In realtà, l’istituto che stiamo seguendo, sia con progetti paralleli, sia come alternanza scuola-lavoro è ed è sempre stata all’avanguardia. Forse sono un po’ … Continue reading Agile@School – Anno quinto, il progetto in remoto

Agile@School – Anno quinto, ep. 3

Nella seconda lezione abbiamo deciso di iniziare ad affrontare l’integrazione fra Git e Azure DevOps, in particolare per quanto riguarda il collegamento automatico fra i commit/push e i Task. Questa volta, però, abbiamo incontrato non poche difficoltà. I ragazzi, infatti, hanno lavorato su GitHub fino ad oggi, per cui abbiamo ritenuto opportuno effettuare l’importazione dei … Continue reading Agile@School – Anno quinto, ep. 3

Agile@School – Anno quinto, ep. 2

Eccoci arrivati alla seconda lezione, cominciamo finalmente a fare sul serio! La volta scorsa avevamo chiesto ai ragazzi di provare a inserire le user story sulle board dei loro progetti. Ora, le board erano lande desolate… Forse la causa è da attribuire al concetto di user story, che può essere in qualche modo complesso e … Continue reading Agile@School – Anno quinto, ep. 2

PMI Disciplined Agile: Disciplined Agile IT (pt. 5)

In questo nuovo appuntamento dedicato a Disciplined Agile ci focalizzeremo su Disciplined Agile IT (DAIT).

da f1

DAIT fornisce un quadro d’insieme dei processi e delle azioni da implementare per ottenere una efficace integrazione tra le iniziative di business e le derivate azioni intraprese dall’IT, siano esse relative a nuovi prodotti o alla trasformazione di servizi in essere.

da dait workflow

DAIT Workflow

L’obiettivo è quello di consentire una governance chiara e trasparente delle diverse iniziative di un’organizzazione IT, consentendo di misurarne il valore e i benefici ottenuti.

Per raggiungere questo obiettivo, il toolkit introduce i seguenti Process Blade:

  • Continuous Improvement: si occupa di facilitare la condivisione della conoscenza all’interno dell’organizzazione, in modo da supportare il miglioramento continuo in modo sistematico. 
  • Enterprise Architecture: si concentra sulle dinamiche che caratterizzano lo sviluppo e l’evoluzione di una Disciplined Agile Enterprise Architecture (DA EA), ovvero su come rendere le strutture ed i processi aziendali flessibilifacilmente ampliabilifacilmente evolvibili. Il cuore della DA EA è l’esplorazione collaborativa ed evolutiva, realizzata in modo sensibile al contesto grazie alla collaborazione continua tra gli enterprise architecte i team di delivery.

Come gli altri process blade, anche l’Enterprise Architecture ha una fitta rete di relazioni e dipendenze con il resto degli elementi e processi dell’organizzazione.

da ea workflow

Enterprise Architecture Workflow

  • People Management: nota anche come gestione delle risorse umane(HR), gestione dei talenti,gestione del personale, ecc. Ha l’obiettivo fondamentale di gestione il percorso di crescita delle persone, attraendo e trattenendo talenti in grado di creare team fantastici
  • Portfolio Management: affronta il modo in cui un’organizzazione IT identificaassegnaleprioritàorganizza e governa le diverse attività. Discipline Agile Portfolio Management cerca di farlo nel modo più flessibile possibile supportando la creazione di valore sostenibile nel lungo periodo. Le attività IT, in genere, includono:
    • attività di delivery
    • team di sviluppo stabili
    • esperimenti di business (sulla falsariga di Lean Startup)
    • mantenimento efficace delle soluzioni esistent

Il flusso di relazione con gli altri process blade e i diversi aspetti organizzativi è riassunto nella figura seguente, che evidenzia come l’attività di Portfolio Management “attinge” e condivide informazioni con le diverse funzioni al fine di riallinearsi costantemente con lo stato reale delle attività grazie a quella che viene definita Development Intelligence.

da portfolio workflow

 Portfolio Management Workflow

  • Product Management: include le azioni di identificazioneed evoluzionedella Visione Aziendale della propria organizzazione. In sintesi si occupa di: 

    • identificare e dare la priorità ai potenziali prodotti/soluzioni
    • stabilire le priorità e allocare le funzionalità relative ai prodotti in fase di sviluppo
    • gestire le dipendenze funzionali tra prodotti
    • commercializzare i prodotti ai potenziali clienti

DA Product Management si fonda sulla gestione del prodotto in modo collaborativo ed evolutivo, riflettendo costantemente sul contesto organizzativo in essere.

  • (Lean) IT Governance: si occupa di sviluppare l’opportuna leadership, le opportune strutture organizzativesemplificare iprocessi al fine di consentire all’IT di lavorare come partner strategico al fine di massimizzare la capacità dell’organizzazione di produrre continuo valore per i clienti. 
  • Reuse Engineering: si concentra sulla creazione, la gestione, il supportoe la governancedelle risorse riutilizzabili. Il Reuse Engineering è spesso guidato dal team di enterprise architecture, anche se l’approdo più efficace è quello di disporre di un team specifico.

da dait process blades

DAIT Process Blade

Come visibile dal DAIT Workflow, questi process blade sono strettamente legati tra loro da una fitta rete di dipendenze, mai gerarchiche, ma sempre cicliche e in chiaro allineamento con la logica di continuous and fast feedback del mondo Agile. Nello specifico, gli archi relazionali evidenziano gli elementi di congiunzione, i manufatti se si vuole, che i diversi process blade si scambiano per allinearsi sugli aspetti che li condizionano in modo congiunto.

Disciplined Agile IT si occupa, quindi, della sovrastruttura minima indispensabile per garantire una efficace collaborazione e coordinamento tra tutte le anime che supportano la creazione di soluzioni (oltre il prodotto, quindi), pensate per deliziare i propri clienti.

Si conclude così il nostro quinto appuntamento dedicato a PMI DA. Nel prossimo approfondimento guarderemo più da vicino Disciplined Agile Enterprise.

Stay tuned J

Agile@School – Anno Quinto (2020)

Anche per l’anno 2020 siamo stati coinvolti per continuare il progetto Agile@School, svolto in collaborazione con la scuola I.I.S.S. Gadda di Fornovo. Questa continuità negli anni è sicuramente un buon segno, perché significa che negli scorsi anni il progetto ha dato i suoi frutti e che l’esperienza sul campo acquisita dagli studenti è stata utile. … Continue reading Agile@School – Anno Quinto (2020)

PMI Disciplined Agile: Disciplined Agile DevOps (pt.4)

Continuiamo ad esplorare Disciplined Agile, concentrandoci sul livello immediatamente successivo a Disciplined Agile Delivery, ovvero Disciplined DevOps.

da f1

Disciplined DevOps è la concretizzazione disciplinata del principio della Continuous Delivery, ovvero un efficiente Value Stream in grado di portare continuamente nuovo valore nelle mani degli stakeholder. 

Ma cosa rende DevOps “disciplinato”?

La sintesi la si incontra nella specifica definizione data da DA:

“Disciplined DevOps is the streamlining of IT solution development and IT operations activities, and supporting enterprise-IT activities, to provide more effective outcomes to an organization.”

da disciplined devops

Disciplined DevOps

Nella sostanza, non sono solo i Dev e gli Ops chiamati a collaborare per il successo di una iniziativa di business, ma lo è l’intero ecosistema a supporto di essa

Questo aspetto è fondamentale, anche in relazione alla crescente moltiplicazioni di acronimi come: DevSecOps, DevDataOps, DevXXXOps, ecc. Non ha alcun senso inventare nuovi acronimi… tutto deve essere oliato perfettamente, grazie a cultura/pratiche/automazioni adeguate, in modo da ridurre gli sprechi lungo il value stream ed avere un processo di delivery adeguato basato su un deploy efficiente.

Proprio l’efficienza è un aspetto fondamentale: ogni attività, progetto, elemento, deve essere sempre facilmente collegabile ad una specifica iniziativa di business! Se ciò non è possibile, allora bisogna fermarsi e riflettere se ciò che si sta realizzando non sia un “tecnoware”, ovvero un’attività fine a sé stessa.

Nella sostanza, DA suggerisce di estendere gradualmente l’approccio DevOps alle varie funzioni coinvolte, in modo da far maturare progressivamente nel proprio contesto la Cultura necessaria a tale cambiamento.

da disciplined devops evo

Estendere gradualmente DevOps

Sicuramente non sorprende come il primo passo sia quello di abbattere lo “storico” muro tra Dev e Ops, abbattendo i silos comunicativi ed operativi annessi, proprio come suggeriscono le “Three Ways” di DevOps: FlowFeedback & Experimentation and Learning.

Disciplined DevOps individua 5 process blade espliciti, oltre a “inglobare” Disciplined Agile Delivery descritto nel post precedente:

  • IT Operations, fornisce un ecosistema IT affidabile. Si tratta di garantire l’opportuno livello di Quality of Servicesai propri utenti, cosa che può risultare non banale nelle organizzazioni con molti sistemi legaci e alto debito tecnico annesso. 
  • Support, anche Help DeskEnd-User support, si concentra nell’aiutare gli utenti finali a lavorare con le soluzioni realizzate. Idealmente, le soluzioni dovrebbero essere utilizzate senza il bisogno di nessun supporto in merito, ma spesso ciò non accade e il “support” è “l’ultima linea di difesa” per Deliziare i Clienti con i propri sforzi.
  • Security, il relativo focus è quello di attivare le azioni necessarie a proteggere l’organizzazione da minacce informatiche, virtuali o fisiche che siano. Ciò include procedure come la governance della sicurezzae la gestione delle vulnerabilità. Il tutto impatta sulla capacità di ripristino di emergenza e continuità aziendale, e deve essere un aspetto fondamentale della cultura organizzativa.
  • Data Management, la gestione dei dati è “lo sviluppo, l’esecuzione e la supervisione di piani, politiche, programmi e pratiche che controllano, proteggono, forniscono e migliorano il valore dei dati e delle risorse informative” [Data Management Body of Knowledge]. Per raggiungere tale scopo, DA promuove un approccio pragmatico e semplificato alla gestione dei dati che si adatta al resto dei processi IT: ottimizzare l’intero flusso di lavoro, non sub-ottimizzando la strategia di gestione dei dati. Una gestione dei dati, agile e disciplinata, è una gestione evolutiva e collaborativa, grazie a strategie concrete che forniscono i dati giusti al momento giusto alle persone giuste.
  • Release Management, si occupa della gestione dei rilasci, grazie alla pianificazione, il coordinamentoe la verificadella distribuzione (deploy) delle soluzioni in produzione. Il versioning richiede la collaborazione tra Dev e Ops, cosa che l’approccio agile può portare ad essere anche un’unica entità grazie al concetto di “you build it, you run it

da disciplined devops process blade

DevOps Process Blades

Per concretizzare ed attuare i DevOps Process blade, raggiungendo la pienezza di Disciplined DevOps, DA suggerisce una serie di strategie che afferiscono ad essi:

  • General Strategies(Collaborative work, Automated dashboards, ecc)
  • Teaming Strategies(Production hand-off, Warranty period, ecc)
  • Development Strategies(Canary tests, Split tests, ecc)
  • Operations Strategies(Solution monitoring, Standard platforms, ecc)
  • Support (Help Desk) Strategies(Online information, Online discussion forums, ecc)
  • Release Management Strategies (Release windows, Release train, ecc)
  • Data Management Strategies(Data and information guidelines, Quality data sources, ecc)
  • Security Strategies(Build “rugged software, Automated separation of duties, ecc)
  • Enterprise Architecture Strategies(Reuse mindset, Technical-debt mindset, ecc)

Dovrebbe risultare a questo punto evidente come Disciplined DevOps sia un passo fondamentale nella creazione di una organizzazione agile, consentendo di portare efficacemente la soluzione a “casa” degli stakeholder, prediligendo rilasci brevi e feedback costanti.

Si conclude così il nostro quarto appuntamento dedicato a PMI DA. Nel prossimo approfondimento guarderemo più da vicino Disciplined Agile IT.

 

Stay tuned J