Cómo probar mi de las partes interesadas y el administrador de mi software funciona?[cerrado]

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

Pregunta

Lo que hacen los ingenieros de software de encuentro tras otro stressfull liberación?Bien, lo primero que encontramos en nuestro grupo son los errores que hemos lanzado hacia fuera en el abierto.El problema más grande que nosotros, como ingenieros de software de encuentro después de un stressfull de liberación es de código espagueti, también llamado el gran bola de barro.

El tiempo y el dinero para perseguir la perfección rara vez están disponibles, ni deben.Para sobrevivir, debemos hacer lo necesario para conseguir nuestro software de trabajo y fuera de la puerta a tiempo.En efecto, si un equipo termina un proyecto con tiempo de sobra, gerentes de hoy en día son propensos a tomar eso como un signo de ofrecer menos tiempo y dinero a personas o menos la próxima vez.

Usted necesita para entregar software de calidad a tiempo y dentro del presupuesto

Costo:La arquitectura es una inversión a largo plazo.Es fácil para las personas que están pagando las facturas para descartarla, a menos que exista alguna tangible beneficio inmediato, con un impuesto write-off), o salvo que el excedente de dinero y de tiempo que pasa a estar disponible.Tal es raramente el caso.Más a menudo, el cliente necesita algo de trabajo por la mañana.A menudo, la gente que controlar y gestionar el proceso de desarrollo simplemente no considerar la arquitectura como una preocupación apremiante. Si los programadores saben que la mano de obra es invisible, y los directivos no quieren pagar por él de todos modos, un círculo vicioso en el que nace.

Pero si este era realmente el caso que cada una de ellas a largo plazo de proyectos de software eventualmente conducen siempre a una gran bola de barro.

Sabemos que no siempre sucede.¿Cómo ven?Porque la afirmación de que los gerentes no considerar la arquitectura como una preocupación acuciante es falso.Al menos hoy en día.Los gerentes en el campo de TI sabe muy bien que el mantenimiento es clave para el negocio.

el negocio se vuelve dependiente de los datos de la conducción.Las empresas se han vuelto depende críticamente de su software y las infraestructuras de computación.Existen numerosos sistemas críticos para la misión que debe ser en-el-aire veinticuatro horas del día, los siete días de la semana.Si estos sistemas se vienen abajo, los inventarios no puede ser comprobado, los empleados no pueden ser pagados, los aviones no se pueden enrutar, y así sucesivamente.[..]

Por lo tanto, es en el corazón de la empresa para buscar maneras de mantener los sistemas lejos de la gran bola de barro.Que el sistema es todavía fácil de mantener.Que el sistema realmente funciona y que usted, como programador puede demostrar que hace.¿Su administrador de preguntar si usted ha terminado su codificación de hoy, no se preguntará si la liberación que se corrige a, B y C se puede hacer hoy en día o no se pregunte si el software que será lanzado realmente funciona?Y ha demostrado que funciona?Con qué?

Ahora mi pregunta:

¿Qué caminos tenemos que demostrar a nuestros gestores y/o partes interesadas que nuestro software funciona?Son las luces verdes de nuestro software-pruebas de unidad es lo suficientemente bueno?Si sí, no que sólo probar nuestra gran bola de barro sigue haciendo lo que esperamos que haga?Que el software es fácil de mantener?¿Cómo se puede demostrar que su diseño es el adecuado?

[Añade más adelante]

Chris Guijarro su respuesta a continuación está poniendo de mi equipo sobre la pista de la derecha.El Aseguramiento de la Calidad es definitivamente lo que estamos buscando.Gracias Chris.Tener una política de control de calidad de acuerdo con las partes interesadas es que el resultado lógico de lo que mi equipo está buscando.

La pregunta que es lo que todos deberíamos estar en esa política de control de calidad?

  • Tener que buildserver ejecutando visible para mi interesados
  • Tener la buildserver no sólo 'construir', pero la adición de pruebas que fueron parte de la política de control de calidad
  • Tener un acuerdo de mis partes interesadas en el proceso de nuestro desarrollo (donde los desarrolladores de revisión de cada uno de los otros código es parte)
  • más..

