Come abbiamo sperimentato il lavoro di squadra e cosa ne è venuto fuori

Come abbiamo sperimentato il lavoro di squadra e cosa ne è venuto fuori

Iniziamo in ordine

Cosa significa questa immagine tra poco, ma per ora vorrei iniziare con l'introduzione.

In una fredda giornata di febbraio non c’erano segni di problemi. Un gruppo di studenti innocenti è venuto per la prima volta a seguire una lezione su un argomento che hanno deciso di chiamare “Metodologia per organizzare la progettazione e lo sviluppo dei sistemi informativi”. C'era una lezione regolare, l'insegnante parlava di metodi di sviluppo flessibili, come Scrum, nulla faceva presagire problemi. E alla fine l'insegnante annuncia:

Voglio che tu possa sperimentare tu stesso tutte le difficoltà del lavoro di squadra, dividerti in gruppi, elaborare un progetto, nominare un leader e attraversare insieme tutte le fasi della progettazione. Alla fine mi aspetto da te un prodotto finito e un articolo su Habré.

È qui che inizia la nostra storia. Come le palle nel biliardo, rimbalzavamo l'uno sull'altro finché l'energia dell'impatto non si è dissipata e un gruppo di 7 persone si è riunito. Forse questo è troppo per un progetto formativo, ma è giusto distribuire meglio i ruoli. È iniziata una discussione sulle idee per il progetto, da "Prendiamo un progetto già pronto" a "Emulatore per la formazione di oggetti spaziali". Ma alla fine l'idea è venuta, il cui nome leggete nella prima foto.

Stop alla procrastinazione: cos'è, con cosa si mangia e come l'abbiamo sviluppata e cosa ne è derivato

La storia verrà raccontata per conto del project manager che, fortunatamente o sfortunatamente, mi è stato assegnato. Quindi quale idea ci è venuta in mente? Ispirandoci alla popolare sveglia “Shake Alarm Clock” di SupperCommon, ovvero la funzione di bloccare completamente lo smartphone finché l'utente non esegue una determinata azione che molto probabilmente lo farà svegliare, abbiamo deciso di creare un'applicazione simile che aiuterà a ottenere liberarsi dalla dipendenza dal telefono, secondo lo stesso principio di “Scuoti la sveglia”

Come funziona

L'utente imposta i timer
-Tempo che può essere trascorso su uno smartphone
-Tempo senza smartphone (periodo di blocco)
Allo scadere del timer, sullo schermo viene visualizzata una sovrapposizione che non può essere ridotta a icona
-Per chiudere l'overlay è necessario eseguire un piccolo test (inserire una password su una tastiera confusa, risolvere un problema di matematica, scuotere il telefono per un paio di minuti)
Dopo lo sblocco in questo modo, il tempo che si può trascorrere sullo smartphone si dimezza, e così via fino ad un minuto.

Costruire una squadra

Innanzitutto era necessario determinare chi avrebbe fatto cosa e in quale lingua sarebbe stato scritto tutto questo. Penso che questo abbia poco a che fare con la gestione del progetto, perché quando metti insieme una squadra per un progetto reale, metti subito insieme coloro di cui hai bisogno. Di conseguenza, mi sono assunto anche l'onere di progettista, ho scelto un team manager che aveva una buona esperienza nello sviluppo di applicazioni, gli sono stati assegnati tre programmatori e altri due sono diventati tester. Naturalmente il linguaggio di programmazione è stato scelto in base alle competenze. Di conseguenza, si è deciso di utilizzare Java, poiché tutti i programmatori lo conoscevano.

Impostazione dei compiti

Su raccomandazione dell'insegnante è stata creata una task board su un servizio gratuito Trello. Si prevedeva di funzionare secondo il sistema Scrum, in cui ogni flusso sarebbe una sorta di applicazione completa.
Tuttavia, in realtà, tutto ciò è venuto fuori da un flusso ampio e lungo, al quale venivano costantemente apportate modifiche, aggiunte e correzioni.

