¿5 cosas antes de comenzar un proyecto? [cerrado]


8

¿Cuáles son las primeras 5 cosas que haces antes de comenzar un nuevo proyecto?

¿Siempre pasas un día investigando nuevos marcos? ¿O usando productos similares o de la competencia?


8
¿Por qué 5 cosas? ¿Por qué no 3 o 7?
Wizard79

1
@Lorenzo Estoy de acuerdo en que es un poco arbitrario. Sin embargo, después de 5 las "cosas" se volverán demasiado "específicas del proyecto" y <5 limita demasiado el alcance.
rjstelling

Me gusta la respuesta de fishtoaster. Supongo que por "antes de comenzar" quieres decir "antes de comenzar el desarrollo" ... aunque es posible que quieras probar algunas cosas antes de decidirte por tecnologías específicas ...
Armand

Respuestas:


5

Esto depende bastante del proyecto. ¿Es este un proyecto que estoy comenzando con la intención de vender, o un proyecto para un cliente específico? Además, ¿qué constituye "comenzar"? ¿Eso es antes o después de reunir los requisitos? Sin embargo, una lista aproximada:

  1. Obtenga un contexto para el proyecto. Es decir, descubra lo que su cliente o usuario potencial está tratando de lograr y por qué. Si está creando un sistema de registro de hotel, por ejemplo, qué tiene de malo las opciones OTS.

  2. Reúna los requisitos. Reunirse con las partes interesadas. Reunirse con los usuarios. Reúnase con cualquiera que tenga algo que decir en el proyecto, si puede. Observe las soluciones existentes que este proyecto reemplazará, ya sea que el cliente esté utilizando o que existan en el mercado. A partir de ahí, escríbalo todo en un lenguaje no técnico como pueda: un buen documento de requisitos debe describir lo que se debe hacer, pero no cómo hacerlo. Luego discuta este documento con el cliente e itere hasta que estén de acuerdo con él. Este paso puede ser menos formal para proyectos más pequeños (posiblemente incluso completamente verbales).

  3. Comienza a tomar decisiones técnicas. Elija los idiomas, marcos, ORM, bases de datos, etc. que mejor resuelvan el problema, ya sea que esto signifique quedarse con algo que usted conoce o aprender algo nuevo.

  4. Analizar los riesgos para este proyecto. Si se trata de un contrato gubernamental, es probable que desee un informe de riesgos encuadernado en cuero de 100 páginas. Si se trata de un proyecto de 3 hombres y 4 meses, podría estar bien con algunas notas en un archivo de texto o una hoja de cálculo. De cualquier manera, debe averiguar qué puede salir mal con el proyecto, qué tan probable es que suceda, cuánto le dolerá y qué va a hacer para prepararse, manejarlo y / o mitigarlo. efectos después del hecho. Uno común, por ejemplo, es "Uno de los desarrolladores es atropellado por un autobús, se detiene, se enferma, etc." Por lo tanto, puede mitigar eso mediante la programación de pares para compartir conocimientos, utilizando buenas prácticas de control de fuente para mantener el código centralizado, etc. En general,

  5. Configura la tecnología. Es el tipo de cosas que nadie quiere hacer una vez que estás en el proceso de codificación, así que configura tu repositorio, tu servidor de compilación, tu sistema de compilación, tus wikis, tu rastreador de errores o lo que sea que quieras usar para tu proyecto.


3

Solo voy a responder esta parte de la pregunta, porque es la única parte con la que me puedo identificar:

¿Siempre pasas un día investigando nuevos marcos?

No. Dudo seriamente que incluso pueda funcionar ... ¿Cómo podría alguien investigar nuevos marcos en solo un día, antes de cada proyecto, y aprender algo relevante? Simplemente no sucede de esa manera. En cambio, paso parte de mi día, todos los días, investigando diferentes tecnologías (no solo nuevos marcos). Investigar no es algo que hago cuando lo necesito. Es algo que hago todo el tiempo y ya está ahí cuando necesito que esté allí. La programación es divertida, por eso estoy en este negocio. No puedes evitar que pruebe cosas diferentes todos los días.

¿Un escritor pasa un día recolectando ideas antes de comenzar un nuevo libro?

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.