Agile save the Queen

Recentemente mi sono imbattuto nell’ennesimo articolo introduttivo al mondo Agile dal titolo “Agile – What it is, why it works and how to do it

E’ fatto bene, riesce brevemente a riassumere alcuni tra i principali concetti e terminologie utilizzate.

Si parla di Scrum master, di team, di bad smell, di Continuous Integration, di feedback continuo e veloce, di user stories. Si parla delle tanto bistrattate retrospettive.

E fin qua non ci sarebbe motivo per dedicargli un post.

C’è un ma. Se non fosse per la parte iniziale dell’url che l’ha pubblicato: www.gov.uk

Si, il Governo del Regno Unito ha definito una “strategia digitale” per rendere i servizi transazionali della pubblica amministrazione “Digital by default”. L’obiettivo è riassunto in questa frase:

ensure that government produces services so good that people prefer to use them [in a digital form]

Per raggiungere questo obiettivo il Governo del Regno Unito ha definito uno standard su 26 punti che è necessario rispettare per essere Digital by default.

Alcuni dei requisiti richiesti sono:

  • profonda conoscenza del dominio applicativo
  • performance
  • gestione della privacy
  • security
  • 6 – costruire un prototipo funzionante usando i metodi Agili, iterativi e user-centered
  • 8 – analizzare il prototipo e garantire che il feedback degli utenti venga trasformato in feature per la successiva fase di sviluppo
  • 9 – creare un servizio talmente semplice ed intuitivo che l’utente deve riuscire al primo tentativo, senza aiuto
  • 14 – avere la capacità e gli skills tecnici per aggiornare e migliorare il servizio frequentemente
  • 17 – essere in grado di eseguire dei test end-to-end in un ambiente che replichi quello di produzione, con degli account di test e su tutti i browser e device
  • 19 – dimostrare di aver costruito un servizio che può essere migliorato ogni giorno, garantendo che il feedback degli utenti e i dati di performance siano trasformabili in attività di sviluppo
  • 25 – avere un piano di rollback
Senza il minimo dubbio il Governo ha individuato in Agile e nelle sue implementazioni SCRUM e eXtreme Programming l’insieme dei framework e delle metodologie pratiche per raggiungere tutti questi obiettivi.

320px-Government_Ensign_of_the_United_Kingdom.png

  • La centralità dell’utente fa parte del DNA di una User Story.
  • Il testing in Agile ha un tale valore che viene effettuato ancora prima di scrivere codice (Test Driven Development) e quindi non serve neanche parlarne. Unit testing, User Acceptance Test e end-to-end testing hanno in Agile un valore direi maggiore del codice stesso.
  • I rilasci frequenti sono alla base di un feedback rapido e sono abilitati da strumenti di Continuous Integration.
  • La pianificazione delle release successive si basa sulle Retrospettive e i Demo Meeting che servono per distillare l’esperienza fatta fino ad oggi e per rilanciare il lavoro delle fasi successive.
  • La gestione degli ambienti di sviluppo, di staging e di produzione e il Continuous Deploy/Rollback fanno parte anch’essi della cultura Agile.
Per me da oggi in poi non sarà solo un “God save the Queen”, ma anche un
Agile save the Queen!
PS: l’articolo ” Agile – What it is, why it works and how to do it” è esso stesso un esempio di “miglioramento continuo” che fa parte di Agile. Non è un pesante articolo burocratico, con un certo formato, con il numerino di revisione, con i nomi di revisore, responsabile, accettatore e della nonna, e che probabilmente sarebbe vecchio già in questo momento. E’ una pagina di un CMS facilmente modificabile, è in Beta, e giustamente si presume di aggiornarlo frequentemente lungo il cammino man mano che si imparano nuove cose o si incontrano problemi e limiti.
Riferimenti:
Digital by Default Service Standard – Services so good that people prefer to use them
Share

Gli shortcut di Resharper

Per chi non lo conoscesse Resharper è un’estensione per Visual Studio per aumentare la produttività nella scritture del codice, effettuare refactoring, avere una naming convention uniforme, muoversi agilmente all’interno della soluzione ed eseguire i test unitari direttamente nell’IDE (solo per citare alcune delle feature).

Resharper

Un amico mi ha chiesto quali sono secondo me gli shortcut principali da utilizzare con Resharper.

I principali che uso sono:

  • ctrl+t per cercare un tipo
  • ctrl+shift+t per cercare un file
  • shift+alt+l quando ho un file aperto per trovarlo all’interno della solution
  • alt+enter un po’ ovunque sull’editor per accettare i suggerimenti/refactoring di default
  • ctrl+tasto sx del mouse su un tipo per andare alla sua definizione
  • ctrl+shift+r per attivare il menù di refactoring
  • ctrl+e+u per “circondare” un pezzo di codice con parentesi o try-catch

L’elenco di tutti i gli shortcut si trova qui:

http://www.jetbrains.com/resharper/webhelp/Reference__Keyboard_Shortcuts.html

Share

Unit testing e coverage con Visual Studio 2012

Dopo aver provato i principali framework di unit testing su .Net (MSTest, MbUnit, NUnit e xUnit) ho scelto NUnit come framework di riferimento.

