DAD, Enterprise Aware

Tranne se si è in una fase di start-up, è fortemente probabile che il nuovo progetto che si è chiamati a realizzare debba fare i conti con un contesto ben definito, proprio dell’azienda specifica, che abbraccia aspetti tecnici/organizzativi/economici.

Si tratta della Company Awareness, ovvero dell’essere “consapevoli” del contesto in cui ci si sta muovendo al fine di garantire il successo del nuovo progetto tramite una corretta strategia di governance.

La Company Awareness è un fattore chiave dei DAD, spingendo il professionista a ragionare in termini aziendali, e non personali, e abbracciando una strategia con chiari obiettivi di arricchimento dei vari asset aziendali. Si pensi, ad esempio, ad un Team che debba affrontare lo sviluppo di un nuovo sistema: è tipicamente più producente, sotto ogni punto di vista, sposare le tecnologie comunemente utilizzate in modo da riutilizzare moduli e competenze, oltre che arricchire il know-how complessivo di nuovi elementi.

La “consapevolezza” si basa su una serie di presupposti:

  • Lavorare a stretto contatto con i colleghi (whole enterprise mindset)

Il primo collega a cui far riferimento è sicuramente l’Enterprise Architect, in modo da avere una visione d’insieme della strategia aziendale e preparare la specifica Vision di Progetto. Il Software Architect è il riferimento ideale per avere indicazioni in merito agli aspetti IT dell’azienda, così come i vari Specialist IT Architect (Data, Security, ecc.);

  • Adottare e seguire le linee guida aziendali (guidance)

La propria organizzazione è probabilmente dotata di linee guida (guidance) che è doveroso seguire, evidenziando, eventualmente, dove è opportuno discostarsi da esse. Il loro utilizzo favorisce la Consistency (coerenza) e la Maintainability (manutenibilità) e impatta, ad esempio, su: convenzioni nella scrittura del codice, user interface, security, ecc…;

  • Sfruttare le risorse aziendali (assets)

Il riutilizzo degli asset aziendali è fondamentale, permettendo di massimizzare il ritorno dell’investimento relativo e diminuire l’effort specifico di ogni nuovo progetto. In modo molto esemplificativo si pensi al riutilizzo di una libreria di servizi comune all’intera infrastruttura IT aziendale. Il tutto permette, inoltre, di rafforzare e far evolvere gli elementi riutilizzati, oltre a renderli più maturi;

  • Migliorare gli aspetti organizzativi (organizational ecosystem)

L’utilizzo di DAD permette di migliorare gli aspetti organizzativi aziendali, soprattutto in quelle società che adottano un processo di sviluppo classico o che non ne adottano alcuno. Ciò avviene con un forte coinvolgimento dell’Enterprise Architect, oltre che dalle varie figure chiave IT/NON-IT;

  • Adottare una cultura DevOps (DevOps culture)

I membri di un DAD Team ragionano in modo naturale in ottica DevOps, abbracciandone cultura e strategia, vista l’importanza della sinergia tra sviluppo ed erogazione;

  • Condividere la conoscenza (know-how sharing)

I DAD Team sono per propria natura learning-oriented, e uno dei modi migliori per apprendere è quello del trasferimento diretto di know-how. Così come è fondamentale far proprie le esperienze/competenze altrui, i membri di un DAD Team devono essere preparati a condividere la propria conoscenza (ed i propri miglioramenti) con il resto dell’azienda. Tale “trasferimento” può avvenire in più modi: diretto, wiki, conferenze, ecc…;

  • Adottare un’appropriata strategia di governance (governance)

La scelta di una corretta strategia di governance è essenziale. Tipicamente un progetto che adotta DAD predilige una governance basata sulla motivazione, fiducia e collaborazione, affiancando il tutto con una strategia focalizzata all’abbattimento delle barriere che possono rappresentare un limite per lo svolgimento ottimale delle attività del Team.

Come ottenere tale risultato dipende, chiaramente, dal contest specifico, tenendo sempre presente quelle che sono le line guida in essere.

Quello che andrebbe evitato (il condizionale è in questo caso d’obbligo) è un approccio di tipo command-and-control, fortemente burocratizzato e gerarchico che, per inciso, è tutt’altro che Agile;

  • Approcciare ad un monitoraggio chiaro ed aperto (clean-and-open)

La fiducia è alla base di una efficace strategia di governance, ma è pur vero che un approccio intelligente spinge ad avere una soluzione del tipo “trust but verify and then guide” (che con un po’ di libertà potremmo tradurre in: “dare fiducia, ma verificare i progressi e guidare l’evoluzione”).  Il monitoring di un progetto è fondamentale, sia per essere certi di impiegare in modo valido le risorse (tra cui i membri del Team) sia per evidenziare eventuali impedimenti che vanno rimossi. Tale obiettivo può essere raggiunto attraverso una serie di metriche quanto più automatizzate possibile (in modo da non produrre ulteriore effort), condivise con il Team e gli Stakeholder al fine di favorire un auto-miglioramento,

In sintesi, perché essere Company Awareness è così importante? La risposta è individuabile in tre fattori primari:

  • Ottimizzazione (riduzione) dei tempi e dei costi, grazie ad un apprendimento ed utilizzo degli asset esistenti: inutile reinventare la ruota!
  • Incamminarsi nella direzione giusta, lavorando a stretto contatto con chi ha una visione d’insieme del contesto aziendale (enterprise professionals);
  • Contribuire a far evolvere l’intera organizzazione e non solo quella afferente al proprio progetto, in un’ottica di apprendimento continuo (continuous learning).

Il raggiungimento di tale obiettivo è chiaramente un fatto Culturale che deve superare anche i pregiudizi degli Agilisti “puri” che ritengono tutto ciò un inutile overhead. Un secondo aspetto è quello di Capire come attuare tale obiettivo, cosa non di poco conto visto le diverse esperienze che possono caratterizzare il panorama aziendale interno. Si tratta di una Sfida fondamentale che richiede forte disciplina e sforzo, ma che da enormi benefici, sia aziendali che personali, tanto da legare indissolubilmente DAD al concetto di enterprise aware, caratterizzando il framework a partire dalla fase di Inception (Goal: Align with enterpsise direction, obiettivi in rosso).

aware inception

Chiaramente il tutto interessa anche i Goal trasversali, ovvero i General Goals, ed in particolare: Leverage and Enhance Existing Infrastructure (obiettivi in rosso).

aware general goals

agileiot logo  ac2 logodac dac dacdac dac psmii psmii safe cal1 less certazure fundamentals
mvp reconnect

Free Joomla templates by Ltheme