Quali sono i passaggi per iniziare un grande progetto, quando tutto quello che ho è una grande idea? [chiuso]


49

Sono uno studente di ingegneria informatica. Ho pensato a come posso gestire un grande progetto. Quale dovrebbe essere il mio primo passo per raggiungere il mio obiettivo in modo più efficiente ed efficace?

Quando mi viene in mente un progetto, non so come dovrei iniziare a lavorarci. Molte volte, lo ignoro e basta. Tuttavia, non voglio più ignorare le idee del mio progetto.

Ora, chiedo a tutti voi, qualcuno può condividere le proprie esperienze? Come dovrei iniziare un progetto quando tutto ciò che ho è un'idea?


11
Risposta: primo passo, inizia a usare il controllo versione . Scopri come lo fanno nei repository open source come github, bitbucket, codeplex, sourceforge, ecc.
Spoike,

Qual è il significato di "controllo versione"? Puoi descrivere di più?

Vedi la mia risposta qui sotto.
Spoike,

1
Suggerirei una migrazione a [produttività.se] ma probabilmente verrà chiusa come NARQ lì. Questo non ha molto a che fare con la programmazione o con i programmatori, è incredibilmente aperto ed è vago (che cos'è un "grande" progetto? "Più" efficiente / efficace di cosa?).
Aaronaught,

6
Non proprio una risposta alla tua domanda ma: non aver paura di fallire. Non ascoltare le persone che ti dicono che non puoi. Le persone famose di cui leggi non sono famose perché erano intelligenti o di talento. Sono famosi perché erano persistenti. Le persone intelligenti e di talento sono una decina. Le persone persistenti sono molto rare.
Charles Lambert,

Risposte:


64

Dimentica la codifica e imposta un ambiente di sviluppo per un momento. Se vuoi intraprendere un grande progetto, la prima cosa che devi fare è capire lo scopo e l' ambito del progetto.

Quello che raccomando è aprire un elaboratore di testi e scrivere un documento sugli "obiettivi del progetto". Descrivi di cosa tratta l'idea e lo scopo generale del software che vuoi scrivere. Quindi elencare gli obiettivi di funzionalità del progetto. Non intendo precisarlo, ma piuttosto descrivere le diverse funzionalità che il prodotto finito dovrebbe supportare. Quindi, se stavi scrivendo un software per gestire una scuola, potresti elencare la "gestione degli insegnanti" come una funzionalità e quindi descrivere cosa includerebbe quella funzionalità (traccia delle informazioni di contatto, orario delle lezioni, ecc.).

Quindi la parte più difficile: non è qualcosa che devi fare subito, ma mentre vai avanti. Altrettanto importante delle funzionalità di elenco che si desidera aggiungere è la revisione delle funzionalità descritte nel documento sugli obiettivi e notare quelle funzionalità che è possibile non utilizzare nella prima versione del programma. Questa è la chiave per la gestione dell'ambito.
Uno dei motivi principali per cui le persone falliscono nei progetti più grandi è che non sanno quando smettere di lavorarci. Non si sentono "fatti" perché le idee continuano a venire e non vengono mai rilasciate. Alla fine perdono interesse e hai ancora un altro capolavoro finito a metà. Quindi vuoi assicurarti di avere una buona padronanza della funzionalità che è veramente importante per raggiungere la parte base del tuo obiettivo. Questo è il tuo primo obiettivo.

Ecco come inizio tutti i progetti non banali ora. Mi aiuta a mantenere la concentrazione e aiuta a mantenere la portata e lo scopo di "evolversi" durante lo sviluppo.


+1 per tutto quello che dici. Leggi anche questo libro
treecoder il

+1: non è necessario che aggiunga nulla.
temptar,

Questa è un'ottima risposta Inoltre, se disponi di un tipo di software di gestione dei progetti, inizia subito. Ce ne sono alcuni gratuiti là fuori con limitazioni ovviamente. Ho usato CampFire ( campfirenow.com/signup , cerca prima "Offriamo anche un piano gratuito: 4 chiacchiere con 10 MB di spazio di archiviazione").
m4tt1mus,

1
Preferirei raccomandare mappe mentali piuttosto che word processor (non esperto + pagina vuota = il progetto non decollerà mai).
MaR,

1
Elaboratore di testi? Usa carta e penna. :)
destra

