¿Cómo se crea un proceso de software para un proyecto?

13

Como he escrito en otras preguntas aquí, el proyecto en el que estoy trabajando ahora no tiene proceso de software. Eso significa que no hay documentación (incluidos los requisitos o la especificación de la copia impresa) , no hay control de origen , no hay base de datos de errores, los errores se "arreglan" (con suerte) y se agrega nuevo código al mismo tiempo, y no hay probadores formales: fallaremos la prueba de Joel tan malo que ni siquiera es gracioso.

Ayer, mi gerente me pidió que escribiera un documento sobre cómo comenzar a corregir estas deficiencias. Tenga en cuenta que solo soy un interno, aquí durante 6 meses. Me iré alrededor de Acción de Gracias en noviembre para volver a la escuela. Sin embargo, creo que tal vez pueda hacer que este proyecto avance en la dirección correcta, pero no estoy seguro de dónde comenzar. Actualmente estoy usando CiteSeer y Wikipedia para tratar de encontrar algunos documentos que describan los procesos de software y los implementen, pero cualquier consejo, experiencia personal o enlaces a blogs, artículos, artículos wiki o cualquier otra cosa sería muy apreciada.

Thomas Owens
fuente
Proceso bueno-rápido-barato: cuando un proyecto se atrasa, reduzca el proceso.
ChuckCottrill
2
¿Cómo esto resultó?
Robert Harvey

Respuestas:

10

Te sugiero que busques en la programación ágil.

Hay muchas variantes, pero tienden a tener algunas cosas en común:

  • Revisión periódica y priorización de funciones.
  • Integración continua y pruebas unitarias automatizadas.
  • Concéntrese en la comunicación sobre la documentación (en la práctica, esto significa documentación de estilo wiki a medida que avanza sobre especificaciones inflexibles enormes escritas de antemano).
  • Estimaciones flexibles que resultan en gráficos quemados y métricas de velocidad.
  • Prototipos regulares que se revisan en más de 200 especificaciones de página con cierres de sesión.
  • Calidad en origen, o lo más cerca posible.
  • Revisión periódica de los interesados: una extensión para comprender a sus clientes.
  • Lleve el software al mercado (y gane dinero) lo antes posible.
  • Comunicación directa tanto como sea posible.

Un buen lugar para comenzar sería MSF Agile o Scrum .

Keith
fuente
7

Dada la situación, su ausencia en 6 meses y el equipo no comenzará ningún proceso, limitaría el alcance de lo que presenta a una o dos cosas que pueden implementarse razonablemente y tomarse el tiempo que esté allí. Si fuera yo, echaría un vistazo a una herramienta de control de fuente y un rastreador de errores.

La razón por la que comenzaría allí es porque establecer estas herramientas lo ayudará a establecer una línea de base para el desempeño actual de los equipos y posiblemente identificar problemas recurrentes. Los cambios en el proceso son agradables, pero estos son los elementos básicos que deben implementarse primero.


fuente
Sí, planeo limitar el alcance de lo que hago, pero también quiero dejarles una hoja de ruta para que no se pregunten qué hacer a continuación, especialmente si las cosas comienzan a mejorar.
Thomas Owens
@Thomas Owens Creo que es loable que quieras dejar una hoja de ruta para el equipo después de que te hayas ido. Sin embargo, es poco probable que alguien vuelva a consultar una hoja de ruta creada por un interno. Esto no es un reflejo de tus habilidades y destrezas. Siendo ese el caso, haría todo lo posible para poner los primeros pasos en su lugar. No subestimes el esfuerzo que tomará cambiar los hábitos y procesos de un equipo existente. De hecho, tratar de implementar tanto el control de origen como un rastreador de errores en seis meses puede ser más de lo que se puede hacer razonablemente.
Creo que se puede hacer. Este es un equipo de 5 personas, excluyéndome a mí. Dos son desarrolladores a tiempo completo, uno es un desarrollador a tiempo parcial en este proyecto y a tiempo parcial en otros proyectos, uno es un administrador y otro es un tipo de marketing. Ambos desarrolladores de tiempo completo están a bordo para un proceso y el gerente quiere ver mejoras para el rendimiento del equipo. No es que sea forzado contra su voluntad.
Thomas Owens
1

Utilizamos Prince2 para los procesos de gestión de proyectos, y funciona muy bien. Sin embargo, sugeriría que parecería tortuoso para una empresa sin gestión de proyectos.

ColinYounger
fuente
1

Solo para hacer eco de los sentimientos de algunos de los anteriores, aquellos equipos que no tienen estructura encajarán mejor con una estructura ágil. Obtenga el control de la fuente hoy, simplemente comience a colocar sus cambios en SVN y muestre a algunos de sus desarrolladores una diferencia cuando esté buscando errores. Comience a agregar registros de revisión. Si no pueden ver los beneficios y la facilidad de uso de SVN, están condenados.

Johnno Nolan
fuente
0

Consulte estos artículos sobre Integración continua para la programación .NET utilizando MSBuild, CruiseControl.NET, FxCop, NUnit, NCover y Subversion ...

Desde las trincheras de desarrollo de software

Zack Peterson
fuente
1
@Zack: No utilizamos programación .NET. Estoy buscando consejos generales que se puedan usar en cualquier proyecto que use cualquier pila de tecnología. Cosas como elegir un modelo, implementar ese modelo, etc.
Thomas Owens