¿Cómo alguien implementaría conceptos de procesos ágiles como desarrollador en solitario? Agile parece útil para desarrollar aplicaciones a un ritmo más rápido, pero también parece muy orientado al equipo ...
agile
solo-development
Kelleystar
fuente
fuente
Respuestas:
Recuerdo haber leído una tesis sobre Cowboy Development, que es esencialmente ágil para desarrolladores en solitario, pero no recuerdo dónde la encontré.
fuente
Además de la respuesta de klez (todas buenas sugerencias), sugeriría lo siguiente:
productos es básicamente una lista de todos los elementos que tiene la intención de completar en algún momento para este producto.
Una carga de sprint comienza con una lista de todas las tareas que ha decidido completar en este sprint (un subconjunto de la cartera de pedidos de su producto que se completará durante un período de tiempo establecido, por ejemplo, 2 semanas) junto con La estimación del trabajo requerido. A medida que marca las cosas, las marca como hechas; reduciendo así (o quemando) el trabajo restante para ese sprint.
Del mismo modo, una carga de producto rastrea el trabajo restante para toda la cartera de productos.
relativas La estimación relativa es una técnica de estimación que utiliza las otras tareas (o historias) como guía. Por ejemplo, si sabe que la tarea A es más fácil que la tarea B y tiene el doble de complejidad que la tarea C, se aseguraría de que los "puntos" para la tarea A fueran correctos en relación con esas expectativas.
El énfasis no está en adivinar correctamente la cantidad de trabajo requerido, sino en mantener las estimaciones consistentes entre sí.
La velocidad es una medida de cuántos "puntos" logras en un sprint. Si su estimación relativa es garantizar la coherencia, esta velocidad se puede utilizar para estimar qué tareas es probable que realice en los próximos sprints. Sin embargo, tenga en cuenta que la velocidad debe revisarse constantemente.
fuente
Estas cosas se aplican probablemente a situaciones en solitario y en equipos pequeños (2 o 3 desarrolladores).
AGREGADO: en algún momento después de escribir esta respuesta, encontré esta charla de conferencia y quedé muy impresionado: Kanban personal: Optimizando el codificador individual
fuente
En última instancia, defino a Agile realmente como "hacer lo que tiene sentido para su equipo y cliente y no adherirse a las prácticas antiguas porque parecían funcionar en el pasado".
fuente
Ágil funciona tan bien para las personas como para los equipos. Se trata de encontrar un proceso que funcione para usted y permitirle adaptarse a las circunstancias cambiantes una vez que su proyecto ya haya comenzado. También se trata de entregar valor a su cliente regularmente, independientemente de si el software está realmente "terminado" o no.
Los procesos ágiles son altamente iterativos. El trabajo se realiza en cortos TimeBoxes / sprints / cycles / iterations. Es posible que se requiera un trabajo de diseño por adelantado, pero se puede refactorizar a medida que aprende más sobre qué es lo que necesita que haga un sistema. Las pruebas unitarias son la columna vertebral de casi todos los métodos de desarrollo ágil, ya que le indican si su software está funcionando y si las adiciones / cambios en su software romperán la base de código existente.
Si se adhiere a BDD / TDD, permita que sus requisitos cambien con el viento y pueda ajustar las prioridades de sus características en consecuencia, si construye todo su sistema y ejecuta todas las pruebas con frecuencia, y si entrega un código de trabajo al final de cada sprint , ya eres ágil.
fuente
Guau. Intentaba mantener a un amigo al teléfono al que podía llamar cuando estaba en problemas, y hablar sobre el problema de codificación. Sabes a lo que me refiero ... solo el hecho de explicar un problema en voz alta me trae una solución el 90% del tiempo.
fuente