"Para lograr una buena documentación son escenciales, la gramática y la ortografía pero, no lo es todo."
¿Cuáles son las funciones de un documentador?
¿Cuáles son las funciones de un documentador?
Cuando uno se integra a un proyecto de desarrollo por lo general espera que el Arquitecto de Software le indique cuáles son las políticas y procesos para mantener actualizada la documentación de un sistema. En mi caso esto ocurrió aunque no de la manera que yo esperaba. La instrucción que yo recibí fue parecido a lo siguiente. "Ok, ya está, este es el sistema X y ahora debes hacer un manual de usuario", sin más comencé a revisar el programa con la intención de copiar algunas pantallas y comenzar a escribir el manual. Sin embargo no tenía una idea clara de que debía escribir y cómo, así que empece una búsqueda sobre estándares y recomendaciones para escribir documentos para los usuario.
El manual que construí estuvo bien, sin embargo no es el único tipo de documento que uno deberá crear. Así que una de las primeras tareas que un documentador debe saber que le serán encomendadas es la clasificación de la información que esta revisando. Y esto es muy importante pues le indicará el marco para dar el formato adecuado y complementar las partes estructurales mínimas que debe contener el documento.
Otra cosa que el documentador debe entender como una de sus funciones principales es el hecho de que su papel es el de un divulgador del proceso de análisis, desarrollo, construcción e implementación de un sistema de información, así que debe escribir pensando en sus lectores por lo que deberá "traducir" (aunque suene exagerado) lo que muchas veces entregan los programadores expertos en Java o en otro lenguaje. El trabajo del documentador no es fácil pues presupone que debe comprender de manera autónoma lo que otros hacen para dejar constancia de este trabajo para su posterior consulta.
A continuación les comparto un conjunto de conceptos y conocimientos que considero esenciales para realizar de manera adecuada el trabajo de la documentación de sistemas.
Una herramienta muy útil en el trabajo: El estandar IEEE - Std 1063-2001
Dividiremos la documentación en tipos:
- Documentación técnica
- Documentación de Usuario
- Documentación administrativa relacionada a la gestión del proyecto
Un primer paso en la construcción de documentación de usuario (manuales, guías rápidas, descripción de módulos de software, etc) es conocer algunos estándares que nos ayuden en la confección de un buen documento para los usuarios finales del sistema o programa.
El estandar IEEE - Std 1063-2001 nos brinda un marco de referencia donde se especifica el contenido, órden y formato de los elementos que debe contener un manual o cualquier otro documento orientado a los usuarios. Una descripción más detallada de este estandar y el link para su descarga, puede ser encontrado en la siguiente entrada.
UML y la documentación técnica
El documentador acompaña con su actividad al equipo de desarrollo principalmente, pero en algunos lugares participara con varios equipos, incluyendo los de infraestructura e incluso los administradores.
Debido a la interacción de diferentes personas con diferentes formación e incluso, en equipos de desarrollo muy grandes, con diferentes idiomas, fue necesaria la creación de un lenguaje que permitirera que todos los actores involucrados en el desarrollo de un sistema pudieran comunicarse adecuadamente. El lenguaje creado se llama UML.
UML es un lenguaje gráfico universal utilizado para el modelado de procesos, secuencias, objetos, relaciones, clases. De esta manera el arquitecto o analista del sistema puede transmitir un requerimiento adecuadamente a un programador y de esta manera evitar la confusión que podría ocasionar un texto mal redactado. Es deber de los documentadores en muchas empresas conocer a detalle el lenguaje UML para documentar de manera adecuada los requerimientos o casos de uso que se necesitan desarrollar.
Así que conocer hacerca de UML a detalle es escencial. En el siguiente link encontrarás información sobre cómo realizar casos de uso usando UML. Da click aquí.
Metodologías para el desarrollo del Software
Conocer a fondo la metodología de desarrollo que utiliza tu empresa también es escencial para poder realizar un trabajo de documentación adecuado. La metodología utilizada proporcionará un marco de referencia para los documentos que deberán acompañar al producto de software. Por ejemplo en RUP necesitaremos casos de uso, pero en SCRUM se elaborarán historias de usuario. Así pues se necesita definir desde un principio cual será la metodología a utilizar y que documentos formaran parte del entregable final, con la intención de ir recavando esta información a lo largo del desarrollo.
He compartido un manual de SCRUM en el siguiente link.
La redacción técnica
Escribir, pero en realidad escribir bien no es un ejercicio que practiquen muy amenudo las personas involucradas con cuestiones técnicas, como los ingenieros. Así que leer un poco sobre lo básico de la redacción y la ortografía no es para nada oscioso. La redacción técnica tiene sus reglas y si nuestro trabajo consiste de escribir documentos legibles sobre tecnología es necesario conocerlas.
El punto principal consiste, sin embargo, en evitar el uso de términos muy técnicos como por ejemplo: over loaded, por qué no usar sobrecarga. Lo anterior también nos lleva a la recomendación de utilizar, siempre que se pueda, los términos en español. Por ejemplo desplegar en lugar de deployar. (:s, wtf). Se debe agregar un glosario para términos o acrónimos que de antemano sabemos que un usuario común no comprenderá, por ejemplo: UML, o SCM, ya que en algunas ocasiones la abreviaciones son definidas por la organización o el grupo de trabajo y algún lector fuera de este ámbito podría entender o pensar en otro concepto.
Finalmente, pero no menos importante, se debe escribir directo, sin rodeos y de manera clara y desde luego tratando de cuidar la ortografía. Un manual sobre redacción técnica se puede descargar desde el siguiente enlace
Si deseas más información sobre las funciones de un Documentador de Sistemas, te reocmiendo leer el siguiente enlace: Algunas otras funciones de un documentador de sistemas
Debido a la extensión del material que he ido recopilando a lo largo de los años no puedo compartir todo. Pero si estas interesado en información sobre algún tema en específico no dudes en compartir tu inquietud, estoy seguro que podré ayudarte. Si el texto ha sido de tu agrado e interés te recomiendo visitar el demás contenido y regalarme un click en g+.
Finalmente no soy propietario de ninguno de los PDF's compartidos en este blog, los derechos de venta corresponden a sus autores, su divulgación a través de este medio es solo con caracter educativo, así que cualquier acción en mi contra sería simplemete ¡no cool!.
Gracias por la información, lo necesitaba como tarea.
ResponderEliminarSaludos
Que bueno que te sirvió la información lo que necesites con gusto te apoyo. Saludos.
ResponderEliminarBuen dia,
ResponderEliminarDisculpa tengo una duda, hace 3 meses fui contratada como programadora de sistemas, pero por políticas de la empresa no puedo desempeñarme como tal. Asi q requieren justificar mi puesto como un Documentador de Sistemas. Las actividades que realizaría serían detectar áreas de oportunidad, desarrollar con las herramientas q dispongo (office...macros) aplicaciones q les sirvan a mis compañeros para el control de sus activdiades, y documentar los sitemas que sean solicitados, asi como estar al pendiente de como van, si hay dudas, correcciones, aclaraciones con las personas del departamento de tecnologias que está en otro país. Digamos, si quieren un sistema para administracion-cuentas por cobrar, mi labor será conocer perfectamente todos los procesos(los cuales documenta el ing. en procesos) que ya estan documentados y pasarlos a documentos tecnicos, diagramas, analisis de requerimientos,... explciar todo lo que queremos y como lo queremos, lo desarrollan en otro lado, y me mandan avances q yo reporto a mi jefe para dar vistos buenos y mi opinion segun los costos y tiempos q los de tecnologias envien... Entonces,como puedo definir mis actividades y justificar mi presencia aqui, de tal forma q no se meta con las actividades del ing. de procesos ni con los del departamento de TI...???? Gracias...espero su respuesta
Hola Anónimo:
ResponderEliminarBueno mi opinión es que tu perfil sería más bien como el de un Documentador Analista y de innovación. En mi opinión la función de un documentador de sistemas no es asunto menor dentro de tus actividades se encuentran las de:
- Establecer el estandar de los documentos que se realizan sobre el sistema y la documentación de usuario.
- Control y organización del repositorio de documentos (en mi caso utilizó Subversión SVN), tu determinas quien o quienes tienen acceso y podrías incluso tener ambientes de este repositorio (ejemplo: documentación de producción, las ultimas versiones de todos los documentos y entregables y en un ambiente de pre producción los borradores)
- Como analista te encargarías de desarrollar los diagramas UML de casos de uso y diagramas de flujo.
- Dentro de desarrollo te encargarías de captar los diferentes scripts de base de datos y de elaborar en Excel un control de versiones.
Estas son algunas de las actividades que visualizo a grosso modo quizas si me platicas más sobre tu compañia pueda ayudarte.
Te envío de cualquier forma un par de documentos que considero son base para el trabajo de un documentador.
Saludos cordiales y espero al menos saber cual es tu nombre y compañía y si esta información ha sido de utilidad recomendar mi sitio con otros colegas. Hasta pronto.
Atentamente
Ing, Luis Ubaldo Godínez Flores
Documentador Sr. dentro del Proyecto ESAD.
Hola Ing. Luis:
EliminarLe cuento que dentro de poco voy a desempeñarme como documentadora de software, pero no tengo la experiencia, por eso recurro a Ud. a ver si me puede facilitar algunos documentos que me puedar ser de ayuda..Muchas gracias desde ya.
Estimada Graziella:
EliminarSer documentador de software requiere de diversas habilidades. Yo las dividiria en tres:
- Saber escribir textos técnicos
- Utilizar las herramientas para escribir y administrar estos textos y
- La metodología para que los textos que has escrito sean adecuados y utiles al proyecto
El primer punto lo puedes obtener con un buen curso de redacción técnico y un curso de ortografía general (te adjunto un libro). El segundo tema tiene que ver con herramientas para escribir documentos como: Word, latex, DocBoook o herramientas para documentar código - por ejemplo: JavaDoc, si el proyecto es en java - (te agreo un texto también sobre latex) y herramientas para administrar la información o repositorios con control de versiones (Git, SVN, etc). Y finalmente dependiendo de los requisitos del proyecto debes escribir textos de caracter administrativo y que tienen que ver con la administración del proyecto (PMI o PMBOOK) o con el código (Agile, Aproximación clásica, etc) o con la administración de los servicios (ITIL, etc)
Como puedes ver se requieren varias habilidades, ya que la documentación de software no solo es pasar información en formatos, lo cual se hace muchas de las veces, sino también requiere de iniciativa y conocimientos técnicos sólidos, sino ¿cómo podrías pedirle a un Java Sr que te documente el código, si tú no sabes Java?.
Espero que esta respuesta te haya sido de utilidad, que me sigas en el blog pues a partir de febrero comenzare de nuevo a escribir artículos y finalmente si necesitas más información sobre algún tema en concreto no dudes en consultarme.
Desde la Ciudad de México, te deseo la mejor de las suertes en tu nuevo empleo. Saludos.
Atentamente
Ing. Luis Ubaldo Godínez Flores
PD. Personalmente utilizo un máquina con Linux, ya que existen un monton de herramientas de software libre que pueden ser de utilidad para el documentador novel o avanzado. Una vez que utilices Linux, nunca más volveras a utilizar el W7. Utilizo una máquina virtual con windows, porque se me siguen requiriendo cosas en Office, sino desde hace mucho que lo hubiera dejado. Saludos.
Que tal Luis buen día.
EliminarLa semana pasada estuve leyendo las entradas de tu blog. Actualmente estudio la Universidad y desde el mes de diciembre de 2012 estoy trabajando como ducumentador en una empresa de desarrollo de software. En cursos pasados en la universidad ya había llevado administración de proyectos pero solamente te dan la introducción a la temática y la experiencia se adquiere ya en el campo laboral, tampoco culpo a la universidad de que no enseña pero creo que es así en cualquier parte. Cuando entré a trabajar tenia la noción de los principales documentos que se utilizaban, diccionario de datos, manual de usuario, manual técnico, entre otros; los documentos que hice para un proyecto en lenguaje C# fueron el manual técnico y el manual de usuario de la aplicación, solamente que agregue en el manual técnico el diccionario de datos, descripción de clases y métodos, rutas de instalación y alojamiento de la misma aplicación. En cuanto al manual de usuario fueron la descripción de los componentes y función de controles. Todo el desarrollo de los documentos fue por sentido común y no basandome en algún estandar o plantilla (que no la va a haber), por que creo que ningún proyecto es igual. En su inicio fue complicado por que aparte de ser mi primer trabajo en el área y por no saber como se trabajaba.
Ahora estoy documentando una aplicación móvil desarrollada para Android y aquí fue con mayor dificultad ya que además de tener que aprender temas nuevos en el desarrollo de Android, tuve que realizar otro formato para los manuales técnico y de usuario.
Me parece muy útil la información que compartes por tu blog ya que para el principiante que soy es bueno aprender con este tipo de contenidos y comenzar a investigar sobre las herramientas que usas para aplicarlas en mi trabajo. Adicionalmente si le es posible adjuntar en un correo los documentos que usted menciona en su blog, especialmente el curso de redacción y ortografía ya que es donde tengo un bajo nivel de este.
PD. Permanezco como seguidor de su Blog ante cualquier actualización esperando alguna vez hacer algún aporte a la comunidad. Le dejo esta dirección de correo ( manolo_gonz_ped@hotmail.com ) en espera de crear una cuenta de correo en Gmail.
Ing Luis
ResponderEliminarTengo la oportunidad de desempeñarme como documentador en una empresa de Tecnologia. Pero no he tenido experiencia en la documentacion de software (pues soy auditor). Mi deseo es hacer un buen trabajo de utilidad para la cmpañia y ademas garantizarme un buen trabajo.
La tarea que ahora me encomiendan es documentar patrones de desarrollo para poder tener un documento (valga la redundancia) que se pueda entregar a un tercero en caso de necesitat desarrollos por fuera. _Necesito URGENTE una luz de que debo hacer. como debo empezar. que modelos debo emplear. Mil GRacias
Hola Anónimo:
EliminarSi entendí bien, lo que necesitas es documentar de manera general cada tipo de programa que la empresa realiza. Por ejemplo si la empresa realiza programas de nómina, de control de inventarios y de mesa de ayuda, necesitarías, tres formatos (preelaborados) para que en el momento que el desarrollo se personalice el proceso de documentación sea más fácil. ¿es así?. Recuerda que el proceso de documentación va ligado a la metodología de desarrollo que se utilice (RUP, Xtreme Programming, enfoque clásico). En el proceso clásico de desarrollo se tienen tres o cuatro etapas, dependiendo el punto de vista: 1. Análisis y Diseño, 2. Desarrollo y pruebas y 3. Implementación y control de cambios. Entonces de entrada cada desarrollo debe tener tres carpetas de documentación.
En la carpeta 1. Análisis y Diseño se tendrían. Los requerimientos, los planes de trabajo, los diagramas UML y casos de uso (genéricos para cada desarrollo), en la carpeta dos se tendrían los Scripts de Base de Datos, Diagrama E - R, Test de Pruebas y la documentación del código (sí la hay, Java doc etc). Finalmente en la tercer carpeta se tendrían los oficios de liberación, plan de implementación, plan de capacitación, etc (formatos), memoria de instalación y manual de usuario. Otra carpeta opcional es la de documentación administrativa donde se colocarían todos los formatos relacionados a la administración del proyecto. Espero a ver sido de utilidad de cualquier forma puedes agregarme y enviarme un correo electrónico para que pueda ofrecerte una capacitación más adecuada. Saludos colega.
Ingeniero Luis ... Gracias por su respuesta. Veo que me queda un buen camino por recorrer hasta poder agregar a mi cargo la palabra "Senior".
EliminarHola:)
EliminarJajaja. Espero que de verdad la información te haya sido de utilidad. Con gusto puedo ayudarte más si así lo requieres. Saludos cordiales.
Ingeniero Luis,
ResponderEliminarla información que estas brindando es muy oportuna ya que tendré una entrevista laboral para dicho puesto en una empresa consultora de sistemas,
te agradecería indiques los documentos, guías,etc que son base para el trabajo de un documentador.
saludos,
Estimado Anónimo:
ResponderEliminarDentro de mi práctica y experiencia laboral he recolectado una serie de documentos que me han ayudado en esta carrera. Aunque el trabajo de documentación a veces es relegado todos los frameworks recomiendan la actividad de documentación y la colocan en el mismo nivel de importancia que tendría el diseño mismo. Algunos de estos documentos son:
-Estandar 1063 del IEEE para documentación de usuario de software
- Technicalwriting
- Documenting software
- El marco de referencia ITIL
-El BPMBOK
- La guía de SVN Book.
La literatura de documentación es amplia. Pero al final hay que tomar lo que se requiera y mejor se adapte al proyecto.
Si deseas alguno de estos documentos con gusto los puedo hacer llegar a tu cuenta de correo si me indicas cual es. Nota: La mayoría son textos en inglés. Saludos.
Hola... me da gusto que compartas tu conocimiento, mencionas en proporcionar los documentos y yo me encuentro interesada,, sin mas me lo puedes proporcionar de favor
EliminarIng. Luis,
ResponderEliminargracias por responder a mi consulta, tendré en cuenta los documentos y guías metodológicas que mencionas.
Saludos amigo!! alguna recomendación sobre como hacer el manual de usuario sobre un videojuego, y el manual de instalación, y el manual de administración. Alguna idea? y de estos dos últimos existe estándar de la IEEE??
ResponderEliminarSaludos que buen post te aventaste te pregunto lo siguiente, hemos hecho proyectos e implementaciones pero muchas han sido así de instalalo haz que funcione y si jala pues ya la hicimos, y después viene la bronca pq la persona que lo hizo ya no esta y no dejo nada o sencillamente tienes un problema y acabas buscando por todas partes y le das al clavo muchas veces por suerte y otras por tanto buscar, que recomiendas si ya tienes el sistema implantado y ahora lo quieres documentar como le empiezo, llevo ya un rato en este tema y no logro ver claro por donde entrarle a este tema saludos y que buen blog
ResponderEliminarIngeniero Luis,
ResponderEliminarApreciaría bastante si pudiera facilitarme la información de guías y/o metodologías que menciono en una respueta anterior.
-Estandar 1063 del IEEE para documentación de usuario de software
- Technicalwriting
- Documenting software
- El marco de referencia ITIL
-El BPMBOK
- La guía de SVN Book
mi cuenta de correo es andyper_2000@hotmail.com
Saludos
Karen
HOLA, EMPEZE A ALABORAR COMO DOCUMENTADOR, PERO QUISIERA QUE ALGUIEN ME ORIENTE PORQUE NO TENGO IDEA DE LOS ESTANDARES.
ResponderEliminarGRACIAS
Estimado Anónimo:
ResponderEliminar¿Qué necesitas saber? El campo de la documentación es muy amplio. Existen varios aspectos: documentación del código, documentación del proyecto, administración de los repositorios del grupo de trabajo, etc. Quizas si me indicas cuál es tu función podría ayudarte más. Saludos cordiales.
Estimado Anónimo:
ResponderEliminar¿Qué necesitas saber? El campo de la documentación es muy amplio. Existen varios aspectos: documentación del código, documentación del proyecto, administración de los repositorios del grupo de trabajo, etc. Quizas si me indicas cuál es tu función podría ayudarte más. Saludos cordiales.
Ing. Luis
ResponderEliminarQue gusto que comparta la informacion de la literatura que menciona
-Estandar 1063 del IEEE para documentación de usuario de software
- Technicalwriting
- Documenting software
- El marco de referencia ITIL
-El BPMBOK
- La guía de SVN Book
me puede proporcionar alguna liga para verificrlo mi correo es mitan04@hotmail.com
Saludos cordiales
Buen día Ingeniero Luis,
ResponderEliminarRealmente apreciaría si pudiera facilitarme la información de guías y/o metodologías que mencionó en una respueta anterior.
-Estandar 1063 del IEEE para documentación de usuario de software
- Technicalwriting
- Documenting software
- El marco de referencia ITIL
-El BPMBOK
- La guía de SVN Book
mi cuenta de correo es johnat70@hotmail.com
Saludos
John Alexander Torres Reyes
Buenos días he estado leyendo todos sus comentarios, actualmente estoy trabajando en el área de documentación pero al igual que muchas de las personas que le han escrito, no cuento con experiencia, sólo he elaborado manual de usuario, manual de diseño general, casos de usos y manual de interfaces. Estos los he eleborado por indicaciones de mi jefe, pero no tengo una idea clara como se debe estructurar una buena documanetación, que se debe tener presente y los programas que se deben conocer.
ResponderEliminarMe gustaría que por favor me hicieras llegar la información que este a su alcance a mi dirección de correo.
Mil gracias y feliz día.
Hola Ing. Luis podrias proporcionarme los documentos que mencionas ya que eh estado como documentador pero mas programando que haciendo documentos me gustaria tener ma conocimiento de tener completa la documentacion y como debe quedar. eh trabajado de documentador en Base de datos oracle g11 y documentador en frameworks c# visual estudio 2013. Te lo agradeceria si fuera lo antes posible. saludos y exelente blog. rr_uben@hotmail.com
ResponderEliminarHola Ing Luis estuve leyendo todo y me serviría de mucho que me proporcionara los documentos para empezar a desempeñarme como documentador de software. mi correo es joz_z@hotmail.com
ResponderEliminarsaludos
Buenos días Ing. Luis
ResponderEliminarMil gracias por la información que nos proporciona, para mi son de bastante ayuda, ya q estoy comenzando en este ramo, espero q me pueda ayudar proporcionandome las guías y/o metodologías que mencionó anteriormente.
-Estandar 1063 del IEEE para documentación de usuario de software
- Technicalwriting
- Documenting software
- El marco de referencia ITIL
-El BPMBOK
- La guía de SVN Book
Mi correo es: anaid_sp2502@hotmail.com, le agradeceria mucho su ayuda.
Que tenga un gran dia y mucho mas Exito!
culo
ResponderEliminar