2009-03-18 7 views
5

Trabajo como desarrollador interno para una empresa de fabricación. Hacemos software para el proceso de fabricación, no controlamos realmente el software, más como flujo de procesos.¿Quién es responsable de la implementación?

Estamos utilizando un proceso de Scrum para desarrollar el software, aunque hecho a la medida para encajar con nuestro equipo y entorno, y esto está funcionando bastante bien. Estamos llegando al final de un sprint y el software se encuentra en una etapa en la que el propietario del producto desea implementarlo.

Anteriormente, es decir, antes de Scrum, habríamos implementado el software. Ahora siento que hemos desarrollado el software, que pasamos todas las pruebas de lanzamiento definidas por el usuario/acordadas y que demostramos el software al PO con un simulador, hemos logrado nuestros objetivos. Estamos listos para proporcionar soporte de implementación, pero no creo que deba ser nuestra responsabilidad implementarlo.

¿Cuáles son las experiencias de otras personas? ¿Debería el equipo de desarrollo realizar la implementación o deberíamos simplemente entregar el software completo al PO y proporcionar asistencia?

Resumiendo

Una gran cantidad de grandes respuestas, gracias. La pregunta puede parecer que estoy tratando de abandonar el trabajo o la responsabilidad, tal vez estoy un poco; o) Lo que más me interesa son los procesos de otras personas. El problema que enfrentamos aquí es que si el equipo de desarrollo despliega el software, terminamos brindando soporte 24/7 a la producción del software. No hay problema, excepto que solo somos dos. Entonces, para permitirnos volver a desarrollar software en lugar de brindar soporte todo el tiempo, pensé que sería útil involucrar al equipo de "TI" en el proceso de desarrollo. Con suerte, esto obtendrá el 'buy-in' y luego les permitirá implementar y proporcionar soporte de primer nivel. También tenemos una planta en México y es difícil que el equipo de desarrollo vaya e implemente allí, tiene más sentido que el apoyo local lo haga, con la orientación y el asesoramiento de los desarrolladores.

Solo para hacerte saber, los ingenieros de TI implementaron el software, con orientación/asesoramiento del desarrollador. Ha ido bastante bien, el cliente está contento, ha aumentado el valor de su software, y ¿no se trata de eso?

+0

Esta pregunta parece estar fuera de tema porque se trata de preguntas de gestión, no una pregunta de programación específica. –

Respuesta

1

Creo que como desarrollador "interno" sería su responsabilidad (a menos que exista un equipo de implementación especializado) implementar el nuevo software, mientras que si usted fuera de una empresa externa, entonces sería su responsabilidad implementarlo ellos mismos, a menos que se especifique en el contrato.

6

No creo que Scrum como metodología aborde la responsabilidad de implementación. He trabajado para grandes organizaciones con un equipo de implementación completamente independiente del equipo de desarrollo. También trabajé en organizaciones pequeñas donde el equipo de desarrollo maneja la implementación. Idealmente, el equipo de implementación está separado del desarrollo, pero casi nunca sería el PO (lo que supongo significa propietario del producto). El PO generalmente cierra la sesión, pero generalmente no es la mejor opción para manejar la implementación.

0

Depende del proyecto y lo que significa "implementación" para usted. Como soy un desarrollador web, implementando principalmente aplicaciones .NET con una base de datos de servidor Sql, siempre prefiero que la implementación sea realizada por un administrador de versiones o un administrador de despliegue. ¿Por qué? Porque la separación de trabajos asegura que los problemas se detectan cuando deben estarlo.

El trabajo de los desarrolladores debe ser proporcionar los objetos requeridos o las instrucciones sobre cómo implementar, y luego alguien más implementa en un entorno de ensayo. Si algo va mal durante el despliegue a la puesta en escena, las instrucciones de implementación se corrigen hasta que la implementación de puesta en escena funcione sin problemas. De esta forma, con suerte no habrá errores cuando se use el mismo script de despliegue para mover el código a producción.En otras palabras, no solo debe probar su código sino también el script de despliegue.

por supuesto, en el mundo real, esto no siempre sucede debido a problemas de personal, pero este sería mi ideal.

0

Me parece bastante simple, si no es usted, ¿a quién? ¿Habría recaído la responsabilidad de implementación real en algún otro equipo antes de que comenzaras a usar Scrum? Si no, entonces no veo por qué Scrum cambiaría eso.

0

Si el equipo de desarrollo proporcionaba la implementación antes del scrum, deberían continuar haciéndolo, a menos que la Administración haya dicho específicamente que alguien más debería hacerlo. Si managment no lo ha dicho, entonces realmente no lo han pensado, y solo esperaban que sucediera mágicamente, como siempre lo ha hecho.

Si no te gusta, avísalo con la administración, pero haz el trabajo hasta que te digan lo contrario.

1
  1. el proceso de software no se completa hasta que el software de trabajo está en las manos de los usuarios que lo necesiten - de lo contrario es simplemente "shelfware"

  2. si no hay nadie más para ser responsable de la implementación y gestión de la configuración, entonces lo eres ;-)

2

Soy un desarrollador con responsabilidad sobre múltiples productos. Mis equipos de desarrollo producen compilaciones de artefactos de implementación, como archivos .war, que se pueden implementar de forma sencilla en el servidor web de Tomcat mediante su interfaz de administrador o la API del servicio web. La configuración de la aplicación está configurada y es independiente dentro del archivo .war. Por lo tanto, es fácil para la persona que realiza el despliegue simplemente tomarlo y "soltarlo", por así decirlo.

Si no conseguimos este nivel de facilidad de implementación en el que el despliegue puede desacoplarse por completo del equipo de desarrollo, entonces lo veo como un error del equipo de desarrollo para hacer su trabajo adecuadamente.

La persona que realiza la implementación procede a lanzar un determinado producto a numerosos sitios de clientes; no es una actividad productiva para que los desarrolladores lo hagan; tienen productos para diseñar y crear ya que es su especialización.

En nuestra organización, la responsabilidad de implementación también se superpone con la responsabilidad de soporte de producción de primer nivel.

Practicamos alguna metodología de scrum pero nunca he visto este problema como vinculado a la metodología de proceso de desarrollo de software, per se.

+0

Este es exactamente el tipo de estructura que estoy dispuesto a configurar. Somos una empresa relativamente pequeña, por lo que es probable que haya algunas compensaciones. Gracias por la descripción detallada. – Kepboy

0

Creo que debe manipular e implementar el software. a menos que trabaje en una organización que tenga algún tipo de problema grave de seguridad de datos y/o problemas de SOX al permitir que lo inmundo maneje la producción al final de las cosas.

Acepto el primer comentario - SCRUM no tiene nada que ver con eso. De hecho, creo que es mucho mejor para ti implementar ya que sabrás de primera mano qué tan bien funcionan las cosas y estarás allí para recibir comentarios de esos usuarios.

4

¿Quién recibe la llamada a las 3 a.m. cuando el software no funciona o se apaga el sistema? Si se trata del equipo de desarrollo, espere que sea el propietario del despliegue (ya que posee producción).

La mejor práctica para las organizaciones que pueden admitir es proporcionar al grupo de operaciones instrucciones de implementación y buenos deseos. Las botellas de whisky también ayudan.

Si sus controles de producción son laxos, entonces apriételos. Un libro como "Visible Ops" es una gran guía para poner las cosas bajo los niveles adecuados de control en las manos adecuadas.

Cuestiones relacionadas