Punteggio / analisi dei test soggettivi per la valutazione delle competenze [chiuso]

4

Sono fortunato nel senso che mi è stata data l'opportunità di essere un "Technical Troubleshooter" per il nostro team di sviluppo offshore. Mentre sono fiducioso e capace di trattare la maggior parte delle questioni, ho trovato qualcosa che non sono. Sulla base di discussioni iniziali con vari membri del team sia on che offshore, è stato identificato un requisito per una valutazione delle competenze ripetibile e coerente.

Secondo me, il modo migliore per ottenere questo risultato sarebbe una combinazione di test oggettivi e soggettivi. Il primo di solito è una valutazione iniziale delle competenze online su vari argomenti, ad esempio General C #, WCF e MVC. Quest'ultimo è un test tecnico in cui il candidato dovrebbe risolvere vari problemi e (si spera) spiegare i processi di pensiero coinvolti nella soluzione mentre lo fa.

Ovviamente, il primo metodo è coerente, ripetibile ed estremamente accurato. Il secondo sarà sempre soggettivo e basato sull'approccio, la soluzione (o eventualmente no) e altri fattori. Il "punteggio" di questo sarà anche l'esperienza e le capacità del valutatore e questo è il mio problema;

  • La persona che dovrebbe essere inizialmente il valutatore (io) ha no esperienza.
  • Le persone che alla fine continueranno questo processo per gli altri le persone non rimarranno mai le stesse a causa di vincoli di progetto e motivi interni, questo cambia la linea di base per il confronto.
  • Non sono a conoscenza di alcun sistema adatto che possa essere classificato come coerente e ripetibile per test soggettivi con i 2 fattori sopra, per non parlare di quelli che non esistevano.

Ad ogni modo, devo presentare un piano che alla fine genererà un'analisi di competenze / gap ed è improbabile che io sia in grado di utilizzare un metodo obiettivo (i limiti di budget sono la ragione più probabile). L'unica opzione rimasta sono i metodi soggettivi e i problemi precedenti.

Qualcuno ha qualche suggerimento per un approccio che potrebbe spuntare tutte le caselle?

    
posta ChrisBint 20.07.2012 - 10:13
fonte

4 risposte

1

Una "valutazione delle competenze" mi sembra il classico problema di mescolare i requisiti con la soluzione.

Vorrei tornare indietro e documentare il problema aziendale e il beneficio atteso. Non conosco le specifiche nel tuo caso, ma un esempio potrebbe essere:

Problema: "Il 40% dei candidati che assumiamo non soddisfa i nostri bisogni, il che fa perdere al nostro team 200 ore di produttività ogni mese."

Benefici attesi: "Migliora la selezione dei candidati per ridurre i costi a non più di 40 ore al mese".

Stima: "Un mese FTE di sforzi".

Mese 1: Risultato = -140 ore investite Mese 2: Risultato = 20 ore risparmiate = Risparmio mensile (200 - 40) - 140 ore di implementazione Mese 3: Risultato = 160 ore risparmiate = Risparmio mensile (160) + 20 ore accumulate 1 anno: risultato = ... 2 anni: ... 3 anni: ...

Entrare nel vivo del problema apre alternative che non possono essere considerate altrimenti.

Il problema con i "test coerenti" è che le domande che porterai alla fine alla fine spariranno ai tuoi candidati e non saranno più coerenti.

Potresti provare a risolvere questo problema creando molte domande e fornendo solo un sottoinsieme a ciascun candidato, tuttavia non otterresti la coerenza finché una popolazione sufficientemente numerosa non ha preso i tuoi test.

Ti suggerisco di leggere i modi per prevedere le prestazioni IT. È probabile che tu trovi delle sorprese e non sono richiesti test.

    
risposta data 21.03.2013 - 08:26
fonte
0

Per quanto riguarda la valutazione del talento, lascia che ti indico al libro di Joel Spolsky, "Smart and Gets Things Done". È una lettura buona e veloce e, tra le altre cose, sottolinea che la gamma di abilità tra i candidati può variare di un fattore di 10, 20 o anche di più.

