en explorar 2-3 marco / herramienta alternativo
A veces esto puede suceder si tiene un requisito especial, tiene que hacer un POC para elegir la mejor herramienta para resolver el requisito. Para esto es para lo que Spike es porque, sin saber qué marco utilizará, lo más probable es que no pueda estimar la historia y almacenar sin una estimación no se puede planificar y dividir en tareas.
luego, al aprender el marco que seleccionamos para el proyecto
Bien. Esto es bastante peligroso. Cuando el cliente le paga por un SW, espera que usted sea un profesional que ya sepa cómo usar sus herramientas. El cliente no le paga por el aprendizaje o el enfoque de desarrollo de prueba / falla. Es responsabilidad del desarrollador aprender nuevas herramientas en su tiempo libre o en un tiempo asignado especial pagado por su empleado y no por el cliente. Gastar dinero del cliente para aprender sin informar al cliente no es profesional.
Si realmente tiene que usar algo especial (por ejemplo, alguna API del cliente o herramienta seleccionada por el cliente) que nunca usó antes, debe informarle al cliente que el precio se incrementará con el tiempo necesario para aprender a usar la API. Tal vez el cliente cambie de opinión si el aumento de precio será demasiado grande.
Claro, no me refiero a una situación en la que deba buscar algún problema nuevo en particular en el marco que ha utilizado muchas veces. Me refiero a la situación en la que comienzas a usar una nueva API o marco sin pasar un tiempo significativo (fuera del proyecto) para aprender.
Si viola esto, será visible en su velocidad de todos modos porque entregará una cantidad muy pequeña de valor comercial por iteración. Si el cliente no conoce la razón, probablemente cancele el proyecto.
Esto sigue siendo válido en el caso de proyectos internos: debe informar a su gerente / empresa sobre el tiempo necesario para aprender una nueva API o herramienta. Por lo general, tiene consecuencias muy malas si el gerente cuenta con su productividad normal y su productividad es solo una fracción debido a la nueva API que está tratando de aprender durante sus tareas. Obviamente, eso es aún peor si algunas personas de ventas calculan con una productividad normal cuando firman un contrato con el cliente.
sobre la configuración de los servidores (SVN, bases de datos, etc.)
Esa es su infraestructura y costos internos. Cuando comience el proyecto, se espera que tenga su infraestructura preparada. Configurar su entorno de desarrollo no tiene valor para el cliente y no debe formar parte de ningún indicador relacionado con el proyecto, por ejemplo, la velocidad en Scrum. Vi esto implementado como una iteración especial previa al proyecto utilizada solo para configurar el entorno, crear infraestructura básica, etc.