¿Qué puedo usar para hacer un seguimiento del estado de 60 programas, algunos de los cuales están obsoletos? [cerrado]

7

Tomé un rol de desarrollo de software en una compañía de ingeniería (todo el software desarrollado es solo para uso interno). La compañía tiene alrededor de 60 programas individuales de desarrolladores anteriores. El problema es que todos los desarrolladores anteriores se han ido y nadie sabe por qué se creó aproximadamente la mitad del software, quién lo usa o incluso qué hace. Utilizamos SVN, pero ningún desarrollador anterior escribió comentarios ni realizó ningún tipo de documentación.

Suponiendo que resuelvo todo esto, ¿hay algún programa / sistema / método que pueda usarse para realizar un seguimiento de toda esta información? La compañía se está inclinando hacia Excel, supongo que hay algo mejor. ¿Sería mejor escribir la documentación en un documento de Word y enviarla a svn para que esté justo al lado del código?

    
pregunta Brandon 24.05.2013 - 15:22

8 respuestas

14

Uso archivos de texto dentro del proyecto para ese tipo de cosas. Son fáciles de mantener, fáciles de encontrar y difíciles de extraviar. Es probable que Word o Excel funcionen igual de bien si necesita compartir, pero necesitará más disciplina para escribir en algún tipo de formato de registro, de modo que pueda saber fácilmente qué fue lo que cambió cuando.

En una nota al margen, intentaría enérgicamente retirar tantos de esos proyectos como sea posible; es mucho más fácil administrar 20 proyectos que 60.

    
respondido por el Dan Pichelman 24.05.2013 - 15:34
6

Por lo que está describiendo, es inevitable que se tenga que hacer un trabajo para tener una buena idea de lo que está tratando aquí.

SVN es solo el repositorio. Está pensado para almacenar su trabajo de una manera que le permita cometer errores sin que eso provoque grandes problemas. ¡No debe usarse para encargarse de la gestión de proyectos!

Si puede obtener algún tipo de fondos para un servidor barato que ejecuta algún software de gestión de proyectos de desarrollo de software / ALM, podría ayudarlo en términos de seguimiento del desarrollo y consultas de los usuarios, ¡todo vinculado a su repositorio! Soy un gran fan de usar el software ALM. Puede ayudarlo a comunicarse y planificar su desarrollo de una manera que haga que el vínculo humano no sea una dependencia. Si se usa correctamente, realmente puede ayudarlo a estructurar su proceso. (Requiere algo de disciplina)

Si tiene los fondos para ejecutar un servidor de Windows, vaya a TFS. Parece un buen ajuste a lo que está describiendo, pero cuesta más dinero en comparación con las herramientas de FOSS. Por otro lado, es un conjunto de herramientas muy bien integrado, por lo que te permitirá administrar tus proyectos en un entorno bien integrado con una curva de aprendizaje superficial. (Suponiendo que no quiera nada especial. TFS es altamente configurable, pero un PITA para configurar si no ha trabajado con los técnicos involucrados anteriormente).

Las alternativas de FOSS que me gustan son: trac, redmine o chilliproject. Excepto por Redmine, solo las he usado como usuario, por lo que no puedo decirte lo fácil que es configurarlas.

Si la administración no irá más allá de Excel, no tendrá suerte. Se reduce al sentido común en ese caso. Sugiero tener algún tipo de hoja de resumen y un libro de trabajo por proyecto con una página para el seguimiento de errores, una página para la planificación de la versión y una página para documentar las versiones. (Ya lo inventé ahora, pero parece un comienzo si no puedes conseguir las herramientas adecuadas para hacer tu trabajo)

¿En términos de quién está usando ese software? Eso es lo que nadie sabe. La única forma de saberlo es encuestando a los usuarios potenciales, a menos que tengan conexiones a través de la red que pueda buscar con la ayuda de un administrador de red. En cuanto a saber qué hace el software, tendrá que analizarlo si no hay documentos disponibles y nadie puede proporcionarle esa información. La forma rápida pero inexacta sería ejecutarlo en algún tipo de caja de arena y echarle un vistazo. La forma lenta pero completa sería revisar el código. (Tal vez realice una ingeniería inversa con la ayuda de una herramienta UML con capacidades de ida y vuelta para obtener una descripción general rápida de la estructura)

En cuanto a como la parte sin documentación. Este parece ser un buen momento para señalar la necesidad de documentación. Los documentos tienen dos caras: comentar el código y crear una descripción general / documentos de uso.

    
respondido por el Onno 24.05.2013 - 15:43
4

