Desarrolladores que heredan código. ¿Qué pedirle al viejo desarrollador que ayude mejor al nuevo desarrollador? [duplicar]

12

Hemos dejado a nuestro antiguo desarrollador de iOS y estamos buscando un nuevo desarrollador o un equipo para continuar donde lo dejó.

Soy consciente de que puede haber problemas con los desarrolladores que heredan códigos, etc.

¿Cuáles son algunas de las preguntas que puedo hacerle a mi antiguo desarrollador para que ayude mejor al nuevo desarrollador a comprender en qué etapa se encuentra el código, en qué necesita trabajar, etc. Solo preguntas de tipo general? De modo que cuando me reúno con posibles nuevos desarrolladores, puedo entregarles una "hoja informativa" donde se encuentra el código en el que se encuentra el desarrollador antiguo.

    
pregunta Scott Townsend 12.07.2011 - 06:34

7 respuestas

21

Algunas cosas para preguntar / documentar (puede o no ser lo que buscas):

  • ¿Qué bibliotecas / herramientas / etc de terceros se utilizan?
  • ¿Cómo lo construyes? ¿Algo especial requerido para una construcción?
  • ¿Cuáles son los objetivos válidos para la compilación (SO, versión, etc.)? (del comentario de World Engineer)
  • ¿Dónde está ubicada la fuente? ¿Cómo se gestiona el cambio (lanzamientos, sucursales, etc.)?
  • Descripción general de alto nivel de la arquitectura de la aplicación
  • Cualquier área gotcha (áreas difíciles de entender, etc.)
  • Cualquier cosa fuera de lo común, donde puede no ser inmediatamente obvio por qué algo se implementa de la misma manera
  • ¿Todos los defectos están documentados en algún lugar? ¿Tienen alguna documentación sobre consejos para corregir? ¿Qué defectos sería bueno arreglar para comenzar a familiarizarse con el código?
  • ¿Todas las solicitudes de funciones están documentadas en algún lugar? ¿Existe alguna documentación de diseño para las mejoras?
  • ¿Existen especificaciones técnicas?
  • Cualquier lectura requerida para ayudar a ponerse al día (documentación de terceros, etc.)
  • ¿Alguna área de la aplicación que deba revisarse o actualizarse (corregir la deuda técnica)?
  • ¿Todas las convenciones y estándares utilizados están documentados y son bien conocidos?

Estoy seguro de que obtendrás más, pero espero que encuentres algunos de estos útiles.

    
respondido por el Michael Dean 12.07.2011 - 06:55
6

Aunque Michael Dean ya ha otorgado un respuesta bastante completa , agregaré un consejo más, ya que asumo que su antiguo desarrollador no estará allí para hacer una entrega cuando el nuevo el desarrollador comienza:

  • Siéntese con el desarrollador existente y trabaje compilando el código desde cero, documentando el procedimiento usted mismo.

No es necesario que comprenda el código para hacer esto, solo necesita pasar por la configuración del entorno de desarrollo, verificar el código fuente, compilarlo y ejecutar el conjunto de pruebas.

No permita que el desarrollador se siente en la computadora: haga cada paso por usted mismo y documente todos los detalles, especialmente el , pero es probable que no tenga que volver a hacerlo .

Todo esto puede ser un dummy's guide mecánico (es decir, descarga X, instálalo, luego instala Y & Z antes de verificar el código usando la opción V en el menú W etc.), pero podría ahorrarle a su nuevo desarrollador semanas de perder el tiempo, intentando averiguar cómo se creó el antiguo entorno de desarrollo de los desarrolladores.

Si sentarse con su desarrollador no es posible, Kim Burgess la sugerencia de obtener el el desarrollador para tomar un screencast del proceso de compilación es excelente.

Idealmente, debería darle a su desarrollador una máquina que nunca se haya utilizado para el desarrollo, instale su software de screencasting y obtenga que sigan todos los pasos para crear el software completo.

De hecho, incluso si te sientas con tu desarrollador, puede que valga la pena ejecutar algún software de screencasting en segundo plano, mientras él te lo muestra. de esa manera, tendrá un registro permanente de lo que hizo y lo que sucedió.

    
respondido por el Mark Booth 12.07.2011 - 18:24
5

Cuando estaba en la misma situación, me hubiera beneficiado más si me hubieran dicho en qué partes de la aplicación se centrarían realmente como la piedra angular para aprender la aplicación. La lectura de un código de otra persona va a estar involucrada independientemente, pero también se le puede dar una "tabla de contenidos" para esa lectura.

    
respondido por el JD at Elon 12.07.2011 - 06:46
2

"Si estuvieras tomando esto, ¿qué querrías saber al respecto?"
"¿Cuál es el más importante?"

El primero lo hará pensar en las partes complejas e indocumentadas de la aplicación.
El segundo le hará pensar en los detalles de todas las partes importantes.

    
respondido por el StuperUser 12.07.2011 - 17:04
1

Es más difícil leer el código que escribirlo ... Por lo tanto, es bueno que esté tratando de ayudar a los nuevos desarrolladores tanto como pueda.

Primero que nada, encuentro que las dos mejores cosas que hacer son:

- Pídale a su antiguo desarrollador que escriba y diagrame las interacciones entre clases o métodos. Esto ayudará al nuevo programador a tener una buena idea acerca de la arquitectura principal del programa y acelerar el proceso de aprendizaje. Estos tipos de diagramas a menudo son más útiles que las páginas de documentación escrita, que a menudo son escritas por el nuevo desarrollador y no son muy útiles.

-Pregúntele a su antiguo desarrollador cómo están organizados los archivos de origen. A veces, no puede saber por el nombre del archivo o el nombre del directorio que contiene lo que puede encontrar dentro.

Los dos consejos anteriores le ahorrarán mucho tiempo y le brindarán al nuevo desarrollador una buena base para explorar las complejidades más detalladas ...

    
respondido por el rrazd 12.07.2011 - 17:34
0

Si realiza actualizaciones de datos de prod en un horario regular restaurando las copias de seguridad y puede suceder una vez que se vaya y la nueva persona esté al tanto de dónde están las cosas, podría ser una buena idea asegurarse de que a las bases de datos en dev que pueden sobrescribirse porque aún no se han movido a prod están en control de código fuente y en un script que puede ejecutarse fácilmente para poner la base de datos dev en su estado cambiado. Lo mismo con Qa, que puede estar en un conjunto separado de cambios.

    
respondido por el HLGEM 12.07.2011 - 19:21
-1

Debes hacer que tu antiguo desarrollador comente su código. Ninguna pregunta aquí no funcionará. imho.

    
respondido por el stukselbax 12.07.2011 - 06:38

Lea otras preguntas en las etiquetas