Estoy cumpliendo preaviso en mi organización, y un jefe de proyecto me ha pedido que escriba un documento sobre lo que he hecho. He mencionado brevemente los puntos en los que he trabajado, pero no he hecho ningún análisis "in-code". No está satisfecho con el documento, dice
La persona que se hace cargo debe ser capaz de entender lo que hizo usted teórica y técnicamente.
¿Cuál debería ser mi enfoque hacia él?
Está escribiendo lo que se conoce como "Documentación de traspaso". El objetivo de esta documentación es transmitir el conocimiento de cómo funciona este software y cómo se escribe, mantiene e implementa a las personas que lo seguirán.
Hay una pregunta/respuesta relacionada en Stack Overflow que generalmente cubre los temas que debe abordar en su propio documento:
¿Cuáles son los elementos básicos que se deben incluir en la documentación de soporte?
Citado en parte:
• La documentación del código (javadoc, doxygen, etc.)
• Detalles sobre el proceso de compilación
• Dónde obtener la fuente actual
• Cómo archivar errores (sucederán)
• Ruta para proporcionar parches a la fuente o a los clientes• Cómo funciona (simple, pero a menudo se pasa por alto)
• Partes personalizables por el usuario (p. ej., hay un componente de secuencias de comandos)
• Contactos principales para cada componente, también conocido como ruta de escalamiento
• Fomento de los comentarios de Soporte sobre qué más quieren ver
Considere también:
Buscar en Google "Documentación de traspaso" también le dará más información.
Para ahorrar tiempo, escribiría una serie de viñetas (como las anteriores y de su propia investigación de acuerdo con este proyecto) y se las presentaría a su PM. Pídale que marque las que quiere ver y que agregue otras que considere apropiadas.
Voy a adoptar un punto de vista un poco cínico, de abogado del diablo...
La respuesta de Snow enumera una gran cantidad de cosas buenas que deben documentarse, pero casi todo esto ya debería estar documentado y mantenerse actualizado continuamente. Si esta documentación no existe (y sé que habrá muchos lugares donde no existe), entonces eso es esencialmente una falla de su administración al no implementar las prácticas correctas durante su tiempo en la empresa. Si ese es el caso, no es bueno que traten de remediar su fracaso "descargándose" en la persona que deja la responsabilidad de "documentar todo".
La respuesta de Kilisi sugiere " Hazlo como te gustaría leerlo si estuvieras tomando el control ", lo que nuevamente es un buen ideal, pero quizás debería moderarse con la consideración de lo que te dieron el primer día. Si le dieron casi nada, por ejemplo: " Ahí está el código, si no puede averiguar cómo funciona algo, pregúntele a alguien ", y la situación no ha cambiado desde que comenzó, de nuevo, no es realmente la responsabilidad de la persona que se va a arreglar las malas prácticas.
La esencia de lo que estoy tratando de decir es: si se aplica, no se deje intimidar para tratar de corregir las malas prácticas inherentes .
Si la mayoría de las cosas ya están documentadas con buen detalle, su "entrega" debería ser relativamente corta; el puñado de cosas "en tu cabeza" de las que otros podrían no ser plenamente conscientes. Usted sabrá mejor cuáles son, pero debe buscar orientación de su gerente de proyecto sobre cualquier área específica en la que esté interesado.
Si la documentación existente es escasa, está desactualizada o no existe, entonces no es su responsabilidad corregir la "falla sistémica" cuando se vaya. Haz una descarga de cerebros lo que puedas, para ayudar al pobre diablo que te reemplaza, pero no te sientas culpable porque esta situación debería haber sido abordada (por la gerencia) hace mucho tiempo.
Por supuesto, si ha "acumulado" deliberadamente información que solo usted conoce y no ha mantenido actualizada la documentación existente, entonces debería ser su responsabilidad pasar finalmente esa información de la manera más útil posible. !
¿Cuál debería ser mi enfoque hacia él?
Hazlo como te gustaría leerlo si estuvieras tomando el control. Aparte de eso, solo envíe su aviso y concéntrese en hacia dónde se dirige su carrera. A menos que su jefe le esté dando un formato a seguir, no hay mucho más que pueda hacer con lo que esté completamente satisfecho.
Normalmente hago un recorrido paso a paso de todas mis tareas, asumiendo que debe ser seguido por un principiante. Así que sin abreviaturas, sin jerga, etc.
Lo más importante que me gustaría saber cuando tomo el relevo de otro desarrollador es el común "qué, por qué, cómo" del proyecto. Eso es:
¿Qué es? ¿Qué hace?
¿Por qué elegiste hacer las cosas de cierta manera? Siempre me preguntaré por qué un desarrollador se decidió por un determinado marco o idioma y el contexto o la advertencia sobre ciertas cosas que no había considerado son invaluables.
¿Cómo resuelve el proyecto los problemas enumerados?
La otra cosa más importante es obtener una máquina nueva, que no tenga nada que ver con el proyecto e intentar llegar a una configuración que funcione (tal como tendrán que hacer cuando se hagan cargo).
No tienes idea de cuántas veces le he preguntado a un ex-desarrollador de proyecto por qué su documentación no funcionó y me dirán: "Oooh, sí, solo necesitas agregar esta variable de entorno, lo había olvidado". Es normal y humano no tener en cuenta cada paso en una instalación, pero hará la vida mucho más fácil en el próximo desarrollador dado que ahora tiene la mentalidad correcta.
Imagínese que está haciendo una transferencia de conocimiento con otro desarrollador que continuará donde lo dejó. Normalmente, revisaría el código a un alto nivel y mencionaría cualquier cosa de interés, puntos débiles particulares, lugares que a menudo tienen errores, etc. Esto le dará puntos de partida para crear la documentación.
Dado que este es un documento escrito y el siguiente empleado no podrá hacer preguntas, es posible que desee ser más explícito de lo que sería al dar una descripción general verbal.
¿La persona que se hace cargo de sus tareas ya está trabajando para la empresa o tendrá alguna coincidencia con usted?
Si es así, deje que esa persona revise la documentación si es lo suficientemente buena para él/ella. (O si tiene un colega que pueda ayudarlo). Es imposible cubrir todo, así que concéntrese en las cosas difíciles, las cosas raras, las excepciones a los estándares de la industria, etc.
Y sé que es aburrido y probablemente mentalmente ya te hayas ido de la empresa. Y dependiendo de por qué te fuiste más o menos fiel a la empresa. Pero sugiero trabajar de manera iterativa para que tenga objetivos más cortos y solicite comentarios con frecuencia. Dado que le queda un tiempo limitado y la empresa debe utilizarlo de la manera más eficiente posible, escribir documentación innecesaria es un desperdicio y es posible que se pierdan las cosas importantes.
jane s
Walfrat
Bernardo Barker
mosquito
david k
david k
chris h
usuario8365
Criggie