Estamos en el proceso de planificación para una reescritura de una de nuestras aplicaciones fundamentales. Está basado en la web, y estamos bloqueados en PHP. Sin embargo, no es un sitio web 2.0. Está más cerca de una aplicación empresarial.Edición de equipo de arquitectura y marco
No es de ninguna manera simple. Hay al menos 2 interfaces principales (creo que hay 4, pero ese es otro tema). Necesita ser altamente configurable y altamente personalizable. Esperaría entre 50 y 200 instalaciones por año, por lo que la facilidad de mantenimiento es una gran preocupación.
El problema viene en la arquitectura. Primero quiero hacer una arquitectura formal de alto nivel. Antes de nada. Después de eso, elegiríamos un marco adecuado (uno que se ajuste a la arquitectura) o seleccionaremos uno y lo usaremos como un conjunto de bibliotecas. Siento que esta metodología garantizará un sistema viable a largo plazo (ya que al menos se considera la arquitectura completa)
Sin embargo, el resto del equipo quiere elegir primero un marco (quieren usar YII) y omitir el arquitectura de alto nivel completamente. Su argumento es que el marco hizo primero la arquitectura de alto nivel y permite "comenzar a codificar".
Básicamente, creo que esto es como poner el carro antes que el caballo, o construir su casa sin cimientos sobre un pozo de lodo. Sé que este punto de vista es popular en los días posteriores al ROR de rápido desarrollo de aplicaciones, ya que se puede hacer más rápido. Pero realmente temo que para una aplicación central de misión crítica, esto sea corto de miras en el mejor de los casos (y negligente en el peor).
Realmente temo que vayamos por el camino equivocado.
La dirección me considera un desarrollador sénior. Entonces, técnicamente, puedo anular a la mayoría de los demás. Pero no estoy por encima de ellos, así que en la práctica hacerlo sería malo. Mot para mencionar que hay una gran barrera del idioma (hablan polaco, hablo inglés).
Y creo que debería mencionar que realmente no me gusta la mayoría de los frameworks RAD PHP. No porque sean malos de ninguna manera, sino porque tienden a (IMHO) imponer la mentalidad de que la arquitectura no es importante, ya que lo hacen por usted. Sin mencionar que, por lo general, quieren que trabajes a su manera (Rails es famoso por eso) en lugar de una forma que tenga sentido para el proyecto en cuestión. Por lo tanto, normalmente solo uso un marco como un conjunto de bibliotecas. Usar las clases cuando tienen sentido, y construir las mías cuando los requisitos del proyecto así lo exigen).
Así que mis preguntas son las siguientes:
- Estoy en lo cierto en mi preocupación? ¿O tienen razón y estoy reaccionando demasiado?
- Si estoy en lo cierto, ¿hay algún consejo sobre cómo manejar la situación?
- ¿Cómo puedo poner al equipo de mi parte sin provocar un motín?
Gracias! Creo que tendré que pedir ese libro. Y no podría estar más de acuerdo con tus pensamientos en esa publicación de blog ... – ircmaxell