In quali casi è opportuno lavorare in coppia

Il pair programming (programmazione in coppia) è una delle tecniche “classiche” di extreme programming.

Ora il principale esponente di quell’approccio agile, Kent Beck, propone una ipotesi in merito a quando la programmazione in coppia funziona, e quando no: Pairing as Pruning.

In sintesi, lavorare in coppia è utile quando ci sono incertezze in merito alla definizione del problema da risolvere, e al modo in cui può essere risolto. I problemi chiari con soluzioni ben definite non necessitano secondo Beck di collaborazione, ma di automazione.

Software aziendale non richiesto dal settore IT

Secondo una stima di Gartner ripresa da The Economist, nel 2017 lo sviluppo software avrà come come committenti più le funzioni marketing che il settore IT.

Non solo, quindi, il settore IT non ha più la responsabilità di sviluppare direttamente il software che fa funzionare l’organizzazione (outsourcing dello sviluppo). Viene anche lasciato fuori dalla definizione dei requisiti, e dal processo di accettazione.

Tendenza in atto da anni, e ormai consolidata in molte aziende, ma altamente rischiosa, se non vengono potenziate le capacità di presidio.

 

Smettiamola di chiamarli “utenti”

Chi visita il nostro sito, chi usa i nostri sistemi non è un “utente”,  non è un ruolo, è una persona reale.

Il termine “utente” implica una presa di distanza, tipica, secondo Gerry Mc Govern, del mondo IT: da un lato ci siamo noi specialisti, che progettiamo e realizziamo, dall’altro ci raffiguriamo il ruolo astratto dell'”utente”. Ma sono persone concrete, in carne ed ossa, ed è ora che iniziamo a pensare a chi accede ai nostri sistemi come un cliente da servire con cura, non come un’astrazione.

People are people, not users, di Gerry McGovern.

Outsourcing e competenza del cliente

Come acquisire la competenza necessaria a controllare i propri fornitori, quando si esternalizza lo sviluppo software?

Nella sua campagna di sensibilizzazione sui rischi dell’outsourcing, Phillip Armour evidenzia un aspetto che viene spesso sottovalutato: come si acquisisce la capacità di controllare ciò che viene fatto da altri?

“Da dove ci aspettiamo che emerga il talento? Ho lavorato con aziende in cui si afferma con orgoglio che il lavoro poco onorevole della programmazione viene esternalizzato, mentre le attività di livello intellettuale superiore vengono svolte da personale interno ed esperto.

Ma come hanno fatto gli esperti interni a diventare esperti? Come hanno acquisito la conoscenza dei problemi di business e l’esperienza tecnica? Continua la lettura di Outsourcing e competenza del cliente

Quali limiti per l’outsourcing

Nell’era della conoscenza bisogna saper distinguere tra la conoscenza vitale e quella di supporto. Vitale è la conoscenza dei processi operativi specifici e fondamentali dell’organizzazione; di supporto è la conoscenza che riguarda processi comuni a tutti i settori di attività (come ad esempio la gestione amministrativa o la gestione del personale).

Ora, la conoscenza nelle organizzazioni è in gran parte incorporata nel software. Usare pacchetti applicativi standard per gestire i processi operativi comuni, cioè la conoscenza di supporto, comporta vantaggi indubbi sia in termini di costo che di semplificazione. Ma esternalizzare lo sviluppo dei sistemi software che incorporano la conoscenza vitale è rischioso:

“Questa forma di outsourcing significa abdicare al compito di accrescere e rendere operativa la conoscenza vitale del proprio business. Continua la lettura di Quali limiti per l’outsourcing

Bilanciare competenze scientifiche e umanistiche

Negli ultimi decenni le materie umanistiche hanno perso peso, e solo quelle scientifiche e tecnologiche sembrano importanti per la formazione.

Grave errore, sostiene Hal Berghel, professore di Computer Science alla University of Nevada, perché i sistemi complessi che servono oggi richiedono equilibrio tra le competenze scientifiche e quelle umanistiche.

“Nel desiderio di aumentare il livello tecnico e di ottenere una egemonia scientifica, abbiamo perso di vista il valore incredibile di una educazione complessiva, con effetti debilitanti sulla società odierna”.

Stem, Revisited“, in IEEE Computer, March 2014.

di Adriano Comai, per lo sviluppo software.