Quale sarebbe il ruolo del manager?
Primo caso: team e project manager
Se manterrà il team e organizzerà il modo in cui il progetto viene eseguito, in effetti, senza un background tecnico, tale manager potrebbe diventare un vero toccasana che porterà al fallimento del progetto. Per questo compito, hai bisogno di una persona che capisca:
-
In che modo gli sviluppatori lavorano e pensano rispetto ad altri lavori:
- Quali sono le loro motivazioni?
- Perché le nuove funzionalità dovrebbero essere in produzione il prima possibile?
- Perché confrontare la produttività grezza di due sviluppatori è così difficile?
- Quali sono le reali competenze (come le abilità comunicative) richieste da uno sviluppatore?
- ecc.
-
Modalità di gestione del progetto , in particolare:
- Che cos'è il debito tecnico e perché dovrebbe essere preso in considerazione?
- Quali sono le tecniche utilizzate per la mitigazione del rischio nei progetti di sviluppo software?
- Quale sviluppo iterativo porta al progetto?
- Perché le attività, come il refactoring, che non offrono funzionalità immediatamente visibili sono spesso molto più importanti della semplice spedizione di un'altra funzionalità?
- Perché è normale andare avanti e indietro, invece di andare verso un obiettivo?
- Perché "risolvere questo bug al più presto" / "consegnare questa funzionalità al più presto" è pazzesco praticamente in ogni situazione?
- Qual è la differenza tra un prototipo e un codice di produzione solido?
- ecc.
-
Quali sono i punti che dovrebbero essere messi a fuoco dall'inizio. Mentre un team di sviluppatori con esperienza minima non dimenticherà di eseguire test unitari o refactoring regolari, potrebbe essere troppo concentrato sul proprio lavoro.
A volte dimenticano la UX, sicurezza, distribuzione o documentazione per l'utente finale , semplicemente perché non è il loro lavoro e quando il prodotto appare inservibile, insicuro, un incubo per gli amministratori di sistema o privo di base documentazione, spesso è troppo tardi.
Appartiene al gestore per determinare tutte le attività richieste per un progetto di successo e per trovare le risorse necessarie per la loro realizzazione. Avere un gruppo di programmatori non è sufficiente.
Secondo caso: un intermediario tra mondo IT e non tecnico
Se, invece, il suo compito è quello di assicurare buoni rapporti tra le cose tecniche e gli stakeholder non tecnici, allora una persona che ha studiato gestione, ma ha solo una leggera comprensione delle cose tecniche potrebbe essere ok.
Anche allora, prova a scegliere una persona che comprende la specificità dello sviluppo del software e che ha già un'esperienza professionale di diversi fallimenti del progetto: sarebbe un disastro assumere qualcuno che considererebbe gli sviluppatori come "i ragazzi che giocano con i computer" e non sono mai in grado di fare le cose ".
Consideriamo i punti che hai incluso nella tua modifica:
Create tasks for developers
Che cosa significa? Intendi storie di utenti? Così com'è, non c'è modo di rispondere senza sapere come vengono create queste attività nel tuo team.
Monitor that our ticket workflow is respected
Se non lo è, cosa succederebbe?
-
La buona risposta è: "Sarà utilizzata la retrospettiva per identificare cosa è andato storto, al fine di risolvere i problemi precedenti e adattare i programmi alla velocità della squadra." Ciò richiede un background tecnico.
-
La cattiva risposta è: "Il project manager urlerebbe ai membri del team e dirà che o iniziano a programmare più velocemente, o qualcuno di loro sarà licenziato." Questo non richiede alcuna competenza specifica.
Warn developers is they cross estimated work time
Vedi i punti precedenti.
Manage weekly finance timesheets
Nessuna competenza relativa all'IT richiesta qui. Ma il manager dovrebbe essere consapevole della specificità dello sviluppo del software, incluso il fatto che spesso è impossibile prevedere quanto una caratteristica costerebbe implementare.
Help client and reply to his questions
Domande come "Quando abbiamo il nostro prossimo incontro?" non richiedono conoscenze tecniche. Domande come "È possibile utilizzare ancora il meccanismo di sincronizzazione di cui abbiamo parlato l'ultima settimana in un contesto di frequenti perdite di connessione?" Richiede di capire il funzionamento interno del progetto.
Set meetings between client and developers (internet meetings)
Nessuna competenza tecnica necessaria qui.