41

Penso che Linus la metta meglio

Nessuno dovrebbe iniziare a intraprendere un grande progetto. Inizi con un piccolo progetto banale e non dovresti mai aspettarti che diventi grande. Se lo fai, ti limiterai a progettare e in genere pensi che sia più importante di quanto probabilmente lo sia in quella fase. O peggio, potresti essere spaventato dalla vastità del lavoro che prevedi. Quindi inizia in piccolo e pensa ai dettagli. Non pensare a qualche quadro generale e design accattivante. Se non risolve alcuni bisogni abbastanza immediati, è quasi sicuramente sovra-progettato. E non aspettarti che le persone saltino dentro e ti aiutino. Non è così che funzionano queste cose. Devi prima ottenere qualcosa di a metà strada utile, poi altri diranno "ehi, che quasi funziona per me", e saranno coinvolti nel progetto. - Linus Torvalds


12

Quale dovrebbe essere il mio primo passo per raggiungere il mio obiettivo in modo più efficiente ed efficace?

Presumo che tu abbia già fatto progetti prima e che tu sia in un college / università che non insegna controllo di versione / sorgente. Se vuoi vedere alcuni progetti puoi sempre andare ai repository open source come Github (usa Git), Bitbucket (usa Mercurial), Google Code (usa Mercurial, Git e Subversion), CodePlex (Mercurial e Subversion / TFS), SourceForge (molti), ecc. E dai un'occhiata alla loro base di codice. La cosa che hanno in comune è che stanno usando un software di controllo del codice sorgente.

Ci sono molte informazioni su come usarli, quindi ti suggerisco di imparare come usarlo, perché questa è una pratica standard del settore. Ecco alcune guide visive per iniziare:

Sai, quando mi viene in mente un progetto, non so cosa dovrei fare. Molte volte, lo ignoro.

C'è solo così tanto da fare nel tempo libero. Inizia in piccolo : crea un progetto da zero, mettilo in un repository di codice sorgente. Apporta modifiche al repository del codice sorgente ogni volta che vuoi aggiungere qualcosa al tuo piccolo progetto. Col tempo diventerà grande e se mai vuoi tornare indietro, puoi sempre ripristinare o ripristinare le modifiche apportate con il sistema di controllo della versione.


9
+1 per iniziare in piccolo, questo è l'approccio di base per i grandi progetti: suddividerlo in pezzi più piccoli e affrontarli uno alla volta.
Gioele C

5

È perfettamente normale essere colpiti dalla sindrome del "foglio bianco".

Hai in mente un grande progetto, che sembra fantastico, ma quando ti siedi alla scrivania cercando di fare qualcosa, improvvisamente blocchi e non sei in grado di fare nulla. Quindi apri il solitario e fai un nuovo disco.

In realtà devi iniziare a fare qualcosa in relazione al progetto, in modo da farti sentire come se fosse nato.

Potresti non voler scrivere immediatamente il codice. Puoi iniziare scrivendo ciò che il tuo progetto deve effettivamente fare, o ti piacerebbe farlo. Prendi carta e penna e inizia a scrivere. Puoi iniziare dai dettagli o da un'immagine più grande. Prova entrambi, vedi cosa è meglio.

Puoi provare a definire le funzionalità del progetto, le diverse parti, il modo in cui tali parti comunicano tra loro. Mi sento a mio agio con il post-it, sono divertenti e puoi cambiarli man mano che avanzi. Lascia che seguano la tua mente e le tue idee.

O forse puoi avviare il prototipo di alcune funzioni o classi. Puoi usare qualsiasi linguaggio tu preferisca per questo, anche uno che non esiste e che hai appena inventato.

Dopo qualche tempo avrai qualcosa su cui lavorare e il tuo progetto non sarà solo nella tua mente. In realtà hai fatto qualcosa.

Quando ti senti a tuo agio ad avviare effettivamente il processo di sviluppo, è il momento di un'attenta pianificazione, documentazione, prototipazione, raccolta di tutte le tecnologie e i software richiesti e così via.

Ma non iniziare finché non senti che è il momento giusto!


4

Grandi progetti sono formati da molti piccoli progetti o pezzi. Potresti avere una grande idea o un requisito di progetto, ad esempio un'applicazione che gestisce i contatti.

