Passa al tema normale
Discussioni su argomenti di Informatica

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Metodologie di sviluppo software

07/10/2017, 10:19

Sto preparando un esame universitario, si chiama "ingegneria del software", l'esame consiste nel fare un progetto in cui si deve creare un software scegliendo una metodologia di sviluppo software e alcune domande di teoria. Il software che si crea non è importantissimo (naturalmente non deve essere una cosa facilissima), ma è più importante (ai fini della valutazione) seguire una metodologia e documentarla. Tra le metodologie che si possono scegliere c'è agile, extreme programming,scrum, devops, metodo a cascata (quello classico), RUP.
Sto studiando la teoria di ognuna di queste metodologie, alcune sono abbastanza chiare, in altre non si capisce cosa si deve fare in pratica, e sono un po' indeciso su quale scegliere.
Per un progetto in AngularJS che comunque farò da solo (non ci sono team), quale metodologia mi consigliate di seguire?
Grazie.

Re: Metodologie di sviluppo software

07/10/2017, 19:32

Trovo l'idea stessa del progetto abbastanza ridicola. La maggior parte delle metodologie scelte sono basate su alcune idee di base (come quella che i requisiti del progetto cambiano nel tempo o il lavoro di gruppo o le richieste che vengono dall'esterno) che chiaramente sono in contrasto con quella che è la realtà del tuo progetto. Si tratta infatti di un progetto che svolgerai da solo, per un tempo limitato di tempo e in cui sceglierai tutto autonomamente. In effetti, nella mia personale esperienza, le metodologie di sviluppo sono più utili a livello di organizzazione del lavoro in un gruppo di persone che nel lavoro dei singoli (in cui in effetti è spesso più limitazioni e burocrazia che vantaggi).

Detto questo, credo tu debba semplicemente scegliere il metodo che sia il più vicino possibile al tuo modo di lavorare. Per esempio:
1. Se sei una persona che preferisce impostare tutto all'inizio del progetto e poi seguire il piano allora puoi fare uso del metodo a cascata.
2. Se sei una persona che preferisce invece sviluppare gradualmente la tua applicazione e avere diverse release intermedie puoi provare con una delle varie metodologie agili. Alcune di queste includono in realtà parti che si possono fare solo in gruppo (come pair programming o code reviews..) e non mi è quindi chiaro come dovresti applicarle da solo.

Re: Metodologie di sviluppo software

08/10/2017, 17:50

apatriarca ha scritto:Trovo l'idea stessa del progetto abbastanza ridicola. La maggior parte delle metodologie scelte sono basate su alcune idee di base (come quella che i requisiti del progetto cambiano nel tempo o il lavoro di gruppo o le richieste che vengono dall'esterno) che chiaramente sono in contrasto con quella che è la realtà del tuo progetto. Si tratta infatti di un progetto che svolgerai da solo, per un tempo limitato di tempo e in cui sceglierai tutto autonomamente. In effetti, nella mia personale esperienza, le metodologie di sviluppo sono più utili a livello di organizzazione del lavoro in un gruppo di persone che nel lavoro dei singoli (in cui in effetti è spesso più limitazioni e burocrazia che vantaggi).

Detto questo, credo tu debba semplicemente scegliere il metodo che sia il più vicino possibile al tuo modo di lavorare. Per esempio:
1. Se sei una persona che preferisce impostare tutto all'inizio del progetto e poi seguire il piano allora puoi fare uso del metodo a cascata.
2. Se sei una persona che preferisce invece sviluppare gradualmente la tua applicazione e avere diverse release intermedie puoi provare con una delle varie metodologie agili. Alcune di queste includono in realtà parti che si possono fare solo in gruppo (come pair programming o code reviews..) e non mi è quindi chiaro come dovresti applicarle da solo.

Grazie mille per la risposta.
Potrei benissimo fare uso del metodo a cascata, però ho l'impressione che il professore valuta meglio qualcosa di più "particolare".
La metodologia extreme programming non mi sembra affatto male, naturalmente (come hai detto anche tu) non posso applicare cose come il pair programming, però posso utilizzare il resto della metodologia (per esempio il fatto di pianificare ogni settimana quello che si deve fare, i test prima di scrivere il codice, il refactoring ecc.). Ho pensato di utilizzare qualche tool di management per gestire iterazioni, task (che naturalmente assegnerò a me stesso), e vado documentando quello che faccio.
Secondo te potrebbe andare bene?

Re: Metodologie di sviluppo software

08/10/2017, 19:31

Sì, credo sia più o meno quello che il professore abbia in mente.
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.