Metodologie di sviluppo software

Messaggioda antonioc95 » 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.
antonioc95
Junior Member
Junior Member
 
Messaggio: 49 di 138
Iscritto il: 14/05/2016, 09:03

Re: Metodologie di sviluppo software

Messaggioda apatriarca » 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.
apatriarca
Moderatore
Moderatore
 
Messaggio: 4844 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Metodologie di sviluppo software

Messaggioda antonioc95 » 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?
antonioc95
Junior Member
Junior Member
 
Messaggio: 50 di 138
Iscritto il: 14/05/2016, 09:03

Re: Metodologie di sviluppo software

Messaggioda apatriarca » 08/10/2017, 19:31

Sì, credo sia più o meno quello che il professore abbia in mente.
apatriarca
Moderatore
Moderatore
 
Messaggio: 4845 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Google [Bot] e 1 ospite