Pianificare carichi di lavoro efficienti con DevOps
La fase di pianificazione di DevOps viene spesso considerata la prima fase di DevOps , che non è abbastanza accurata. In pratica, i team software moderni lavorano in cicli stretti in cui ogni fase informa continuamente gli altri attraverso lezioni apprese.
A volte queste lezioni sono positive. A volte sono negativi. E a volte sono informazioni neutrali che il team ha bisogno in modo da poter prendere decisioni strategiche per il futuro. Il settore si è unito intorno a un singolo aggettivo per descrivere la capacità di adattarsi rapidamente alle circostanze mutevoli create da queste lezioni: Agile. Il termine è diventato così onnipresente che è ora un sinonimo per la maggior parte delle forme di pianificazione devOps.
Agile descrive un approccio pragmatico allo sviluppo di software che enfatizza la distribuzione incrementale, la collaborazione in team, la pianificazione continua e l'apprendimento continuo. Non è un set specifico di strumenti o procedure, ma piuttosto una mentalità di pianificazione sempre aperta al cambiamento e al compromesso.
I team che usano procedure di sviluppo Agile riducono il ciclo di vita dello sviluppo per produrre software utilizzabile in base a una pianificazione coerente. L'attenzione continua alla fornitura di qualità agli utenti finali consente al progetto complessivo di adattarsi rapidamente alle esigenze in evoluzione. Per iniziare a vedere questi tipi di ritorni, i team devono stabilire alcune procedure lungo la strada.
La creazione e la promozione di una cultura Agile all'interno di un'organizzazione è un investimento fondamentale verso devOps efficaci. Anche se il risultato finale potrebbe essere un set specifico di software e servizi, le risorse umane necessarie per produrre e gestire tali asset meritano una particolare considerazione. I team vedono i risultati migliori quando investono il tempo necessario per adattare la propria cultura in base ai valori della mentalità Agile.
I metodi Agile, spesso chiamati framework, sono approcci completi alle fasi del ciclo di vita dello sviluppo software. Prescrivono un metodo per eseguire operazioni con linee guida e principi chiari. Uno dei framework Agile più diffusi è Scrum. La maggior parte dei team nuovi di Agile inizia con Scrum, a causa della community e dell'ecosistema maturi. Ma ci sono molte alternative, quindi vale la pena prendere il tempo per rivedere diverse opzioni prima di stabilirsi.
C'è un settore sostanziale che si basa sugli strumenti per la pianificazione di DevOps. Questi strumenti si integrano in genere con vari metodi e piattaforme Agile usati per lo sviluppo di software. Uno strumento comune è Kanban, che aiuta le organizzazioni e i team a visualizzare il lavoro per pianificare meglio il recapito.
I team funzionano meglio quando tutti hanno una direzione chiara. L'adozione di un metodo Agile può aiutare notevolmente in questa area perché Agile migliora la trasparenza in DevOps. Esistono tuttavia anche altre tecniche efficaci che è possibile applicare per migliorare la funzione dei team nelle attività cardine del progetto. Qualsiasi organizzazione può trarre vantaggio dalla creazione di team produttivi e incentrati sui clienti.
Man mano che Agile ha guadagnato popolarità, molti stereotipi e interpretazione errata hanno fatto un'ombra negativa sulla sua efficacia. È facile dire "Sì, stiamo facendo Agile" senza alcuna responsabilità. Mentre il tempo va avanti, è comune che le cattive abitudini formino per vari motivi, tra cui malintesi sullo scopo di Agile. Le piccole organizzazioni potrebbero trovare facile ignorare alcuni di questi malintesi. Ma in operazioni più grandi, questi problemi possono diventare veri mal di testa se non li affronti. Fortunatamente, sono disponibili linee guida utili per il ridimensionamento di Agile a team di grandi dimensioni.
Microsoft è stata una delle prime aziende principali ad adottare DevOps per la pianificazione di progetti software su larga scala. Informazioni su come Microsoft piani in DevOps.
Sei alla ricerca di un'esperienza DevOps pratica? Vedere il percorso di apprendimento Evolvere le procedure DevOps. Offre principalmente Azure DevOps, ma i concetti e l'esperienza si applicano allo stesso modo alla pianificazione in altre piattaforme DevOps, ad esempio GitHub.
Altre informazioni sull'ingegneria della piattaforma, in cui è possibile usare blocchi predefiniti di Microsoft e altri fornitori per creare esperienze sviluppatore profondamente personalizzate, ottimizzate e sicure.