Prima di diventare un consulente, tutto quello che mi interessava era diventare un programmatore altamente qualificato. Ora credo che ciò di cui i miei clienti hanno bisogno non è un grande hacker, programmatore, architetto ... o qualsiasi altra cosa. Sono sempre più convinto ogni giorno che c'è qualcosa di più grande valore.
Ovunque vada, scopro le pratiche in cui mi giravo gli occhi disperatamente. Ho visto l'industria del software con occhiali rosa e ho riso o pianto a causa del mio umore. Ero così convinto che tutto poteva essere fatto meglio.
Ora credo che ciò di cui i miei clienti hanno un disperato bisogno è trovare un equilibrio tra buone pratiche ingegneristiche e un'esecuzione disperata del progetto. Sebbene un grande design possa rendere un progetto economico per poter essere pensato per molti anni, di solito è più importante produrre velocemente in modo rapido ed economico, solo per vedere se il progetto può avere successo. Prima di ciò, non importa molto se il design è economico da mantenere, dopo, potrebbe essere troppo tardi per migliorare le cose.
Hanno bisogno di persone coinvolte, che apportano alcuni miglioramenti clandestini al progetto senza la loro approvazione / consenso / conoscenza del manager ... perché non hanno mai avuto tempo per alcune attività che tutti sappiamo essere importanti. Non tutte le cose buone possono essere fatte, alcune devono uscire dal libero arbitrio e alcune devono essere discusse al fine di educare colleghi, manager, clienti e noi stessi.
Ora la mia grande domanda è. Quali sono esattamente le abilità e le pratiche oltre alla grande codifica che possono fornire un reale valore al successo economico dei progetti software? (e non solo l'architettura del software)