BBOS: come un software custom ha cambiato la vita di BitBoss
Qualche anno fa BitBoss navigava a vista. Ciò non significa che procedeva alla cieca, ma semplicemente che molte informazioni non erano abbastanza precise, abbastanza aggiornate o ben distribuite. La maggior parte delle decisioni importanti era affidata alla percezione dei singoli.
Si tratta di uno scenario abbastanza comune nelle micro imprese e nelle Start up, perché finché i numeri sono piccoli e la complessità è ridotta, la sensibilità dei founder può essere sufficiente a guidare l'impresa. Quando però all'interno di un'azienda tutti gli ingranaggi funzionano, questa inizia a crescere e insieme a lei crescono anche la complessità e il numero di persone coinvolte. È in quel momento che si fa strada la consapevolezza di non riuscire più ad avere tra le mani il pieno controllo dei parametri vitali dell'azienda.
La sensazione di controllo che si respirava in una BitBoss appena nata stava lasciando il passo ad un senso di urgenza: serviva un sistema di controllo che fosse più preciso e efficiente rispetto alla sensibilità dei manager.
Cominciammo a chiederci: "con quale frequenza riusciamo ad avere piena visibilità e consapevolezza dei principali parametri di funzionamento dell'azienda?" Dal momento che la risposta non era "ogni giorno, in real time", cominciammo a pensare di avere un problema.
La naturale evoluzione di un'azienda
Si dice che l’innovazione sia definita dal cambiamento che riesce a portare in un dato ecosistema. Se è così, allora questa può essere considerata una piccola storia di innovazione i cui principi sono estendibili ed applicabili ad aziende molto diverse da BitBoss.
BitBoss da sempre sviluppa web app personalizzate per clienti esterni. Normalmente, per ogni progetto viene allocato un team di lavoro per un determinato periodo di tempo. Alcune persone lavorano full time su quel progetto, mentre altre ripartiscono il proprio monte ore su più fronti. Fin qui tutto bene, ma poi si aggiungono altre complicazioni:
Ogni cliente può avere più progetti all'attivo.
Ogni progetto può essere legato a più contratti, in base all’evolversi degli accordi e alle modifiche al team di lavoro nel tempo.
Alcuni contratti hanno budget e tempi fissi mentre altri vengono fatturati a consuntivo, in base alle ore di sviluppo effettivamente svolte.
Altri contratti procedono con un team di lavoro definito, un budget mensile e una durata indeterminata.
In questo scenario già di per sé molto variegato, il nostro modello di business presenta una serie di altri fattori che complicano le cose, tra cui:
Alcune persone sono coinvolte su un progetto per un numero di ore settimanali fisse, mentre per altre il monte ore varia a seconda delle fasi del progetto.
Lavoriamo anche con developer freelance che dedicano a BitBoss un numero di ore settimanali che cambia frequentemente nel tempo, con accordi economici anch’essi variabili.
Molte persone, oltre a lavorare sui progetti, portano avanti attività interne: strategia e organizzazione, comunicazione, gestione dei lead, amministrazione e molto altro.
Un'esigenza crescente
In uno scenario mutevole e talvolta caotico come questo, avere informazioni puntuali e precise era per noi impossibile. Al termine o durante lo sviluppo di un progetto non eravamo in grado di sapere con esattezza quali fossero stati i costi e di conseguenza i nostri margini.
C’era quindi una serie di domande a cui non eravamo in grado di rispondere prontamente:
Quanto ci è costato il progetto X e che margini abbiamo avuto?
Qual è esattamente il costo mensile dei lavoratori attivi oggi?
Qual è il fatturato mensile dei progetti attivi oggi?
A quanto ammonta la produzione già effettuata, ma per cui non è ancora stata emessa fattura?
Qual è il tasso di saturazione della nostra forza lavoro oggi e quale sarà nei prossimi mesi?
Di quanto si discosta l’effort effettivo sui diversi progetti rispetto a quello programmato?
La consapevolezza di non essere in grado di rispondere, se non a seguito di un ciclo di controllo periodico dispendioso e impreciso, è ciò che ci ha tormentato e spinto a trovare una soluzione.
L'importanza della condivisione
Un altro problema apparentemente banale era la mancanza di condivisione delle informazioni all’interno del team. Mancava un singolo luogo in cui fosse possibile, per tutte le persone coinvolte nelle attività di gestione, vedere la data di fine prevista per i progetti, quali fossero le persone coinvolte, quale la disponibilità settimanale dei diversi lavoratori, la loro allocazione e molto altro.
Uso il termine “apparentemente” perché può essere facile pensare che questi problemi siano risolvibili aggiornando con frequenza un qualsiasi strumento o documento condiviso, in cui andare a inserire i dati manualmente.
Tuttavia, se chi deve inserire questo dato non percepisce in prima persona un vantaggio nel fare questo lavoro e se il vantaggio non abilita altri processi, è facile che non si inneschi un'abitudine e che questo metodo sia destinato a fallire. Inoltre se il mancato o l’errato aggiornamento di un'informazione non ha conseguenze tangibili (siano anche molto semplici) questa operazione perde di rilevanza nel tempo e presto si tenderà ad abbandonarla.
La ricerca di una soluzione
L’adozione di un software custom da parte di un'azienda che, come noi, produce proprio software custom potrebbe sembrare una scelta scontata, ma non è così. In realtà la decisione di costruire da zero il nostro software è arrivata solo dopo mesi di sperimentazioni e fallimenti con altre soluzioni già presenti sul mercato.
Nel tempo, mentre la percezione dei problemi si consolidava, ricercavamo soluzioni parziali che alla fine non si rivelavano soddisfacenti. Abbiamo inizialmente provato ad utilizzare i dati che già avevamo a disposizione inserendoli sul software di project management che già utilizzavamo per i vari progetti, ma non erano abbastanza precisi.
Abbiamo quindi provato un’approccio No Code (con strumenti come Airtable) e poi molti dei Software as a Service disponibili per chi opera nel nostro settore (Wrike, Instagantt, TeamGantt, Ganttpro, Wethod, Float, Teamwork, Teamdeck e molti altri).
L’approccio No code è stato utile solamente per comprendere meglio le nostre esigenze e formalizzare alcuni processi interni che non erano abbasta definiti. Airtable è uno strumento eccezionale e che utilizziamo spesso, ma che in questo caso abbiamo abbandonato quasi subito. Il tentativo di utilizzare uno strumento del genere tuttavia ci ha spinto a ragionare in maniera approfondita su quali fossero le informazioni rilevanti, quale dovesse essere la loro fonte e come avremmo dovuto organizzarle.
Esplorando i SaaS in particolare ci siamo scontrati con 4 ordini di problemi:
Eccesso di funzionalità non necessarie e non utili nel nostro caso specifico.
Curve di apprendimento abbastanza lunghe per poi scoprire i limiti di questi strumenti solo dopo alcuni giorni di utilizzo intensivo.
Costante sensazione di non potersi adattare ad esigenze future che ancora non si conoscevano.
Presenza costante della personalità di chi ha costruito il prodotto.
Quest’ultimo punto in particolare è molto rilevante: creando dei software per settori non completamente codificati e standardizzati, si va inevitabilmente a definire e imporre un modo di fare le cose, frutto dell’esperienza di chi l’ha progettato. Non sempre l'approccio di chi ha pensato il software è condiviso o si adatta a contesti differenti.
La risposta: il software custom
Ogni azienda ha delle piccole caratteristiche che la rendono unica. Non volevamo adattare il nostro modello di lavoro alle caratteristiche del software, ma avere uno strumento che fosse in grado di plasmarsi alle nostre esigenze.
Alla fine, forti delle le esperienze maturate attraverso tutte quelle strade sbagliate, abbiamo capito quale fosse l'unica soluzione percorribile. L'unica soluzione veramente efficace sarebbe stata quella di costruirci da soli il nostro software. Ragionando in questo modo avremmo potuto pensare in grande, niente più limitazioni date dallo strumento, ma qualcosa che fosse estremamente calibrato sulle nostre esigenze.
Ma come procedere?
Innanzitutto bisognava essere in grado di identificare le necessità più importanti, la cui risoluzione avrebbe avuto un impatto maggiore, ma non solo, anche quella che avrebbe abilitato altri miglioramenti, nuove decisioni e prospettive di crescita.
Alla fine abbiamo sintetizzato le nostre necessità in pochi punti essenziali:
Controllo dei costi: con elevata mobilità tra i progetti dovevamo sapere quale fosse l’effettivo costo di un progetto.
Allocazione delle persone nel tempo: serviva una maggiore condivisione delle informazioni tra le persone.
Controllo dei parametri economici sul progetto: costi, budget, maturato, fatturato, incassato.
Cos'è BBOS
Così è nato BBOS, un unico luogo dove poter gestire e immagazzinare tantissime informazioni diverse.
Il cuore di BBOS è costituito da ciò che definiamo Log ore: un'area in cui ogni persona impegnata sui progetti (i worker), alla fine della giornata lavorativa inserisce il numero di ore che ha impiegato ripartite per ogni singola attività. Questa semplice azione, che al worker richiede pochi minuti, per noi è estremamente importante perché ci aiuta a sapere con esattezza quanto tempo è stato effettivamente dedicato ad ogni singolo progetto. Ciò vale per tutti e le attività esterne (dedicate ai clienti) e interne (marketing, comunicazione, sviluppo di software interni, ecc...)
In questo modo possiamo sapere con precisione e quasi in tempo reale quali sono i costi effettivi sostenuti sia durante lo svolgimento del progetto che alla conclusione dello stesso. Possiamo capire se si stanno verificando dei ritardi su attività specifiche ed eventualmente capire se apporre dei correttivi.
Il vero valore di BBOS però non sta nei singoli dati inseriti nel Log ore, ma nel modo in cui questi vengono relazionati tra di loro e con altre informazioni:
Ogni ora loggata su BBOS fa capo ad uno specifico cliente, ad un progetto e ad un contratto.
Questo fa sì che il numero di ore loggate non rappresenti un dato isolato (in quel caso avrebbe poco senso), ma che sia invece relazionato ad altre informazioni importanti: tipologia e durata dell'accordo, ore stimate da contratto, ecc...
Lo strumento risulta quindi completamente integrato con gli altri aspetti amministrativi e gestionali dell'azienda.
Di fatto BBOS non traccia nulla, permette solamente alle persone che lavorano sui progetti di inserire i dati relativi alle ore impiegate Questa semplice azione genera valore perché questi dati sono relazionati con tutte le altre informazioni che abbiamo. Questo vale sia per i progetti dei clienti che per quelli interni, come gli sviluppi interni, il marketing e la comunicazione. Lo stesso sviluppo evolutivo di BBOS è stato tracciato attraverso BBOS stesso.
Le evoluzioni
Ovviamente questa è stata l'esigenza iniziale, ma come tutti i software custom, nel tempo BBOS si è ingrandito per rispondere ad altri problemi e aderire sempre di più alle necessità di BitBoss ed è destinato a crescere insieme all'azienda. Nel tempo sono state inserite altre funzionalità:
Un'area dedicata alla gestione delle fatture
Un gantt per pianificare e verificare l'allocazione dei lavoratori
Un gantt per la pianificazione e la gestione dei progetti
Un monitor in cui il cliente può vedere le ore effettivamente impiegate sul suo progetto, allo scopo di rendere estremamente trasparente il nostro lavoro.
Perché ne abbiamo parlato?
Perché spesso imprenditori e manager di piccole e medie aziende potrebbero avere la percezione che sia molto difficile realizzare un software come BBOS e più in generale che un software, per quanto personalizzato, non possa essere adattabile al proprio caso specifico. Non è così. Ragionando sulle esigenze, sulle possibili soluzioni e su cosa è possibile migliorare, è effettivamente possibile realizzare uno strumento in grado di cambiare le prospettive di un'azienda.
Noi abbiamo sviluppato BBOS perché dopo molti tentativi non abbiamo trovato una soluzione tra quelle presenti sul mercato. Abbiamo risolto un nostro specifico problema, ma gli stessi principi adottati da noi possono essere applicati per trovare ed affrontare un problema o sfruttare opportunità che caratterizzano settori molto diversi. Questi principi, se applicati correttamente, possono aiutarti a rispondere ad un'opportunità che vedi, ma che non sai come mettere a terra.
Davide Leoncino
Co-founder di BitBoss | Head of Marketing