Pregunta

¿Cómo se asegura de que el proyecto se compile con " bueno " ¿Decisiones de diseño que permiten una arquitectura de software flexible?

¿Cómo se equilibra entre dejar por completo la arquitectura a los equipos de un lado y dejar que toda la arquitectura controle a algunas personas del otro lado?

¿Tienes un " grupo de arquitectura " ;, " etiqueta de arquitectura " o cosas asi?

¿Fue útil?

Solución

Un requisito previo para los enfoques Agile es una arquitectura que ya sepa usar.

Si la arquitectura no está bien definida y no se entiende completamente, realmente no se puede adoptar un enfoque ágil.

Necesitas tener algunos picos técnicos que muestren cómo funciona la arquitectura y cómo encajarán las distintas piezas. Puede hacer que estos sean sprints preliminares, pero no conducirán directamente a un lanzamiento para los usuarios. Son un caso especial, requerido para llegar a una arquitectura que pueda usar.

Una vez que hayas pasado esto, " entiende la arquitectura " De esta forma, puede comenzar a ejecutar sprints que llevan directamente a las versiones para los usuarios.

Otros consejos

Podría explicar cómo lo haría, pero esto lo dice mejor de lo que podría .

También recomendaría leer el documento Fowlers Is Design Dead , por lo que entiendo. Si considera todas las prácticas ágiles como un todo, tendrá la libertad de hacer grandes cambios y así podrá desarrollar una arquitectura.

La refactorización funciona de manera más efectiva con la interacción continua, las pruebas se mejoran con TDD y la integración continua ... podría continuar. Las 'arquitecturas' en desarrollo solo están limitadas si no puede realizar los grandes cambios necesarios para corregir los 'errores'.

Además, creo que tiene un arquitecto como actor en el proyecto, contribuyen con historias de usuario que, a su vez, se devuelven al arquitecto.

Esta también es una buena manera de utilizar la programación de pares con el arquitecto trabajando como parte de los pares. En este contexto, el arquitecto no es tanto una persona dedicada como un sombrero que un miembro del equipo de desarrollo usa durante la programación de pares.

Creo que XP no disminuye el papel del arquitecto (y la arquitectura), solo coloca la responsabilidad de todos los miembros del equipo para entregar y distribuye el costo a lo largo de la vida útil del proyecto.

[editar]

Según otros comentarios, no tenga miedo de una planificación inicial, la iteración cero es un buen momento para intentar trazar un poco de un plan, simplemente no sea estricto con respecto a entregarlo a una escala de tiempo específica.

En mi experiencia, la mejor manera de hacerlo es contar con desarrolladores / arquitectos experimentados que trabajen en los proyectos que impulsan la visión de la arquitectura día a día.

Yo sugeriría que depende del liderazgo de desarrollo del proyecto para controlar la arquitectura y garantizar que todo nuevo trabajo se ajuste a él.

Manejé esto haciendo algo de planificación por adelantado; en general, tengo algo de experiencia previa con una aplicación similar para ayudar con esto. Si no, haré un poco de exploración en el espacio para tener una idea. Una vez que se presenta una arquitectura básica, comenzaré a desarrollarla teniendo en cuenta mis historias priorizadas. Luego, me refactorizo ??a medida que avanzo para solucionar las fallas o errores en la arquitectura.

Sin hacer un gran diseño por adelantado, generalmente hay un diseño básico que se aplica a cada proyecto. Usualmente, esto define capas básicas a respetar en el diseño de la aplicación. La mayoría de las demás decisiones de diseño las toma cada desarrollador.

Nuestro proceso de desarrollo se basa en breves ráfagas de desarrollo con frecuentes revisiones por pares. La calidad de cada decisión de arquitectura del desarrollador se valida en el momento de la revisión por pares. Esto también incluye la validación de que el código sigue la arquitectura del producto .

Según el tipo de proyecto y las herramientas disponibles, también usamos herramientas como macker para Valida automáticamente la integridad de la capa-pastel.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top