Come abbiamo sperimentato il lavoro di squadra e cosa ne è venuto fuori

Scriviamo le specifiche

Influenzato dal libro di Savin “Testing.com”, avevo in testa la mia idea su come organizzare tutto. Tutto è iniziato con la scrittura delle specifiche, poiché credo che senza una descrizione chiara di cosa ci aspettiamo, cosa e come dovrebbe funzionare, nulla funzionerà. I programmatori programmeranno tutto come vedono, i tester proveranno qualcos'altro, il manager si aspettava il terzo, ma si rivelerà come sempre il quarto.
Scrivere le specifiche non è facile, devi pensare a tutti i dettagli, a tutte le sfumature. Naturalmente, niente ha funzionato la prima volta. Di conseguenza, le specifiche sono state integrate e rifatte 4 volte. Puoi trovare l'ultima opzione alla fine dell'articolo, nella sezione dei link.

Disegnare un disegno

Il design in un'applicazione mobile è la cosa più importante. Tuttavia, non tutti lo capiscono, anche nel mio team, molti hanno sostenuto con veemenza che la progettazione non è necessaria, che questa è la parte meno importante dell'applicazione, ecc. Non dovresti essere così ingenuo. In primo luogo, un disegno già pronto facilita il lavoro del programmatore, che non deve pensare a cosa mettere e dove, ma semplicemente prende e impagina ciò che viene disegnato. Insieme alle specifiche, il design libera quasi completamente la mente del programmatore da cose inutili e gli dà l'opportunità di concentrarsi sulla logica. In generale, prima veniva disegnato un prototipo (terribile):

Come abbiamo sperimentato il lavoro di squadra e cosa ne è venuto fuori

Ma poi il design è stato pettinato e riportato alla normalità.
(Link a tutti gli elementi di design alla fine dell'articolo).

Come abbiamo sperimentato il lavoro di squadra e cosa ne è venuto fuori

Programmazione

La programmazione è difficile, ma possibile. Tralascerò questo punto perché non me ne sono occupato personalmente. I programmatori hanno svolto un lavoro enorme, senza il quale tutto non avrebbe avuto senso. Naturalmente siamo riusciti a realizzare alcune delle nostre idee. E il programma necessita ancora di miglioramenti. Ci sono molti bug e funzionalità che devono essere rimossi. Se avessimo più tempo, usciremmo dalla deep alpha, ma per ora puoi testare l'applicazione alla fine dell'articolo.

Bene, riguardo ai test

Qual è la cosa principale nella programmazione? Secondo me, la cosa principale è che tutto funzioni e appaia come dovrebbe. Non sempre funziona bene e non subito. Ciò richiede test. Ai miei tester ho proposto un modello di test utilizzando casi di test. Innanzitutto, i casi di test vengono scritti in piena conformità con le specifiche, quindi vengono eseguiti i test su di essi. Puoi vedere cosa ne è venuto fuori nei link sottostanti.

Grazie per aver letto. Spero che tu abbia trovato almeno qualcosa di utile qui, forse un'idea per la tua startup, o magari qualche buon consiglio o uno strumento.

Links:

Ultimo specificazione.
Continua a progettare Figma.
Casi test и segnalazioni di bug.

L'applicazione stessa è attiva HokeyApp. — L'applicazione è stata creata con il nome HandsOff, non chiederti nemmeno perché (perché Stop Procrastination è troppo lungo).

Bene, alla fine

Pensi che tutto questo avesse senso?

Solo gli utenti registrati possono partecipare al sondaggio. AccediPer favore.

Tale pratica è necessaria nelle istituzioni educative e quanto è utile e applicabile nella vita reale?

  • Esperienza necessaria e preziosa

  • Necessaria, anche se un po' di esperienza

  • Quasi inutile, al massimo capirai le caratteristiche generali del lavoro in team

  • Spreco di tempo e fatica

2 utenti hanno votato. Non ci sono astensioni.

Fonte: habr.com

Aggiungi un commento