Se me ha encomendado la tarea de mejorar el proceso de desarrollo de software mediante la implementación de mejoras en el proceso, de las cuales probablemente utilizaremos CMMI for Development, Versión 1.3 como guía y adoptaremos las mejores prácticas en su totalidad o en parte. ¿Cuál es la mejor manera de introducir estándares y mejoras de procesos para minimizar el grado de retroceso y resistencia de los desarrolladores?
10
Respuestas:
También ayudará si encuentra a todas las personas dentro de su organización que están realmente preocupadas por la calidad. Probablemente, ese sería el recurso más importante que lo ayudará a promover cambios y establecer prácticas maduras.
fuente
Un par de pensamientos de la escuela de golpes duros:
1) La mayoría de las iniciativas de mejora de procesos dedican el 80% de su tiempo al diseño de procesos y el 20% a educación y socialización. Voltear estos porcentajes. Un estándar mediocre que se sigue supera a uno perfecto que no lo es.
2) Identifique razones claras por las que le pide a las personas que cambien su forma de trabajar. ¿Cuál es el caso de negocios? Idealmente beneficia a cada equipo individualmente. A veces es solo una mejora sistémica. De cualquier manera, haz que el caso sea visible.
3) Simplifique, luego estandarice, no al revés.
4) No puede delegar completamente esto a un PMO. Los gerentes directos deben ser comprados, y el jefe de la unidad de negocios deberá romper los lazos cuando lleguen las quejas.
5) Encuentra los primeros adoptadores amigables. La gente se quejará de cuánto tiempo lleva todo. Necesitas a alguien a quien puedas señalar y decir, "solo les tomó 15 minutos"
6) Para las métricas, presione duro para cuantitativo sobre cualitativo. De lo contrario, tiene proyectos que son ecológicos hasta un día antes de Go Live, cuando todo pasa un mes.
7) Enfatizar las técnicas sobre las herramientas. Una buena planificación es más importante que MS Project.
8) Poner en un nivel de proceso relativo a las necesidades. Cada restaurante necesita un proceso, pero Nobu y French Laundry necesitan un tipo diferente al de McDonalds. Lo mismo con las empresas de software.
¡Buena suerte!
fuente
Probablemente sea una buena idea basar sus esfuerzos en el CMMI, incluso si no se somete a las evaluaciones y es auditado y calificado formalmente. Hay mucha literatura disponible sobre CMMI , CMMI y otras técnicas de mejora de procesos como Lean y Six Sigma , y CMMI y desarrollo de software ágil . El SEI tiene una colección completa de recursos , algunos disponibles de forma gratuita, sobre diferentes aspectos de CMMI y orientación para diferentes tipos de organizaciones.
Recomiendo mirar en profundidad el enfoque continuo para implementar CMMI, en lugar del enfoque por etapas. Me parece una forma mucho más eficiente de determinar exactamente dónde se encuentra su organización ahora y mejorar en las áreas que agregan el mayor valor comercial. Esto le permitirá no solo alinear sus esfuerzos de mejora con los objetivos comerciales, sino también alcanzar rápidamente los hitos de progreso y demostrar los efectos de la mejora, aumentando la aceptación de todos los niveles.
Sin embargo, algo a tener en cuenta es que la mejora del proceso generalmente es más exitosa cuando se trata de un esfuerzo de base. Cuando los cambios en el proceso son dictados desde arriba, por personas que los desarrolladores "en las trincheras" podrían ver como fuera de contacto con la forma en que se hacen las cosas en las trincheras, probablemente habrá retroceso, incluso si la idea es buena. Prepárate para esto.
Algún tipo de grupo de procesos de ingeniería también podría ser beneficioso. Reúna a representantes de los diversos componentes y equipos de la organización afectados por la mejora para que se escuche la voz de todos. Esto incluiría no solo representantes de cada función, sino quizás varios equipos de desarrollo de productos. Sin saber cómo está estructurada su organización, no puedo decir exactamente a quién le gustaría mirar, pero sí incluir a personas de todos los niveles de la organización en el grupo. Además, ponga a disposición de la organización las discusiones y decisiones tomadas por este grupo para comentarios y plantear cualquier problema.
fuente
Para cada cambio:
Obviamente, el análisis debe realizarse con el tiempo, pero no debe aceptarse ningún cambio hasta que se demuestre que es efectivo. Esa es también la razón por la que implementaría no más de 2-3 cambios por ciclo; de lo contrario, a menudo no se puede medir si hubo una mejora o no.
Nada me irrita más que seguir ciegamente las mejores prácticas sin hacer el análisis para demostrar que en realidad es una mejor práctica para su entorno. Una mejor práctica que no demuestra mejoras es, en el mejor de los casos, un derroche y, en el peor, un daño.
Todos los pasos en su proceso y todas las prácticas en metodología deben analizarse y probarse como beneficiosos. Si no es así, debe eliminarse. Este análisis debe realizarse de manera continua, independientemente de agregar o eliminar pasos o prácticas.
fuente