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:
- Si construyo mi propia aplicación web compleja (Django) copiando y ajustando pequeños fragmentos de código tomados de 100 aplicaciones simples diferentes escritas por otras personas, ¿puedo considerarme un programador? ¿Por qué? Por qué no?
- ¿Cuál es la forma preferida de estructurar las aplicaciones web de Golang?
- ¿Una buena comprensión de JavaScript (junto con HTML / CSS) y las bibliotecas basadas en JavaScript serán suficientes para que un desarrollador siga una carrera en el desarrollo de aplicaciones / web?
- Estoy aprendiendo la plataforma Java EE 7. ¿Con qué servidor de aplicaciones (web y EJB) debo familiarizarme para que sea comercializable?
- Cómo comenzar a planificar la aplicación web
- Escalabilidad
- Mantenibilidad
- Capacidad de aprendizaje
- Trazabilidad
- Menor complejidad
- 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 …