2009-06-12 20 views

Respuesta

12

Incluso como desarrollador individual, puede usar metodologías aplicadas a grandes equipos de desarrollo.

  • Escribe una especificación.
  • Diseño de un UML.
  • Haz un diseño de IU con lápiz y papel.
  • Prueba de pasillos: si espera una gran multitud, pregúntele a mamá si es fácil de usar.
  • Revisión por pares: puede crear equipos de revisión ad-hoc con otros desarrolladores individuales.
  • Mantenga un calendario actualizado.
  • y así sucesivamente ...

I en solitario Desarrollo todo el tiempo, y estas prácticas me mantienen en línea con mi propio trabajo y doy mis jefes un gran recurso para saber lo que he hecho y lo lejos a lo largo de estoy. Y ellos me mantienen en el camino, para arrancar!

24

Casi cualquier metodología de desarrollo funcionará en un entorno individual, excepto para aquellos que explícitamente requieren un equipo (como la programación lado a lado). Pero incluso entonces podrías evitar eso simplemente creando algunos amigos/compañeros de equipo imaginarios o desarrollando un desorden de personalidad múltiple.

+10

+1 por lol factor. –

+0

El trastorno de personalidad múltiple no sería el más eficiente porque nunca serías capaz de realmente sentarte y trabajar con tus compañeros de equipo. Tendría que enviar continuamente correos electrónicos a los otros miembros del equipo o dejar mensajes de voz. Sería como comunicarse con los miembros del equipo, todos en diferentes zonas horarias. – TheTXI

+0

No sé después de ver a Jekyll en la BBC. Creo que podría hacer una mierda seria si tuviera eso. ¿Dónde firmo? –

1

La cuestión es más una cuestión de lo que usted se sienta cómodo y qué problemas espera resolver La mayoría de las metodologías son utilizadas por un desarrollador solo en algún momento (la programación de pares es una excepción notable). El problema es ¿estás realmente solo o trabajando solo? He descubierto que es invaluable tener personas con las que pueda compartir ideas. Además, tener a alguien más para mirar su código (revisión por pares) es una gran manera de encontrar problemas que simplemente no puede "ver". Así que para estar de acuerdo con Aiden Bell "La programación en su teléfono es desagradable". Intentaré conectarme con una comunidad (como SO) donde puedes compartir ideas con otras. Luego, debe desarrollar su metodología de forma tal que permita interrupciones cuando envíe una idea.

¿Tiene sentido? ¿Por qué estás programando solo?

Pat O

1
No

realmente una metodología oficial, pero he hecho un montón de desarrollo en solitario (consultor independiente y ISV), y aquí están las cosas que he encontrado son importantes:

  • encontrar una organización en línea (como oisv.com) para compartir pensamientos y las ideas
  • Asegúrese de que se tome tiempo para interactuar con la gente reales en el mundo real
  • objetivos del proyecto conjunto, plazos, y hitos tiempo
  • tardaría en hacerlo apropiada por adelantado diseño y proyecto de planificación
  • fijar las horas de trabajo a un lado se adhieren a ellas
  • No trabaje demasiado y quemarse cabo
  • Nada es nunca perfecto, así que se esfuerzan por buen código que funciona, no perfección
  • Obtener algunas aficiones no programación
9

Muchas técnicas ágiles gran trabajo en solitario:

  • entrevistas e historias de los usuarios: Si usted no sabe lo que los usuarios quieren, ¿por qué su software sea útil?
  • Una simple especificación: O incluso simplemente sea una declaración de misión. "Permita que las personas transmitan mensajes cortos a sus listas de suscriptores". "Usar en grado para ordenar los resultados de búsqueda en Internet". "Permita que las personas respondan en colaboración las preguntas de programación". Lo que sea.
  • Una lista de tareas pendientes estrictamente ordenadas: Útil para evitar que se ahogara en sus pensamientos.
  • Tangents log: Una buena lista de tareas tiene un componente "no hacer", por lo que no se obsesiona con cosas que no va a hacer (todavía).
  • YAGNI: Manténgase en el blanco. Esto es muy importante cuando trabaja solo, porque nadie está allí para decirle "¡No, no reinvente la escritura dinámica en Java! Regrese al proyecto". To-don't enumera ayuda con esto.
  • Desarrollo basado en pruebas: Escribir pruebas lo obliga a pensar en el resultado final, en lugar de atascarse en los detalles de implementación. De todos modos te enredarás bastante; no hay necesidad de empeorarlo.
  • Comunicados frecuentes: Cumpla con las fechas de entrega. "tendremos una versión de función completa que incluye historias de usuario para el viernes 1-4 No se conectará a la red o guardar datos en el disco, pero XYZ ...."
  • prueba usuario: Haga que sus amigos miren lo que hace en un horario decentemente frecuente, tal vez una vez al mes, tal vez cada semana, dependiendo de cuántos amigos tenga y de cuánta cerveza/pizza desee alimentar. Preste mucha atención a lo que dicen, hacen y piensan al usar el software.

Y otras cosas que sólo parecen que tienen sentido en grandes proyectos puede ayudar mucho:

  • control Fuente: Instalar git. Es hueso simple. Úselo. No te obsesiones con eso.
  • Copias de seguridad fuera de sitio: Ya sabes. En caso de incendios o inundaciones en el hogar.
  • Un blog: Pero solo se permite escribir allí cuando salga un lanzamiento. ;) También te ayuda a construir una audiencia para tu producto incluso antes de que salga.

Espero que ayude! La programación en solitario en un proyecto grande puede ser muy desalentadora.

+0

lmao YAGNI ... Comenzó con un regexp ... luego Bison ... luego una máquina virtual ... ¿No estaba escribiendo simplemente una aplicación web? –

+0

+1 para TDD y la lista de tareas pendientes. –

1

Esto es más un truco que una metodología. Cuando estés depurando, explica los errores en voz alta para ti mismo como si estuvieras tratando de explicárselo a un compañero de trabajo. Se siente tonto, pero forzarse a sí mismo a articular el problema en voz alta a menudo revela cuál es el problema.

Cuestiones relacionadas