Abbatterlo; chiediti "quali sono i pezzi più piccoli di cui ho bisogno per fare questo?"

Dopo aver definito le parti più piccole, ripetere; potresti scoprire che alcune parti devono essere ulteriormente scomposte. L'idea è di definire gli obiettivi più gestibili per ciascuno dei pezzi più piccoli. Impara a usare i principi disciplinati nella progettazione e nello sviluppo (come Agile-TDD) e saranno raggiunti gli obiettivi più piccoli e più gestibili.


3

Crea un contorno

Hai una grande idea, ma non sai come farai per realizzare il tuo compito. Crea uno schema di ciò che stai per fare. Annota i passi che farai, di cosa avrai bisogno, di quali lingue utilizzerai, ecc. Assicurati di avere tutto organizzato, altrimenti il ​​progetto sarà completamente distrutto.

Pianifica i tuoi passi

Ne ho già parlato prima, ma è davvero importante. Se il tempo è mappato, puoi avere una data di fine stimata di quando il tuo progetto sarà finito e quanto tempo impiegherà ogni fase del progetto. Questa è, ancora una volta, organizzazione e ti farà funzionare.

Trova gli strumenti per il lavoro

Se stai per iniziare un grande progetto, avrai bisogno di aiuto. Per l'organizzazione del codice e un buon sistema di controllo della versione, Git è eccezionale perché mantiene tutto il codice in un unico repository. Per maggiori informazioni su Git, vedi il link che ti ho dato.

Dovrai anche assicurarti di utilizzare lingue che ti aiuteranno a fare ciò che stai cercando di fare. Assicurati di essere in grado di creare il tuo progetto prima di iniziare. Non sto dicendo di non imparare nulla di nuovo, ma impara prima di iniziare.

Ottenere aiuto

I grandi progetti di solito non vengono fatti da soli. Contatta gli altri studenti, le persone della tua comunità che possono programmare e chiunque altro pensi possa aiutarti prima di iniziare. Non aver paura di chiedere.

Iniziare!

Non andare in giro, aspettando che qualcun altro inizi il tuo progetto e poi dì "Ho avuto quell'idea!". Ti perseguiterà per sempre ...


1

Forse è pieno di cliché ma ... lo farò.

Per essere in grado di gestire un grande progetto è necessario principalmente una cosa: l'esperienza. L'esperienza ti offre tutto ciò di cui hai bisogno:

  • Conoscenza: più tempo dedichi ai progetti, più conoscenza generale e specifica acquisisci
  • Fiducia: la gestione di grandi progetti ha bisogno di fiducia, la fiducia deriva dalla conoscenza e generalmente dal fatto che ogni parte del lavoro è qualcosa che hai fatto prima o hai visto persone farlo
  • Rete professionale: se il progetto è davvero grande, dovrai capire che non puoi realizzarlo da solo, quindi preparati a sapere a chi puoi chiedere o dove puoi trovare le informazioni chiave che stai cercando

Quindi puoi fare due cose:

  • Tuffati e guarda come va. Probabilmente commetterai molti errori, ma la chiave è imparare da loro.
  • Trova un lavoro in cui puoi osservare specificamente le persone che gestiscono grandi progetti

Spero che aiuti.


1

La mia definizione di "grande progetto" è "un progetto in cui il problema principale è il coordinamento dei partecipanti e la comunicazione tra di loro" (un progetto medio è quando la gestione è difficile come i problemi tecnici, un piccolo è quando i problemi tecnici sono più importanti di quello gestionale; nota che un progetto a lungo termine a una persona può essere un grande progetto - coordinare e comunicare con il tuo sé futuro non è molto diverso dal fare lo stesso con qualcun altro).

Il primo passo per essere in grado di gestire (con un "ruolo da protagonista") un grande progetto è quello di partecipare ad un grande progetto senza avere un ruolo da protagonista. Il secondo passo è raggiungere il livello di ruolo principale mentre viene guidato da qualcuno che ha esperienza con esso.

Un approccio alternativo è aumentare progressivamente le dimensioni dei progetti e imparare dalla tua esperienza ...


1