Algo más de información:El equipo estoy principal es la construcción de webservices que son consumidos por otros equipos de desarrollo de software.Es por eso que una ruptura webservice es inmediatamente cuesta dinero.Cuando los desarrolladores de la presentationlayer equipo, o en los probadores no se puede mover hacia adelante estamos en estrés inmediato y tiene que corregir los errores lo antes posible, que a su vez conducen a la rápida hacks..

[ añade más adelante ]

Gracias por todas las respuestas.En efecto, se trata 'de confianza'.No podemos hacer una liberación si el software no es de confianza por parte de los interesados, que están activamente de prueba de nuestro software mediante el uso de una página web que está consumiendo nuestro webservice.Cuando surgen problemas, la primera pregunta de nuestros probadores es:Es un servicelayer problema o una presentationlayer problema?Que me orienta a tener una política de control de calidad que garantiza que nuestro software está bien para las pruebas que están haciendo.

Así, la única manera en que puedo (ahora) prever la habilitación de confianza con los probadores es:- Hablar con la corriente de prueba del equipo, vaya a través de las pruebas que son capaces de ejecutar manualmente (de su prueba-guión y escenario) y asegúrese de que nuestro equipo tiene esas pruebas de unidad las pruebas ya comprobado en contra de nuestro webservice.Eso sería un buen punto de partida para un 'sign-off" antes de hacer un comunicado de que el presentationlayerteam ha de integrar.Tomará un poco de esfuerzo para aclarar que la creación de las pruebas automáticas para todos los escenarios va a tomar algún tiempo.Pero sin duda va a ser útil para asegurarse de que lo que construimos es en realidad el trabajo.

¿Fue útil?

Solución

Usted no puede probarlo más allá del alcance de las pruebas, ya menos que haya una especificación a prueba de balas (que nunca hay), entonces las pruebas nunca prueba nada más allá de lo obvio.

Lo que puede hacer como equipo es acercarse a su diseño de software de una manera responsable y no ceder a las tentaciones de escribir código malo para complacer a los administradores, exigiendo los recursos necesarios y las limitaciones de tiempo, y el tratamiento de todo el proceso tanto como sea un arte como un trabajo. Las mejores escultores renacentistas sabían que nadie podría ver las estatuas de espaldas a colocarse en las esquinas de las catedrales pero aún así tomó el esfuerzo para asegurarse de que no se vendían a sí mismos corto.

Como equipo la única manera de probar su software es fiable es la de construir una trayectoria: hacer las cosas correctamente desde el principio, corregir los errores antes de implementar nuevas características, no ceder a la solución truco rápido, y asegurarse de que todos comparte el mismo entusiasmo y respeto por el código.

Otros consejos

Soy parte de un equipo que está trabajando en un gran proyecto para una gubernamentales cliente.El primer módulo de la fase 1 fue un gran desastre, el equipo fue gestionado por la onu, no me cansaría de un equipo de control de calidad y los desarrolladores no estaban motivados para trabajar mejor.En lugar de ello, el gerente gritaba una y deducción de salarios para las personas que no trabajan horas extras!!

El cliente, eh, no te pregunte acerca de eso, ellos eran realmente cabreado, pero se quedaron con nuestra empresa, porque saben que nadie entiende la empresa como a nosotros.

Entonces, ¿cuál fue la solución:

  • La primera cosa separada de la gestión de los programadores, y poner un amistoso el líder del equipo.
  • En segundo lugar, obtener un calificado equipo de control de calidad.En las primeras semanas, los errores fueron en 100s.
  • Tercero, poner 2-3 desarrolladores como equipo de apoyo, no hay responsabilidad es no hacer ninguna tarea nueva, sólo la corrección de errores, trabajar directamente con la garantía de la calidad.
  • Cuarto, motivar a los chicos, a veces no se trata de dinero o extra vacaciones, a veces, una buena palabra será perfecto.Pequeño ejemplo, después de trabajar 3 días en la fila de casi 15 horas del día, el líder del equipo hizo una nota para el administrador.Dos días más tarde recibí una carta del consejero delegado dándome las gracias a mis esfuerzos y me da 2 días de vacaciones.

Muy pronto podremos entregar el 4º módulo del sistema, y como uno de los equipo de soporte se podría decir que su al menos el 95% libre de bugs.Que es un salto enorme desde nuestros primeros módulos.

