¿El rol del arquitecto se ajusta a la metodología Agile Samurai de desarrollo de software?

Metodologías de desarrollo de software: información detallada con datos sólidos

Cada negocio tiene diferentes requisitos de desarrollo de software. Sin embargo, numerosos Whitepaper e informes en Internet lo educan en el desarrollo de un excelente software para su negocio. Con lo que se debe y no se debe hacer, las mejores prácticas y las mejores prácticas de proceso, seguro que es una buena lectura. Pero todos no abordan que cada negocio y cada vertical son diferentes y las características respectivas hacen que el desarrollo del software sea completamente diferente.

Sumérjase en los conocimientos profundos presentados en el Informe de desarrollo de software de Damco, preparado después de años de amplia experiencia intercultural y multidimensional en ingeniería de productos y desarrollo de software.

Es posible que se encuentre en cualquier etapa de su desarrollo de software, las ideas nunca pueden pasarse por alto. Si está involucrado en el desarrollo de software, técnica o estratégicamente, una hoja de ruta con visión de futuro es esencial. Este informe de desarrollo de software ayuda a decidir sobre las consideraciones básicas de desarrollo de software que le permiten tomar decisiones informadas.

Descargue el Informe gratuito de desarrollo de software desde aquí: http://bit.ly/SoftwareDevelopeme…

Descargo de responsabilidad : no he leído El ágil samurai (supongo que el nombre de la metodología proviene de ese libro)

En primer lugar, deja de usar samurai , ninja , rockstar y todo eso cuando hables de desarrollo. De Verdad.

Sobre la pregunta original, como dije, no he leído el libro, pero desde el resumen que he encontrado parece que solo es una reescritura de métodos ágiles probados (¿SCRUM tal vez?) Agregando algo de humor, historias de guerra y un título pegadizo. Entonces supongo que la pregunta puede reformularse como ¿El papel del arquitecto se ajusta a los métodos ágiles ?

Existe este mito sobre el diseño emergente en el desarrollo de software ágil. Básicamente dice que si se adhiere estrictamente a los principios ágiles (probar primero, desarrollar, refactorizar) puede comenzar desde una pequeña base de código y dejar que el diseño emerja de los puntos en común encontrados entre las diferentes funcionalidades mientras las implementa. No creo en esto, ya que siempre hay decisiones arquitectónicas que pueden ahorrar mucho tiempo si se toman por adelantado. Por ejemplo, piense en implementar una aplicación que necesitará una API REST. ¿Tiene sentido comenzar a codificar desde cero sin utilizar bibliotecas de terceros para terminar extrayendo los elementos comunes encontrados en los marcos REST ya existentes? ¿No tiene sentido estudiar los casos de uso esperados de la aplicación para establecer una arquitectura inicial, o incluso seleccionar una plataforma adecuada, marcos, bibliotecas para facilitar el trabajo? Por supuesto, un defensor emergente del diseño le dirá que realmente no sabe que la aplicación seguirá los principios REST hasta que comience a codificar …

Teniendo esto en cuenta, un fundamentalista de diseño emergente le dirá que tomar esas decisiones es un desperdicio, ya que no sabe de antemano la forma en que evolucionará el sistema y eso debe evitarse. Desde mi punto de vista, el desperdicio es perder tiempo en reescribir cosas que otras personas ya han escrito, incluso de una manera brillante. Entonces, para mí, el papel del arquitecto encaja dentro de los métodos ágiles, y como dije antes, debería estudiar los casos de uso esperados de la aplicación o sistema que se está desarrollando, redactar una versión inicial de los componentes principales del sistema y seleccionar una plataforma inicial y conjunto de bibliotecas y marcos que se utilizarán en cada uno de esos componentes para que el trabajo sea lo más rápido y productivo posible.

More Interesting

Desde un punto de vista técnico, ¿cómo rastrea Facebook los otros sitios web que visito mientras la pestaña FB está abierta?

¿Dónde puedo obtener más información sobre los patrones de diseño de software como MVVM?

Soy SGT de comunicaciones de las fuerzas especiales y también soy ingeniero de software. ¿Qué futuro camino profesional me permitiría fusionar habilidades de ambos caminos?

¿Se puede aplicar ingeniería inversa a un software / programas?

¿Cuál es el costo de desarrollar aplicaciones de Android e iOS como Umano en India?

Un amigo argumenta que los campos de entrenamiento, los MOOCS y los libros se consideran 'bombas y vertederos' en lugar de ofrecer una educación formal en CS. Si paso por MOOCS intensivos y campamentos de entrenamiento, ¿realmente me estoy engañando?

¿Es posible verificar formalmente todos los tipos de software?

¿Cuál es el número máximo de transistores en un solo chip (hasta la fecha / hasta ahora)?

Ingeniería de software: si una función tiene controles / condicionales y no está claro para qué sirven, ¿cómo podemos mejorar este patrón?

Después de estar en la profesión académica durante 2 años, ¿es posible pasar a la industria del software?

¿Cuáles son las diferencias exactas entre estos términos: infraestructura de software, plataforma y marco?

¿Cómo comienzas a construir software desde cero? ¿Qué idioma uso? Si quiero que el programa pueda integrarse con otros, ¿qué debo considerar? ¿Dónde puedo aprender todo lo básico?

¿Por qué los gerentes de ingeniería en las compañías de software son tan particulares sobre la cantidad de años de experiencia durante la contratación?

¿Cómo es el futuro de la gente de software en Alemania, especialmente en tecnología Java?

¿Cuál es la mejor manera de abordar la lectura de un gran código fuente?