Alcune idee sono mature per un ingegnere solo per entrare subito e iniziare a scrivere codice. Questi progetti potrebbero essere grandi o potrebbero essere piccoli, ma ciò che hanno tutti una cosa in comune: un problema ben definito da risolvere. Ho avviato progetti come questo innumerevoli volte, ed è solo una questione di me sviluppare una disciplina per scrivere una buona documentazione in anticipo e seguire le migliori pratiche in materia di controllo del codice sorgente, comunicazione e collaborazione.

I grandi progetti per i quali ho solo il germe di un'idea richiede un po 'più di preparazione nella mia esperienza. La prima cosa che faccio è iniziare a parlare della mia idea con gli altri per vedere se qualcuno condivide la mia comprensione del problema che sto risolvendo e per convalidare il mio approccio pianificato nella risoluzione del problema. Quindi prendi un amico o due fuori per una birra o invitali nel tuo dormitorio per Cheetos. Ma divertiti con questo processo perché è attraverso questo processo che potresti capire meglio il problema che stai risolvendo, trovare altre grandi idee che puoi portare a risolvere il problema, esercitarti a vendere la tua idea ad altri e forse anche iniziare a costruire un team di persone per aiutarti a risolverlo.


1

Dividi le cose grandi in cose più piccole.

Non puoi lavorare per "raggiungere la pace nel mondo". Invece lavori sul divieto delle armi di distruzione di massa, incoraggi la democrazia, fornisci aiuti allo sviluppo, incoraggi gli scambi culturali e scientifici e così via.


1

Penso che qualcosa che molte di queste risposte non toccano sia ottenere qualcosa di tangibile e costringersi a farlo.

A volte rimani bloccato in una "terra pensante" in cui ti senti come se tutto ciò che rimanesse fosse la noia di scrivere le cose, ma in realtà iniziare su un pezzo del tuo progetto e l'implementazione è sia divertente che stimolante.

Conosco molte persone che sono così, incluso me, fino a quando non avrò effettivamente fatto nulla, non riesco a pensare e non ho intenzione di iniziare un progetto. Devo scegliere un pezzo che posso facilmente implementare, raggiungerlo e poi inizia il flusso.


1

non c'è motivo di fare qualcosa senza uno scopo. Sono necessarie storie utente che mostrano la necessità del codice che si desidera scrivere. Dovresti inquadrare queste storie utente nel seguente formato:

Come [X]
voglio [Y] in
modo che [Z]

Questo può sembrare semplicistico, ma ti dà il framework non solo per definire l'utente, ma anche per specificare la necessità e quale sia il risultato finale in una singola frase. Ne avrai molti di questi. Ne uscirai di più col passare del tempo. Dopo averne alcuni puoi iniziare lo sviluppo del tuo codice. Quando hai più idee o scopri altre cose. Torna indietro e scrivi altre storie utente in modo da non dimenticarle. Questo è il posto migliore per iniziare.

Lo sviluppo guidato dal comportamento utilizza questo approccio e il sito al link contiene numerosi esempi di utilizzo di questo formato per esprimere le storie degli utenti.

Penso che sarà il modo più rapido e organizzato per passare dall'idea al codice.


1

Vorrei prendere una pila di sticky gialli e un pennarello magico e sedermi in una stanza dove c'è una grande lavagna bianca per poter fare brainstorming.

Vorrei solo iniziare a scrivere semplici frasi che mi sono venute in mente come Menu principale, Rapporti, Database, Autenticazione, ecc. Le metterei sulla lavagna bianca e fisserei e otterrei più idee, ad esempio come dovrebbe apparire il menu principale :

Apri file, Salva file, Salva file con nome, Stampa ecc. E incollali sulla lavagna bianca nel menu principale.

Mentre le idee ti spuntano in testa, scrivile ... buono, cattivo, stupido, qualunque cosa diventi solo creativa. Attaccali sul tabellone. Guardando la lavagna emergeranno più idee e emergeranno schemi. Ad un certo punto inizierai a farti un'idea di ciò che intendi sviluppare.

Gli sticky gialli sono fantastici, possono essere spostati abbastanza rapidamente.

Una volta che le cose iniziano a riunirsi, dividi questi pensieri in gruppi. Quindi puoi fare brainstorming a livello di singolo gruppo. Fotograferei la lavagna bianca in varie fasi nel caso in cui tu volessi vedere com'era venti minuti fa prima che le cose cambiassero.

