Il post tanto atteso

Eccomi di nuovo a scrivere sul mio caro blog che ho trascurato da parecchie settimane. Voglio parlare nuovamente di ingegneria del software e pratiche agili. Sto frequentando il corso di ingegneria del software scoprendo giorno per giorno le tecniche per lo sviluppo ingegneristico dei programmi. Devo dire che mi rimangono spesso sul volto segni di disgusto rapportando quello che mi viene spiegato a quello che ho imparato nel dopo Essap.

Prendiamo due mondi distinti quello agile e non agile.

Sviluppo agile durante le riunioni e in privato : mi diverto, 0 stress e poca stanchezza(ma giustificata)

Sviluppo non agile durante le lezioni : non mi diverto, stress lieve e tanta stanchezza(non motivata)

Mi sembra di procedere alla velocità di un bradipo creando piano piano qualcosa di ragionato ma che lascia tanti punti in sospeso. Anche soltanto il fatto di testare l’applicazione alla fine mi fa pensare alla mia povera testa, provata dalla scrittura del codice, che si deve ricordare cosa e come testare.

Dobbiamo fare un’applicazione che svolga la funziona A B C D E F G H I …. Z progettiamo implementiamo … e … testiamo .. ma cosa ? Iniziamo da Z.. testiamo .. poi V .. e continuiamo .. ma chi si ricorda che deve fare A? cosa dobbiamo testare di A?

Non credo che i famosi test ” proviamo se va bene se no .. siamo fritti” siano adatti, qui ci vuole di più!!!!. Non vedo come l’ingegneria tradizionale possa da sola fornirmi degli strumenti per essere sicuro di costruire un’applicazione che faccia quello che deve fare e che lo faccia bene senza errori .

Debuggare ? si è utile ma quando il codice è veramente vasto si perde un sacco di tempo per visionare tutte le linee. Non è meglio che qualcosa controlli che la logica operativa venga rispettatadall’inizio alla fine per conto nostro così da usare la nostra testa per produrre invece di debuggare ?

Non siamo macchine la nostra mente ha un limite e il computer ha così tanta potenza di calcolo che non perchè non sfruttarla ?

Resto ancora con tanti dubbi e …. spero nel prossimo post di avere le idee un pò più chiare.

Ora mi sembra di sfrecciare su una ferrari turbo e i capelli al vento sorpassando informatici che usano metodi “tradizionali” che tentano invani di battermi su vecchie fiat con le gomme bucate.

Annunci

1 Commento

Archiviato in ingegneria SW, xp

Una risposta a “Il post tanto atteso

  1. Ciao Andrea,
    quanto dici è una saggia verità. Però ti devo dare ragione al 100% solamente se consideriamo applicazioni ormai “standard”, ovvero gestionali, siti web… ovvero situazioni in cui bene o male si riesce a modellare sempre in maniera simile il problema grazie ad entita’, relazioni e qualche CRUD. Ok, si può andare anche oltre, ma non è questo il punto.
    Sicuramente chi ti propone metodi “ingegneristici” citerà le “applicazioni avioniche” o cosiddette situazioni safety-critical… è vero, in quei casi probabilmente serve qualcosa di più.
    Guarda un po’ qui: questo è un sistema che permette di avere delle garanzie sul codice scritto: non è agile, è forse più “classicamente informatico” o “ingegneristico”, e si basa sulla logica computazionale… però se lo guardi bene vedrai che le idee che ci stanno dietro non sono poi così lontane a quelle del TDD.

    A presto
    Moreno

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...