Por supuesto, deberá documentar lo más posible cada proyecto, pero también necesitará un "lugar" centralizado donde tenga su catálogo de servicios / productos, describiendo los "metadatos" del proyecto como lo señaló: Qué departamento lo esta usando? ¿Quién se encarga de mantenerlo? ¿Para qué se usa esto? ¿Qué dependencias hay con otros proyectos?

Ese "lugar" puede ser cualquier cosa que funcione para usted y su empresa, como un documento o una hoja de Excel. Pero, por supuesto, puede utilizar herramientas o productos más "complejos", como una wiki, un sistema de gestión de documentos o productos especializados al respecto.

Le recomiendo que eche un vistazo a ITIL, donde definen lo que llaman el Catálogo de servicios de ITIL: enlace , solo para tener una idea.

    
respondido por el adosaiguas 24.05.2013 - 15:54
3

Como lo señala Dan, tener un archivo readme.txt en el proyecto es crucial, no es necesario que sea grueso, pero debería cubrir lo suficiente para que una persona capacitada construya y elimine el código. Las cosas clave que se deben cubrir son las configuraciones y dependencias externas y otras cosas relacionadas con las minas terrestres.

También recomendaría el uso de una herramienta de seguimiento de proyectos con integración SCM. Personalmente estoy parcial a redmine estos días. Si se usan correctamente, tienden a ser agradables, fáciles de almacenar, la documentación de autoalimentación con el tiempo. Creo que nuestra redmine es especialmente valiosa para las ocasiones en que uno tiene que sumergirse en un proyecto que ha estado inactivo durante mucho tiempo, ya que hay cosas que se pueden aprender de redmine que no se puede aprender de otras herramientas del proyecto.

    
respondido por el Wyatt Barnett 24.05.2013 - 16:14
3

En lugar de una simple hoja de cálculo o archivo de texto, sugeriría algo como TiddlyWiki . Es un wiki simple que se ejecuta completamente dentro de un navegador, por lo que no hay nada que instalar o configurar. Péguelo en una ubicación pública y periódicamente haga una copia de seguridad (solo envíe el archivo a un repositorio de Subversion). Proporcionará un poco de estructura sin que (con suerte) sea demasiado limitante. Si necesita algo más, Liferay ofrece una herramienta de "gestión de la colaboración" basada en el portal de código abierto. Lo he usado en un par de proyectos, pero es probable que sea excesivo por lo que estás tratando de hacer.

    
respondido por el TMN 24.05.2013 - 21:09
2

A lo que se refiere para administrar un 'portafolio' de aplicaciones es Project Portfolio Management (PPM) y / o Application Lifecycle Management (ALM). Existen numerosas herramientas, desde la administración simple de bajo costo hasta la administración de alto nivel.

Hágase un favor a usted y a su organización al NO intentar poner una curita en el problema con soluciones basadas en archivos. Algunas herramientas de PPM que he implementado para clientes incluyen:

AtTask : nivel bajo, SaaS disponible, configuración sencilla y limitada

Planview : nivel alto, SaaS disponible, configuración máxima

Claridad - Nivel medio, SaaS desconocido, configurabilidad limitada

    
respondido por el Frank C. 30.05.2013 - 13:51
0

Redmine .

Cree un proyecto para cada uno de sus proyectos, conecte cada uno a la sección SVN que contiene el código y vaya desde allí. Cada proyecto obtendrá un rastreador de errores y una wiki, y una forma de realizar un seguimiento de los cambios e información sobre cada proyecto a medida que determine cuál es esa información. Además, puede ver el código que comprende los proyectos y vincularlo a errores o documentos.

El segundo bono es que obtienes una muy buena herramienta de administración de proyectos gratis.

    
respondido por el gbjbaanb 30.05.2013 - 14:25
0

Redmine te permite configurar una jerarquía de proyectos, y cada proyecto tiene su propia wiki separada. El formato de wiki es muy simple, por lo que no tienes que volverte loco. La mayoría de los wikis que creamos son solo una página, con enlaces a referencias externas, algunos párrafos quejándose sobre el código deficiente, y luego algunas notas sobre @todos importante.

También admite la integración de código fuente, y hay una sintaxis para enlazar directamente con el código de la wiki, proporcionado por un complemento.

    
respondido por el Jonathan Rich 30.05.2013 - 15:34

Lea otras preguntas en las etiquetas