Come siamo organizzati?

In DuckMa organizziamo metodologicamente il nostro lavoro

Creare un’app che funzioni significa essere ben organizzati, ed in DuckMa lo siamo.

Dopo anni di esperienza abbiamo raccolto i feedback dei nostri clienti e li abbiamo implementati secondo le best practice di management di progetto note sul mercato. Abbiamo quindi definito un flusso di lavoro semplice, con poche regole ed efficace.

La prima cosa da fare per realizzare un progetto che funzioni è la fase di raccolta dei requisiti. Al fine di capire gli obiettivi del progetto ci sediamo a fianco del cliente facendo un’analisi ed un estrazione degli obiettivi che il cliente deve raggiungere attraverso la soluzione che andremo a creare.
Cosa molto importante, va sempre valutato se l’investimento ha un ritorno, se il progetto ha senso farlo o se esistono soluzioni diverse per raggiungere lo stesso scopo.

Il nostro scopo è di consigliare al meglio il cliente (che è al centro del nostro processo), siamo dei consulenti esperti in materia e veniamo riconosciuti ed interpellati per quello.
Per ogni progetto che sviluppiamo facciamo un’intensa progettazione iniziale che racchiudiamo in un Progetto Esecutivo.
Il nostro progetto esecutivo contiene:

  • Obiettivi del progetto
  • Specifiche Funzionali
  • Specifiche Tecniche
  • Analisi Grafica con Wireframe ( e se necessario anche una demo)

Una volta realizzato questo ci confrontiamo con il cliente e valutiamo, se necessario, di suddividere il progetto in varie milestone.
Nella fase di realizzazione applichiamo la metodologia agile SCRUM (adattata secondo le nostre necessità), questo ci rende sufficientemente flessibili in fase di programmazione e quindi, nonostante ci sia comunque un progetto esecutivo, siamo in grado di virare durante la realizzazione per ottenere il goal prefissato.
Uno dei nostri punti di forza è la flessibilità, che garantiamo grazie a questa nostra organizzazione.
Poi si passa alla fase di realizzazione vera e propria. Qua siamo esperti nello sviluppo mobile con tecnologie native: va ricordato che un’applicazione mobile nativa è un software a tutti gli effetti, a differenza di un sito web, e pertanto segue i sani principi della programmazione software.
In questa fase si dà vita al progetto. Il nostro goal è di seguire fedelmente i dettami dati dalle guideline di programmazione dei due sistemi operativi (Apple e Google) in modo da essere sempre aggiornati (e questo richiede lato nostro molta formazione) e garantire un passaggio di consegne rapido ed indolore con chi poi eventualmente prenderà in carico il software in futuro.

In molti casi noi siamo responsabili del bootstrap iniziale di una startup che ha un’app come proprio core business perciò risulta molto importante avere una struttura del codice modulare e a strati/layer in modo poi da costruire il futuro prodotto partendo da un mvp (minimum viable product) per poi arrivare ad un prodotto articolato e complesso.

Per garantire la stabilità di quel che realizziamo utilizziamo metodologie di controllo qualitativo sperimentate sul campo. I nostri sviluppatori programmano facendo pull request (come nel mondo open-source), controllando quindi in più persone il codice sviluppato, e solo una volta avuto il consenso e l’approvazione da parte degli sviluppatori coinvolti, il codice viene approvato ed inviato in un repository centrale dove vengono eseguiti dei test manuali ed automatici. Questo processo di Continuous Integration permette di avere degli eseguibili funzionanti sui quali poi affinare i test ed inviare al cliente delle release intermedie. Testare bene il risultato prodotto velocizza poi la pubblicazione e il mantenimento post-realizzazione.

Siamo tutti sulla stessa barca!

Abbiamo una forte cultura di team, leggi le regole del nostro team...