Este es un tema tan amplio con tantas variables que no estoy seguro de que pueda responderse adecuadamente en Quora. Como otros han mencionado, es una buena idea tener una idea básica de su IU primero. Wireframes puede ayudar con esto. Le permiten hacer un diseño básico sin entrar en el CSS y HTML real.
Luego, dependiendo del lenguaje de programación y la plataforma en la que codificará, es probable que desee planificar su código, como las clases / controladores de back-end y cómo se relacionan entre sí, o con su base de datos, y cómo funcionarán sus tablas estar relacionados el uno con el otro. Algunos lenguajes usan un enfoque de Código Primero, y otros usan un enfoque de Datos Primero, y algunos ofrecen ambos. Personalmente, prefiero Python / Django, que utiliza un enfoque de tipo Code First. Usted construye su modelo y deja que Django construya las tablas y las relaciones. Si eres nuevo en programación, te sugiero usar uno de estos tipos de marcos. Django para Python, o Ruby on Rails para Ruby sería una buena opción.
Así que creo que el mejor consejo probablemente sería utilizar la metodología Agile. Ahora es bastante común en el campo y funciona bien. Agile anima a las personas a trabajar en períodos de 2 a 4 semanas llamados sprints, y se centra en la idea de ofrecer funciones a los usuarios. Entonces, piensa en proporcionar una función al usuario final y planifica tareas para ofrecer esa función. La función se denomina ‘Historia de usuario’ o ‘Elemento de la cartera de productos’. Asignarías una estimación de “esfuerzo” sobre eso, que es una suposición sobre lo complicada que es la tarea. Es común usar números de Fibonacci para estimar el esfuerzo. Luego divides esa historia de usuario en tareas individuales. En otras palabras, qué tareas necesita completar para cumplir con esta función. En la tarea, calcula cuánto tiempo le llevará completarla. Entonces podrías poner ‘6 horas’ en la tarea. La historia del usuario es el registro principal, con una conjetura genérica del nivel de complicación de la función, y las tareas tienen una estimación de la cantidad de tiempo que cree que le llevará codificar la tarea. Por lo tanto, una historia de usuario puede, y generalmente lo hace, tener múltiples tareas adjuntas. Cuando se completan y prueban todas las tareas, la historia del usuario se considera terminada y la función se puede implementar en su próxima versión. (generalmente al final de tu sprint)
- ¿Qué encuentran las personas experimentadas como el sitio de revisión más completo para alojamiento web?
- ¿Es mejor codificar todo desde cero o usar un marco? (El tiempo no es un problema)
- ¿Cuál es la mejor manera de averiguar si mi desarrollador ha utilizado AngularJS en el sitio web como me lo prometió? No soy un desarrollador web. ¿Hay algún truco del navegador que pueda usar para asegurarme de que el sitio web esté construido con AngularJS y PHP (ese era el requisito)?
- ¿Por qué ha surgido el triángulo HTML / CSS / JS en lugar de un lenguaje de desarrollo web universal?
- Cómo vincular mi Ecwid a mi sitio web Weebly
Digamos que desea agregar una función a su sitio para permitir que las personas dejen un comentario o algo. Tendría una historia de usuario con una descripción similar a “Como usuario, quiero tener la capacidad de dejar comentarios en la página de opinión”. Podría poner una estimación de esfuerzo de 5. Luego, podría adjuntar tareas similares a esta:
- Configure el punto final “Publicar comentario” en SomeProject.SomeController. El ID de usuario y el comentario se deben proporcionar en la POST. 2 horas
- Cree la tabla ‘Comentarios’ en la base de datos con clave externa para la tabla ‘Usuarios’. También debe contener un campo ‘DateOfComment’ (DATETIME) y un campo ‘Comentario’ (VARCHAR (MAX)). 1 hora
- Agregue un enlace a la página de opinión, que proporciona un cuadro de texto para que alguien agregue un comentario. Tener un botón ‘Enviar’ y ‘Cancelar’. Conecte esto en el controlador angular ‘Opinion’ para alcanzar el punto final desde la primera tarea: 4 horas
Tienes la idea. En otras palabras, asigna tareas a la Historia de usuario para lograr una función en su sitio y planifica cada paso de esta manera.
Trabajar en sprints de 2 semanas, y tomar las cosas característica por característica, y tarea por tarea, le permite mantener un enfoque modular. Las cosas no te respaldan tan mal como el enfoque de la cascada, y te permite tener lanzamientos frecuentes. Ahora, si está comenzando desde cero, es posible que no pueda tener de inmediato un enfoque basado en funciones. Obviamente, primero tendrá que diseñar su base de datos, interfaz de usuario y estructura del proyecto, pero igual usaría los sprints de 2 semanas y un enfoque de tareas. Comience con un conjunto de funciones muy limitado para su lanzamiento inicial, y luego agregue funciones adicionales después de 2 semanas de manera rápida.
Sin embargo, como dije, este es un tema muy amplio y profundo, y sé que aquí no hay suficiente información para avanzar por completo si usted no posee algún conocimiento de esto. Si ese es el caso, realmente no hay otra alternativa que saltar y mojarse los pies. La razón por la cual este enfoque se llama ‘Ágil’ es porque pretende ser flexible. En otras palabras, puede ajustar aspectos de la metodología para adaptarlos a lo que funcione para usted, según sea necesario. Sin embargo, hay mucho más en Agile que no he mencionado aquí. Puede ser una buena idea leerlo un poco si no está familiarizado con él. Además, existen muchas herramientas para administrar sus Historias / Tareas de usuario. Encontraría uno, ya que te hará la vida mucho más fácil. Usamos TFS, pero hay muchos otros. Buena suerte