Alla fine, avrai una buona idea dei principali pezzi di cose che devono essere fatti. Potresti ottenere una singola cartella per ciascuno di questi pezzi e continuare a lanciare idee dentro di loro appena arrivano da te.


0

Dal momento che sei uno studente, suppongo che intendi studente-grande e non professionale-grande. Quest'ultimo richiede ulteriori considerazioni commerciali e di collaborazione. Ho appena iniziato un nuovo progetto la scorsa settimana, quindi il processo è fresco nella mia mente.

La prima cosa che faccio è cercare soluzioni e librerie esistenti . Non mi piace reinventare la ruota ogni volta che è possibile. Questa ricerca è anche un grande fattore nella scelta di una lingua per il progetto. Alcune lingue hanno un codice esistente migliore per determinate attività.

La prossima cosa che faccio è creare una cartella e metterla sotto il controllo del codice sorgente . Questo è semplice come al git init .giorno d'oggi.

Poi ottengo il funzionamento di "ciao mondo" . Questo mi fa sapere che il mio ambiente di sviluppo è impostato correttamente.

Successivamente ottengo "ciao mondo" per il funzionamento delle librerie di terze parti . Questo è il minimo indispensabile per dimostrare che sto collegando e usando correttamente la libreria. Per una libreria di database, ad esempio, si connette ed esegue una query semplice. Per un toolkit GUI, sta visualizzando una finestra.

Successivamente ho impostato gli script di build e i framework di test . Questa è formica o makefile o altro, ed è molto più facile da impostare quando il tuo progetto è ancora piccolo.

Successivamente creo strutture di dati . Chiamato anche il livello "modello". Questa è la parte che memorizza tutto ciò che il tuo programma deve ricordare per fare il suo lavoro. Faccio molto design su carta, quindi aggiungo solo tronchi. Questa parte del design è di solito la più semplice. Ad esempio, un programma di scacchi avrà bisogno di oggetti per memorizzare la griglia di gioco, i giocatori, i pezzi, le sequenze di mosse, ecc.

A questo punto, ho una base abbastanza buona per un programma ed è di solito abbastanza ovvio quale sarà il prossimo passo per quel particolare progetto. Poi faccio solo un piccolo passo alla volta, con un codice che funziona in qualche modo lungo tutto il percorso.


0

Se tutto ciò che hai è una "grande idea", avrai bisogno di molte cose (che sono molto ben descritte in altre risposte), e in particolare di questi 2: tempo e motivazione .

La difficoltà maggiore quando lavori da solo su un progetto personale è che, di solito, non hai molto tempo da dedicare a esso ogni settimana e quindi non vedi molti progressi e inizi rapidamente a perdere la motivazione.

Quindi, come è già stato detto, fai piccoli passi , questa è la chiave.

Ma non è tutto, devi fare piccoli e gratificanti passi ! Cioè, i passaggi che ti daranno il massimo valore e dimostreranno i concetti chiave della tua grande idea.

Ad esempio, se lavori su un nuovo software di super todo list con ottime interazioni con l'utente . Non iniziare con le risorse di archiviazione e database fino a quando non ne hai davvero bisogno. Inizia con l'innovativa interfaccia utente: è divertente e ha un valore. Questo ti renderà orgoglioso, ti terrà motivato e ti permetterà di verificare molto presto se la tua idea è davvero buona.


0

La prima cosa che devi fare è sederti e descrivere quell'idea per iscritto. Fino a quel momento non diventerà un progetto, e anche allora, avrai del lavoro da fare per renderlo qualcosa di effimero come un'idea a qualcosa di tangibile come un progetto.

Una volta arrivati ​​così lontano, puoi iniziare a cercare di trasformarlo in un progetto, identificando come potresti scomporlo in passaggi discreti che possono essere implementati in modo logico.

Quindi delineare una sequenza temporale per l'implementazione di tali passaggi. Rivedi i progressi a determinati intervalli in modo da mantenere un certo controllo di quel processo, piuttosto che avere idee striscianti che non hai mai pensato in primo luogo e aggiungerle al mix.

Individua un traguardo iniziale e punta a quello. Meno aderisci a questo, più è probabile che il progetto affondi sotto il peso di idee aggiuntive e più scoraggiato potresti ottenere per completarlo come sembra vivere per sempre.


0

