¿Cómo puede un gran número de desarrolladores de software escribir juntos sin que sea un proceso engorroso o la mala calidad del software?

StackOverflow https://stackoverflow.com/questions/2866762

Pregunta

Yo trabajo en una empresa con cientos de personas que escriben software para esencialmente el mismo producto. La calidad del software tiene que ser alta porque muchas personas dependen de ella (no menos los propios desarrolladores). Debido a esto cada problema importante ha resultado en un nuevo cheque -. Ya sea automatizado o manual

Como resultado del proceso de entrega de software se está convirtiendo cada vez más gravosa. Por lo que requiere más desarrolladores, que ... así se puede ver que es un círculo vicioso.

Ahora tenemos un problema con la liberación de software de forma rápida -. El tiempo de espera incluso para cambiar una línea de código para un problema muy grave es al menos un día

¿Qué técnicas utilizas para acelerar la entrega de software en una organización grande, manteniendo al mismo tiempo la calidad del software?

¿Fue útil?

Solución

También funciona en una gran organización y engorroso. He tenido éxito implementar varias ágiles de desarrollo de software metodologías, pero hay dos en particular que me han encontrado que es especialmente valiosa.

iterativo e incremental de desarrollo - Mantenga su corto ciclo de lanzamiento y apretado. A través de un equipo grande, si numerosos cambios se hacen en entre versiones, puede encontrarse en una pesadilla integración.

Las grandes organizaciones se inclinan hacia los planes de proyectos grandes con las líneas de tiempo de desarrollo muy largos. Luchar contra esto. La planificación de un proyecto a cabo todo un año no tiene sentido cuando toda su percepción podría cambiar después de las dos primeras semanas de desarrollo. Condición de sus grupos de interés para acostumbrarse a la idea de hacer pequeñas versiones incrementales y adaptarse a las siempre cambiantes necesidades.

Pruebas unitarias automatizadas - Esta es una gran manera de asegurarse de que está liberando la calidad del software. Los peores errores son causados ??por cambios en el código aparentemente inocentes que tienen consecuencias no deseadas en otros lugares. pruebas unitarias completas son tal vez la mejor manera de detectar este tipo de error. Si se puede graduar a basado en pruebas desarrollo o comportamiento impulsado el desarrollo , aún mejor.

Cualquier gran organización va a tener algunos desarrolladores mediocres. Es un hecho de la vida. la unidad de pruebas automatizado es una gran manera de mantener un ojo sobre ellos. Tienen uno de los mejores desarrolladores escribir su unidad de pruebas para ellos. Usted tendrá la seguridad de que al menos sus obras de código (aunque sea feo).

Otros consejos

Hay muchas maneras de mejorar el proceso, pero el componente clave es modularidad . Al separar claramente las responsabilidades (tanto en el código y en la organización) y la definición de las interfaces claras y consistentes, un equipo grande puede trabajar como muchos equipos pequeños implicado todo juntos.

Wise pero sombrías palabras;

Algo que el trabajo de fuerza:

Organizar el proyecto de manera que hay un uso de la base construida por una o dos personas, preferentemente funcionando a través de una lengua. Luego dejar que todos los programadores sean efectivamente usuarios del núcleo, codificando en ese idioma.

Estoy pensando en productos basados ??en el lenguaje: SAS , < a href = "http://en.wikipedia.org/wiki/S_%28programming_language%29" rel = "noreferrer nofollow"> S / R , MATLAB , etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top