¿Cuál es la forma mejor y más fácil de crear o generar una lluvia de ideas de arquitectura de una aplicación?

No necesita Word / PowerPoint para hacer eso. Estas herramientas aparecen después de haber desarrollado algunas ideas básicas de arquitectura. Te ayudan a documentar y compartir.

Primero, ir al requisito de lluvia de ideas: para hacer una lluvia de ideas de diseño arquitectónico, debe tener un pueblo. Más específicamente, necesita un equipo de personas inteligentes. Y el equipo tiene que ser diverso en términos de experiencia, habilidades, edad, etc. Necesitas diversidad porque esa es la mejor manera. Recuerda que tener 11 Ronaldos en un equipo no te llevará a la copa del mundo.

Pasar a la arquitectura de aplicación real: para construir una arquitectura, debe definir qué significa ser una buena arquitectura. Algunos de los atributos principales de una buena arquitectura son:

  1. Escalabilidad
  2. Mantenibilidad
  3. Capacidad de aprendizaje
  4. Trazabilidad
  5. Menor complejidad
  6. Interfaz magra y mínima

Dependiendo de los requisitos de la aplicación y del negocio, otros factores como portabilidad, escala distribuida, etc. entrarían en juego. Una vez que haya definido las características de su arquitectura y lo que más le importa, puede continuar con la discusión.

Para debatir, deberá establecer algunas pautas y estándares. Por estándares, me refiero al vocabulario que todos en su equipo entenderán. Sin un vocabulario tan simple y común, el equipo no podrá comunicarse o generar ideas fácilmente. Y una comunicación menos efectiva es la razón más importante detrás de muchos proyectos fallidos.

Para definir el vocabulario, puede comenzar con algunas herramientas de modelado ya existentes. UML es una de esas herramientas populares. Pero UML es bastante grande y engorroso. He visto a personas alejarse de UML hacia soluciones más sencillas y simples como CRC (colaborador de responsabilidad de clase), diagramas de flujo, diagrama de flujo de datos, etc. Dependiendo de la capacidad de comodidad, se eligen métodos / métodos particulares.

Finalmente para hacer todo esto, realmente no necesitas software. Lápiz y papel es todo lo que se requiere. Cuando necesite una lluvia de ideas con el equipo, es posible que necesite usar pizarra y marcador.

Pero eventualmente llegará un momento en el que necesitará documentar toda su investigación. No hay nada que pueda vencer al software. En ese punto, no habrá ninguna excusa para no usar software. Use cualquier cosa con la que se sienta cómodo. Pero el punto es documentarlo.

Varios proyectos no documentan estas decisiones de diseño. Más tarde, cuando cambian los requisitos comerciales, se critican estas decisiones de diseño sobre arquitectura. Entonces todos culpan al marco / arquitectura. Sin embargo, si documenta estas decisiones, existe la posibilidad de que las personas las comprendan en lugar de criticarlas. Muchos proyectos no hacen esto y sufren de este síndrome.

Se necesita más documentación porque el equipo no permanece constante durante el período del equipo. Entran nuevas personas, otros miembros del equipo se van y la documentación es un instrumento clave para proporcionar una manera de compartir el conocimiento y mantener la armonía.

En resumen, entienda el problema, los requisitos comerciales y comience a pensar en la arquitectura. Discutirlo. No necesita Word / PowerPoint para pensar …

Hola, gracias por A2A
Hice un par de aplicaciones por mi cuenta.
Mi perspectiva al iniciar cualquier aplicación sería la siguiente.

1. La primera que me preguntaré es “Lo que quiero construir o crear”. Cómo es realmente útil para el usuario final.
2. quiénes son mis competidores externos y qué hace que mi producto sea único para ellos.
3. ¿Cuáles son las características adicionales que voy a implementar que reducirán la complejidad en el acceso a la aplicación?

