Somos un pequeño equipo que está a punto de comenzar a desarrollar una versión localizada de una aplicación web estadounidense exitosa en Corea, utilizando RoR.
Nuestra pregunta es: ¿Qué proceso recomendaría que usemos para desarrollar la aplicación?
¿Deberíamos comenzar con los modelos de datos? Las vistas en HTML y luego codificarlas? ¿Tomar una característica única, desarrollarla y luego agregar características adicionales según sea necesario?
Algunos detalles más sobre el proyecto:
- es una aplicación web para propietarios de pequeñas empresas
- incluye las funciones habituales de gestión de documentos de administración de informes de panel de control de crm que la mayoría de las aplicaciones de negocios pequeños tienden a tener
- El tamaño del equipo es inicialmente de 2 personas: un programador y un diseñador / gurú de CSS (solo un codificador)
- El nivel de experiencia es medio. buen conocimiento de Git, Ruby, Rails y XHTML / CSS, menos experiencia con problemas de implementación. este es el primer proyecto de este tipo que estamos haciendo juntos como equipo
El mayor problema que tendrá es administrar las actualizaciones del producto principal: deberá fusionar sus cambios en él si desea mantenerse al día con sus lanzamientos. Todos los otros factores son irrelevantes en mi humilde opinión.
Por lo tanto, asegúrese de tomar el producto principal, luego haga una copia para trabajar. Cuando lancen una nueva versión, actualice su original con la suya y luego podrá ver los cambios que han realizado y combinarlos con los suyos. Refactorizar el producto es un problema muy importante: no lo haga, ya que cada archivo nuevo dificulta las cosas para ver dónde ocurrió el cambio del original. También es más fácil si puede mantener sus cambios en archivos separados.
De lo contrario, para el desarrollo lo haría característica por característica, entonces tiene una buena manera de probar que funciona antes de pasar a la siguiente característica. Intentar todo de una vez es mucho más difícil. Mantenga un sistema de prueba en su lugar para que pueda liberar cada característica y asegurarse de que funcione (es decir, en una caja que no sea del desarrollador)
fuente