Lo sforzo del codice è in genere circa il 20% (+ -10%) del budget di un progetto. Concentrarsi su come ottenere il codice corretto non ha senso, c'è l'80% dello sforzo che non hai affrontato, quindi ottenere una perfetta gestione del codice ti lascia ancora solo 20 del lavoro svolto.

Cosa succede se il tuo progetto non ha utenti? E se fosse perfetto ma pubblicato una settimana dopo il file "Acme Patent Trolls" per un brevetto sull'idea, e si rivelerà essere il prossimo Facebook?

Esaminare i seguenti problemi del ciclo di vita del progetto standard Requisiti, progettazione, codice, test, integrazione, implementazione, rilevamento e correzione dei difetti, gestione della modifica dei requisiti (richieste di miglioramento). Piani di rilascio, allocazione delle risorse (quante ore sono in programma e che farai effettivamente sul progetto), Legale (Freedon per operare) ecc.

Se tutto quanto sopra è a posto, anche il codice molto cattivo avrà successo. Se nessuna delle precedenti è presente, il codice migliore fallirà.

Non sono un uomo di scommesse, ma ci metterei i soldi sopra il tuo primo "grande" progetto fallirà, in molti e vari modi che non puoi immaginare. Non preoccuparti, vai avanti e fallisci, impara da esso e fai il prossimo. Non partire sarebbe il vero crimine. Se hai successo per la prima volta, hai una solida carriera nella gestione aziendale, non nella programmazione.

Quindi, per rispondere alla tua domanda, metti via gli strumenti software ed estrai i tuoi strumenti di "pianificazione aziendale". Scopri PERCHÉ lo stai facendo, per CHI, quindi PERCHÉ e QUANDO lo vogliono. (Puoi essere il tuo cliente, ma esegui comunque l'esercizio). Annotalo in un "Piano aziendale" e costruisci dal loro.


0
  1. che aspetto ha il successo?
  2. quali sono le incognite nel progetto?
  3. quali sono i noti nel progetto?
  4. cosa puoi fare per eliminare / scoprire gli incogniti, per convertirli in noti?
  5. cosa puoi fare per riunire i noti per raggiungere il successo?
  6. qual è il prossimo passo concreto da compiere per far avanzare il progetto?

ripetere l'ultimo passaggio fino al completamento del progetto; accetta che potrebbero volerci anni e continua ad andare avanti


0

Tutte le risposte qui sono buone e tutte, ma in tutta onestà, non importa quanto controllo di versione, gitting, diagramma di flusso e mark-up fai, tutto ciò che conta è che hai un'applicazione funzionale, un'applicazione funzionale è definito come uno che risolve il problema per il quale è stato concesso, tutte le altre cose sono praticamente irrilevanti.

Inizia a programmare, codificalo in una fase funzionale, esegui alcuni test, esegui il debug, avvia e re-itera con nuove caratteristiche e funzionalità (se lo ritieni necessario), molto nel modo di una startup snella - che è un metodo agile di gestione e sviluppo per creare meno rifiuti (o come qualcuno ha definito: capolavori semifiniti).


-1

Elenco di cose da fare quando si avvia un nuovo progetto:

  1. crea una nuova directory
  2. crea makefile copiando alcuni template di makefile esistenti
  3. creare alcuni file di intestazione e implementazione
  4. assicurarsi che si compili
  5. iniziare a utilizzare il controllo versione
  6. decidere la convenzione di denominazione per classi, funzioni, membri dei dati, variabili
  7. scrivi la tua prima lezione
  8. assicurati che la tua classe sia indipendente e che ogni funzione membro sia indipendente dalle altre funzioni membro
  9. creare diversi oggetti creando funzioni come main ()
  10. ripetere i passaggi 7-10 fino a quando il programma non è pronto
  11. compilarlo
  12. spedirlo agli utenti finali

Riguarda la programmazione, ma non è ingegneria e non funziona oltre una certa scala. Invece, devi fare qualcosa a partire da storie o requisiti degli utenti o da qualche tipo di specifica; quelli ti aiuteranno a scegliere la tua tecnologia di implementazione per iniziare. "scrivi alcune storie", "ordina le tue storie" sono i primi due passaggi, il controllo della versione precede qualsiasi codice e la prima storia è sempre "ricerca sulle tecnologie di implementazione" (che è molto più di "scegliere una lingua").
Andrew McGregor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.