4. Para el proceso de diseño, uso papel y lápiz. Me siento a gusto con ellos. puedes usar pizarra o alguna otra cosa.
5.clear con el flujo de aplicación en el diseño.
6. Clasifique cada componente del diseño como módulo.
7. Si cree que el módulo es grande, córtelos en tareas y subtareas más.
8. Cree una fecha límite para cada subtarea que divida y siga estrictamente esos plazos.
9. Si cree que alguna tarea le impide realizar (puede ser técnicamente o algo así), cambie a la siguiente si no tiene dependencias.
10. Complete una ronda de diseño de aplicaciones y suéltelo en el mercado.
11. Comprenda el comportamiento del usuario en su aplicación.
12. Cambie y agregue algunas características según sea necesario en base a 11 pasos.

No piense en escalar, presupuesto, etc. en las etapas iniciales. Intenta dar lo mejor posible con tus límites (financieros y técnicos). Entonces puedes improvisarlo una vez que obtengas buenos ingresos.

Nota: Si alguien siente que algo necesita agregar o cometer declaraciones incorrectas a continuación, para que improvise myslef en el diseño.

No use herramientas técnicas cuando haga una lluvia de ideas.
Reúna a algunas personas calificadas en una habitación. Comparta una gran pizarra para que todos puedan explicar ideas y modelos fácilmente a los demás.

Una vez que llegue a una conclusión, póngalo en la pizarra, obtenga consenso o al menos un acuerdo en el equipo, fotografíe la pizarra y haga que alguien haga el aburrido trabajo de dibujar el modelo después. Si usa herramientas técnicas durante la lluvia de ideas, las herramientas se interponen y la discusión es severamente limitada.

Me gusta usar algo simple y ordenado como OmniGraffle (Mac) para dibujarlo.

Después de probar muchas herramientas y sistemas, llegué a la conclusión personal de que usar un tablero de dibujo simple es lo mejor para las discusiones y las sesiones conmovedoras . Es flexible y nada se interpone en el camino. El uso de herramientas de software mientras se realizan debates ralentiza todo el proceso. La mayoría de las herramientas basadas en computadora son buenas para documentar la arquitectura para futuras referencias.

Si eres purista, entonces Enterprise Architect es muy útil. La captura de arquitectura requiere aprender muchos tipos de diagramas de arquitectura y habilidades UML. Una buena comprensión de varios patrones arquitectónicos es esencial para alguien que aspira a ser un gran arquitecto de software.

El enfoque más fácil es dibujar un diagrama de flujo de datos, marcar el plano que ayudaría a construir la funcionalidad. En las aplicaciones web, primero crea una base de datos ordenada, es decir, normalizando hasta 3NF o BCNF (eliminando los problemas que podrían surgir sin una estructura adecuada de las bases de datos). Una vez que lo haya superado, puede visualizar las funciones y la interfaz de su aplicación. Por lo general, el desarrollo de back-end y front-end van de la mano.
En el caso de que esté desarrollando para dispositivos móviles o de escritorio, debe identificar las funciones que realizará su aplicación, optimizar su algoritmo para obtener resultados más rápidos y luego comenzar a codificar para el front-end.

La forma más fácil de entender la arquitectura es a través del diagrama de flujo de datos. En una pizarra, dibuje un diagrama de flujo de datos que represente el flujo de información en su sistema y las entidades involucradas.

Una vez que comprenda cómo fluye la información a través de su sistema y cómo las personas interactúan con la información, le será más fácil comprender la arquitectura de su aplicación.

Si usted y su equipo tienen tiempo para reunirse todos al mismo tiempo, entonces, por supuesto, use una pizarra y planifique (puede ser necesario un café)
De lo contrario, intente colocar un documento en Google Drive y colabore a través de él, donde todos coloquen sus ideas seguidas de sus iniciales, por supuesto.
Pero ya sabes, la mejor manera es estar todos juntos, terminarás más rápido.
Use MS Visio para planificar

para arquitectura, usaría mapas mentales.

Puede tener un nivel de áreas de alto nivel, con opciones de cada una, y luego notas sobre cada opción, pros / contras, etc.

La naturaleza desestructurada es realmente buena para obtener la información en el formulario que necesita.

Utilice cualquier herramienta de estructura de alambre gratuita para diseñar un flujo y el 50% de sus dudas y planificación se resolverán en ese instante.