Ho notato questa distinzione che condivido qui:
- Tool di automazione
Esempi: DbDeploy, CruiseControl.NET
Cosa fanno: Automatizzano un task, una attività per il team di sviluppo, ad esempio eseguono automaticamente una build o creano automaticamente un setup-kit.
Come: offrono un servizio che una volta creato non richiede sforzi, impegno e skills da parte dei developer
- Tool di supporto
Esempi: PivotalTracker, NUnit, RhinoMock
Cosa fanno: abilitano o semplificano l'applicazione di una pratica (di coding) come lo unit testing o l'inversion of control.
Come: rendono più semplice e veloce un certo lavoro del developer che è basato su skill, disciplina, collaborazione.
I toodi automazione possono essere introdotti in qualsiasi momento, anche con l'iniziativa o l'aiuto di un consulente esterno. Se saranno utili al team verranno immediatamente e semplicemente utilizzati e sfruttati.
I tool di supporto sono utili solo quando ci sono gli skill richiesti e il team è in grado di agire con la disciplina e la collaborazione richiesta. E' nell'introduzione di questi tool che al team e allo ScrumMaster serve mettere in pratica il primo dei valori del
manifesto agile:
Individuals and interactions over processes and tools
per farli funzionare: cioè focalizzarsi sul team (e le interazioni) prima e sul tool (e il processo) solo dopo.