Hoy en día contamos con un potente equipo de desarrollo, calificado de control de calidad y de expertos error fijadores.

Lo siento por la larga historia, pero eso es lo que nuestro equipo (durante 4 meses) demostró que el administrador y el cliente que estamos fiable, y sólo falta que el entorno adecuado.

En todos los casos, pero triviales, no se puede 'probar' que su software es correcta.

Ese es el papel de T ser CEPTACIÓN T teresante:. Para demostrar que un aceptable nivel de utilidad que se ha alcanzado

Creo que esto es poner el carro delante del caballo. Es equivalente a un soldado de infantería tratando de explicar a lo general lo son maniobras de batalla y por qué la protección de sus flancos es importante. Si la administración no puede decir la diferencia entre el código de calidad y una gran bola de barro, siempre vas a terminar la entrega de una gran bola de barro.

Por desgracia, es completamente imposible "probar" que su software está funcionando libre de errores (las ventanas comerciales xp siempre me molesto con el anuncio de "la versión de Windows más segura jamás", eso es imposible de probar en el lanzamiento). Todo depende de la gestión de configurar y hacer cumplir un proceso de control de calidad y establecer parámetros de lo que se puede entregar un producto en realidad se parece y qué nivel de errores o comportamientos inesperados es aceptable en la versión final.

Dicho esto, si usted es un pequeño equipo y establecer sus propias políticas de control de calidad con poca participación de la gestión Creo que sería ventajoso para escribir a cabo un proceso de control de calidad básica y tienen gestión de firmar en ella. Para nuestras aplicaciones web actualmente apoyamos 4 navegadores - y la gestión sabe - por lo que cuando se rompe la aplicación de alguna oscura navegador cada uno de mano entiende claramente que esto no es algo que hemos diseñado la aplicación para apoyar. También proporciona una buena influencia para la contratación de recursos de desarrollo o pruebas adicionales cuando la administración decide que quiere empezar a probar para x.

Como Billy Joel vez decir: "Siempre ha sido una cuestión de confianza."

Es necesario comprender que el desarrollo de software es "magia negro" a todos, excepto a los que escriben software. No es obvio (en realidad, bastante contrario al sentido común) para que el resto de su compañía que muchas de sus iniciativas conducen a aumentar la calidad y reducir el riesgo de ejecutar a través del tiempo y / o presupuesto.

La clave es construir una relación de confianza, respetuosa entre el desarrollo y otras partes del negocio. ¿Cómo se construye esta confianza? Bueno, eso es uno de los problemas de la gente sentimental ... que tendrá que experimentar un poco. Yo uso las siguientes herramientas frecuencia:

  1. visibilidad del proceso - asegúrese de que todo el mundo sabe lo que está haciendo y cómo las cosas están progresando. También, asegúrese de que todo el mundo puede ver el impacto de los cambios y las que se producen durante el desarrollo.
  2. Señale las pequeñas victorias - para construir confianza, señalar cuando las cosas salieron exactamente como lo planeado. Tratar de encontrar situaciones en las que tuvo que hacer un juicio y utilizar el término "mitigado el riesgo" con su gestión.
  3. No diga: "Te lo dije". - digamos que le dijo a la gestión que se necesitaba 2 meses para llevar a cabo alguna tarea y dicen, "así que sólo tiene tres semanas." El resultado no es probable que sea bueno (asumiendo que su estimación es exacta). Que la gestión consciente del problema y documentar todas las cosas que tenía que hacer para tratar de cumplir el plazo. Cuando se muestra la calidad de ser pobres, se puede trabajar a través de los problemas que enfrentó (y grabado) de una manera profesional en lugar de señalar con el dedo y decir: "Te lo dije".

Si usted tiene una buena relación con usted administrador, puede sugerir que se leen algunos libros específicos para el desarrollo de software para que puedan entender las mejores prácticas de la industria.

Además, me gustaría señalar a su jefe que no lo que le permite actuar como desarrolladores de software profesional es perjudicar a su carrera. Que realmente quiere trabajar en un sitio que le permite crecer profesionalmente en vez de en alguna parte que se convierte en un usuario remoto.

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