Se non fosse un'espressione piuttosto seria e indirizzata a contesti ben più specifici, l'espressione sviluppo sostenibile sarebbe perfettamente adeguata alla situazione. Da un lato, come oramai si ripete da tempo, è necessario tornare a porre molta più attenzione che nel recente passato ai principi di design del software; dall'altro è fondamentale poterlo fare senza sovraccaricare il team.
Non si tratta di concetti o forse, meglio, di un'equazione del tutto nuova. Molti team all'avanguardia adottano forme di sviluppo sostenibile da almeno un quinquennio. Il punto è: farlo tutti. Ovvero, programmare meglio, tutti.
I test non sono una figata da geek dell'ultima ora; sono una necessità per verificare costantemente quanto bene il team stia facendo. I principi SOLID non sono la noiosa teoria che ci piacerebbe tanto poter prendere alla lettera se solo avessimo tempo. Sono il fondamento di ogni pezzo di codice che sia mantenibile e gestibile. Il refactoring non è una perdita di tempo, ma un esercizio costante che se trascurato modifica la "postura" del codice. E chi lo ha provato sa bene quanto lungo e doloroso possa essere un ciclo correttivo di ginnastica posturale :)
Tutti d'accordo sulla teoria allora? E la pratica? All'atto pratico a fare test, refactoring, ad applicare pattern e idiomi si "perde" tempo. Se funziona--dice il capo--perché rischiare di rompere tutto per rendere il codice più "bello"? Onestamente, credo che un corso sui principi SOLID e sul loro ROI matematico servirebbe di gran lunga più a un project manager che ad una schiera di sviluppatori junior o poco più. Che sono quelli che spesso si trovano nei pochi corsi e incontri pubblici sul tema.
Per coniugare principi e tecniche corrette con i tempi sempre troppo ristretti di un progetto servono strumenti ad hoc. Nell'ambito .NET lo strumento principe è Visual Studio. E di Visual Studio 2010 assisteremo la prossima settimana al lancio ufficiale. In particolare, lunedi 12 aprile a Roma nella festosa cornice di BASTA Italia, ci sarà un workshop su VS 2010 tenuto da me e da alcuni esperti Microsoft. La prima parte del workshop sarà dedicata proprio all'analisi delle nuove caratteristiche di VS 2010 per lo sviluppo sostenibile. Si tratta sostanzialmente di strumenti di editing, IntelliSense, code-completion e refactoring che se presi singolarmente non dicono molto usati sistematicamente nel corso di progetti anche di piccolo cabotaggio fanno una differenza abissale. Provare per credere. In fondo, usare VS 2010 è molto molto vicino ad avere VS 2008 Team System con ReSharper dentro e Reflector integrato. Tutto in uno strumento solo.
Infine, per quanto mi riguarda nel workshop di lunedi offrirò una panoramica su ASP.NET 4 e MVC 2 e una passata su alcuni aspetti di Entity Framework e Workflow. Per maggiori dettagli e approfondimenti vi rimando poi alle sessioni del 13 e 14 aprile e ai workshop finali di Giovedi 15 e Venerdi 16.
Alla prossima settimana!