Avendo più volte intervistato candidati per posizioni di sviluppo software, trovo che i candidati siano abbastanza bravi a differenziarsi in test sia soggettivi che oggettivi. A meno che non si stiano assumendo molte posizioni, si potrebbe trarre vantaggio pesando il costo di un test automatizzato rispetto a un test somministrato manualmente.

Vorrei suggerire un approccio preso in prestito dai test del software che viene chiamato test basato sul profilo operativo (OPT). In OPT, identifichiamo il profilo operativo (OP) osservando quali funzioni vengono utilizzate più spesso. Per riferirsi al libro di Spolsky in cui descrive una classe di programmazione Yale che aveva gli sviluppatori scrivere alcuni programmi banali con nomi come CMDLINE99, MAKE01 o TAR00 per mostrare che potevano e misurare quanto velocemente (cioè produttivi) potevano essere, ma il istruttore considerava i suoi programmi tipici di ciò che i professionisti avevano scritto in precedenza e di ciò che i suoi studenti avrebbero scritto in seguito.

Per creare un profilo operativo per le domande o problemi di programmazione per i candidati, abbina il programma o passa solo un'ora o due a guardare un buon esecutore in un ruolo simile. Prova le attività e il codice che fanno. Discuti i problemi che stanno risolvendo e annota il vocabolario che potrebbe differenziare tra principianti ed esperti.

Se il test è ben progettato, sospetto che il successo di questo tipo di test possa essere strettamente correlato alla fluidità delle competenze chiave, alla scarsa necessità di assistenza di supervisione e alla capacità di completare la maggior parte delle porzioni in modo tempestivo.

Spero che questo aiuti, grazie per aver letto questa risposta.

    
risposta data 12.08.2012 - 07:47
fonte
0

La migliore domanda per un colloquio che abbia mai dovuto fare era fare una revisione del codice. Mi hanno dato l'IDE con un progetto e ho detto "lo abbiamo scritto, ma immaginiamo che sia uno sviluppatore junior che ha appena fatto questo e il suo compito è quello di rivederlo - mostraci i bug, le cose che faresti diversamente". E così ho avuto modo di mostrare loro che conoscevo l'organizzazione del codice e le migliori pratiche, nonché i soliti banali bit di programmazione.

Prova che, considerando che non ci sono "risposte" esplicite, puoi inventare qualcosa che misura i loro processi mentali e alcuni test oggettivi (cioè un bug o errore ovvio) che dovrebbero trovare anche.

    
risposta data 20.04.2013 - 15:48
fonte
-1

Per il secondo tipo di test (soggettivo), potresti essere in grado di seguire un processo come questo. Prova a suddividere ciascuno degli argomenti per i quali le abilità sono importanti per te, in gruppi. Quindi C # può avere gruppi come:

  • Gestione delle stringhe
  • programmazione OO
  • IO
  • Le discussioni

Puoi farlo anche per altri argomenti.

Quindi per ognuno di questi gruppi prova e scrivi alcune semplici affermazioni. Per la gestione delle stringhe puoi scrivere affermazioni come:

  • Uno sviluppatore dovrebbe sapere come concatenare le stringhe
  • Uno sviluppatore dovrebbe essere in grado di determinare se una stringa contiene una sottostringa specificata
  • Uno sviluppatore dovrebbe essere in grado di dividere una stringa in base a un'espressione regolare
  • Uno sviluppatore dovrebbe essere in grado di determinare se una stringa corrisponde a un'espressione regolare

Quindi per ognuno di questi è possibile creare alcuni casi di test che funzionano con funzioni vuote. Una volta completate queste funzioni, i casi di test verranno superati.

Potrebbero essere i tuoi test soggettivi che possono essere eseguiti automaticamente.

Tieni presente che la creazione della raccolta iniziale di test richiederà probabilmente molto tempo.

    
risposta data 23.07.2012 - 19:03
fonte

Leggi altre domande sui tag