Il problema degli ambienti di terze parti è che fino a Visual Studio 2010 non era possibile eseguire i test direttamente dall’IDE e la soluzione era quella di utilizzare plugin quali Resharper o TestDriven.Net

Finalmente in Visual Studio 2012 è stato aggiunto il supporto per i framework di test di terze parti!

L’utilizzo è reso semplicissimo in quanto è sufficiente installare l’adapter tramite l’Extension Manager.

Ad esempio per NUnit è disponibile ”Unit Test Adapter“:nunit-test-adapter-vs2012

Gli adapter disponibili attualmente sono:

  • NUnit
  • xUnit.net
  • MbUnit
  • QUnit
  • Jasmine

A questo punto è possibile utilizzare il test runner integrato in Visual Studio:

vs2012-test-explorer-with-nunit

L’integrazione tra Visual Studio 2012 e i framework di test di terze parti ha anche il vantaggio collaterale che diventa disponibile il code coverage!

Basta selezionare “Analyze Code Coverage” per il test selezionato o per tutti i test per avere le statistiche di coverage e per avere un riscontro visivo del coverage direttamente sul codice sorgente.

code-coverage-vs2012-nunit

Share

Che c’azzecca TFS con i metodi Agili? Ve lo racconto al Microsoft Dev Camp – Bologna

Giovedì 8 Novembre la community DotDotNet vi invita al Microsoft Dev Camp a Bologna.

L’evento è completamente gratuito e suddiviso in due parti.

Durante la mattina sarà possibile confrontarsi sui temi quali lo sviluppo su Windows 8, Windows Phone e Azure in un Lab pratico e interattivo.

Il pomeriggio invece seguirà un formato classico con alcune sessioni relative a Windows Azure, allo sviluppo di giochi, a TFS e ASP.Net.

Se non vi ho ancora annoiato abbastanza parlando di metodi Agili, SCRUM, TDD o Continuous Integration o se invece non ne avete ancora sentito parlare nel pomeriggio terrò una sessione su come sfruttare Team Foundation Server 2012 a supporto di un team Agile.

Come al solito al termine ci fermeremo a cena assieme.

Ci vediamo lì.

Agenda

Riporto il calendario completo dell’evento

ore 9.00

 


Registrazione

ore 9.30

 

Laboratorio Windows 8, Windows Phone e Azure

 

ore 13.30

Pranzo libero

ore 14.30

Anteprima Windows 8 e Windows Azure 

ore 15.00

Lorenzo Barbieri – Sviluppo giochi per Windows 8

C++ e DirectX/XAML, XAML e .NET, HTML 5 e JavaScript, MonoGame, Unity, altri framework open e closed. Ci sono moltissimi modi per realizzare giochi per il Windows Store che sfruttano appieno le caratteristiche di Windows 8 come il touch, la tastiera e il mouse, il supporto ai controller XBOX….

 

ore 16.00

Pausa

ore 16.15

Stefano Benedetti – Tecniche agili su TFS 2012: un esempio pratico

 

Test driven development, continuous integration, release often and early, visibility: sono alcuni dei principi e delle pratiche cardine del mondo Agile.
In questa sessione vedremo come concretizzarli con Visual Studio, il nuovo Team Foundation Server 2012 ed i suoi template Agili al fine di migliorare il processo di sviluppo ed il project management.

ore 17.15

Luca Milan e Igor Antonacci – Novità di ASP.NET 4.5 

In questa sessione, verranno illustrate le principalinovità di ASP.NET 4.5 attraverso lo sviluppo, passo passo, di un’applicazione Web moderna e responsiva. Con l’uso di Visual Studio 2012, vederemo com’è semplice introdurre le principali tecniche di ottimizzazione.

ore 18.15

Fine lavori

Location e data

Hotel Amadeus

Via M.E.Lepido 39
40132  Bologna 

Giovedì 8 novembre 2012 ore 9.00

Registrazione

L’evento è gratuito ma è richiesta la registrazione

Registrami al Microsoft Dev Camp a Bologna

Share

Italian Agile Day 2008 a Bologna

Visto che mi stò interessando sempre più ai metodi agili, XP, TDD e compagnia bella ho visto e pubblicizzo volentieri questo evento che si tiene nella mia città (Bologna).

In attesa di partecipare invito tutti a dare un’occhiata al sito dell’evento.

Italian Agile<br /><br />
Day

Riporto anche l’annuncio testuale:

Italian
Agile Day 2008!

Venerdi’ 21 Novembre 2008 si terrà a Bologna il quinto Italian Agile
Day
. Si tratta di una conferenza
gratuita
di un giorno dedicata alle metodologie Agili
per lo sviluppo e la gestione dei progetti software rivolta agli
sviluppatori, project leaders, IT managers, tester, architetti e coach
che hanno esperienze da condividere o che iniziano solo ora ad
interessarsi a queste tematiche.
La giornata ha come obiettivo la conoscenza pratica, le esperienze sul
campo e un attivo coinvolgimento di tutti i
partecipanti. L’accesso è libero previa
registrazione, i posti sono limitati. L’evento, per la terza volta consecutiva, si auto-finanzierà.

Share