Estoy tratando de decidir si necesito reevaluar mi proceso de seguimiento de defectos para mis proyectos locales. Durante los últimos años, realmente solo rastreé defectos usando TODO
etiquetas en el código y manteniéndolos en una vista específica (uso Eclipse, que tiene un sistema de etiquetado decente).
Desafortunadamente, estoy empezando a preguntarme si este sistema es insostenible. Los defectos que encuentro suelen estar asociados con un fragmento de código en el que estoy trabajando; los errores que no se entienden de inmediato tienden a ser olvidados o ignorados. Escribí una solicitud para mi esposa que ha tenido un defecto grave durante casi 9 meses, y sigo olvidando solucionarlo.
¿Qué mecanismo utiliza para rastrear defectos en sus proyectos personales? ¿Tiene un sistema específico o un proceso para priorizarlos y administrarlos?
Respuestas:
Fogbugz (licencia individual gratuita) si es un proyecto largo o una lista simple de tareas (usando las tareas de Google)
fuente
Usualmente uso un sistema de control de revisiones basado en la web (Github, Bitbucket, Redmine, Google Code, ...) para almacenar mi código fuente y rastrear errores. Si cree que hay un error en un código específico, puede crear un problema con el número de revisión / lista de cambios / conjunto de cambios y especificar qué archivo y el rango de líneas sospecha.
fuente
Solía usar una hoja de cálculo / archivo de texto por proyecto (los comentarios de tareas pendientes en el código no se escalan bien por las razones que enumeras; son locales para el código, y si hay un problema que no es así, tiende a pasar por alto el grietas)
Recientemente configuré un servidor Redmine en mi red doméstica. Es un poco pesado para un "equipo" de uno, pero estoy trabajando en algunos proyectos en mi propio tiempo, y tiendo a usar las opciones Issue Tracker + Repository con quizás la página wiki extraña en lugares más complejos.
Un amigo mío jura por Pivotal Tracker para los mismos propósitos, pero mi empleador actual usa Redmine internamente, así que pensé que esto me daría algo de práctica. No está mal.
Para proyectos de código abierto, solo uso el seguimiento de problemas de GitHub.
fuente
De hecho, he instalado el sistema Free MANTIS bugtracker en mi servidor web alojado (que uso para un blog y otras cosas), y puse todos mis defectos en eso.
En otras palabras, ejecuto mis cosas como si fueran profesionales y pagasen.
Creo que ayuda a mantener una mejor mentalidad (cierre de defectos, etc.), además de ser coherente (ish) con otras prácticas comúnmente utilizadas en la industria.
Utilice TODO las notas en el código, etc., también, pero solo para las notas más importantes como: "un día tengo que hacer esto más eficiente, el tipo de burbuja perjudica el rendimiento". O para notas más inmediatas sobre dónde te encontraste cuando te llevaron a cenar :)
fuente
Uso el programa ToDo List, un código fuente abierto de codeproject
http://www.codeproject.com/KB/applications/todolist2.aspx
Muy bonito y con muchas características.
fuente
Usamos JIRA en mi lugar de trabajo y soy un gran admirador. Muchos productos y personas involucradas y lo maneja todo bien.
fuente
Vine a buscar una respuesta para esto hace un tiempo y desde entonces he desarrollado un sistema muy ordenado y simple, que cumple con estos objetivos clave para mí:
Objetivos en orden de importancia:
(3 y 4 son menos importantes, y hubiera estado bien con un sistema que no los proporcionara, pero este sí).
Paso 1: Obtén un proyecto en Bitbucket
Uso bitbucket para el seguimiento de problemas y para el control de versiones de git (para un proyecto de iOS en XCode, por ejemplo). Miré FogBUGz (que he leído sobre años en JoelOnSoftware) y GitHub y otros, pero Bitbucket parece tener las mejores funciones gratuitas para equipos pequeños.
Paso 2: utilice el seguimiento de problemas de Bitbucket en el proyecto
A continuación, configuro el seguimiento de problemas en el mismo proyecto de bitbucket. Entonces mi proyecto ahora tiene un repositorio git y seguimiento de problemas.
Paso 3: ¡facilita el seguimiento de problemas!
Para esto estoy usando Bitbucket Cards, que es un agradable y simple front-end para los problemas de Bitbucket. Solo tiene que iniciar sesión en su cuenta de Bitbucket y configurar las columnas que desee. Tengo cuatro columnas: Backlog, Next, Bugs y Resolved. (Estoy pensando en fusionar Bugs con Backlog, pero no importa eso por ahora)
(Esta imagen es del blog de Bitbucket Cards, no de mi proyecto, por lo tanto, las columnas son diferentes a las que uso)
Bitbucket Cards le permite configurar un filtro muy simple para cada lista donde elija los estados y los tipos de problemas que van en una columna de tarjeta. Entonces, los
open
problemas de estado de este tipobug
van en la columna Error .(Este es de mi proyecto: así es como selecciono lo que va en la columna Error)
Lo que es realmente genial es que cuando arrastra y suelta una tarjeta de una columna a otra, cambiará automáticamente el estado del problema que representa la tarjeta para que coincida con eso en la definición de la columna de destino.
Otra cosa buena de las tarjetas Bitbucket es que no se agota el tiempo fácilmente. Esto es crucial ya que el objetivo de toda esta configuración es facilitarlo, por lo que este sistema funciona para mí en lugar de que yo trabaje para él. Abro un marcador en la página de mi tarjeta y permanece abierto en una pestaña de Chrome todo el día.
Esto se encarga de mi segundo objetivo.
Paso 4: átalo con el control de versiones.
Los problemas de Bitbucket se relacionan perfectamente con el control de versiones (en cuanto a la mayoría de los competidores), así que cuando termine de trabajar en un problema, lo confirmo con un mensaje como "Agregué la cosa al whatsit. Corrección # 245". Si confirmo esto, luego lo presiono, luego vuelvo a cargar mi página de Tarjetas de Bitbucket, veré que el problema se ha movido a la columna Resuelto. Bueno.
Ahí está mi tercer objetivo.
Paso 5: facilita la CREACIÓN de problemas.
Probablemente piense que toda esta configuración ya es demasiado complicada de configurar, y por qué querría agregar otra aplicación web al proceso. Bueno, recuerde mi objetivo principal arriba: quiero hacer que sea tan fácil agregar una tarea que no pierda mi hilo mental antes de llegar al área de texto para escribirlo, ni quiero perder mi lugar en el código para cuando termine.
Ahora, Bitbucket Cards me permite crear tareas con bastante facilidad, pero es un poco difícil de hacer clic y desplazarse para alcanzar completamente el objetivo # 1. Debe hacer clic en Crear un problema; entonces aparece un editor modal; después de ingresar el título del problema, debe desplazarse hacia abajo para especificar el tipo (error / tarea) y la prioridad; luego haga clic en crear.
En cambio, elegí usar una segunda aplicación de Bitbucket llamada taskrd .
Puede configurar taskrd, dándole su inicio de sesión de Bitbucket, y establecerlo en un marcador y una pestaña, y mantenerlo abierto todo el día, al igual que las tarjetas de Bitbucket. Taskrd tiene un flujo de trabajo mucho más simple para agregar una nueva tarea, simplemente escríbala, opcionalmente establezca el tipo y la prioridad, y presione el botón Agregar.
(esta imagen es del blog de Taskrd)
Ahora es discutible que no valga la pena el esfuerzo de configurar Taskrd sobre el uso de las tarjetas Bitbucket o incluso el propio sistema de entrada de problemas de Bitbucket. Después de todo, con Taskrd tengo que hacer clic en una pestaña de mi navegador y hacer clic en Volver a cargar en mi página con las tarjetas Bitbucket para que se actualice y obtenga el nuevo problema que agregué en la aplicación Taskrd. Pero, de hecho, descubro que generalmente estoy en modo u otro: o estoy usando Bitbucket Cards para organizar lo que estoy haciendo a continuación, o para revisar la lista de errores, o estoy ocupado codificando e ingresando tareas / errores a medida que se me ocurren, todo en modo de disparo rápido. Para este segundo modo de trabajo, el Taskrd es excelente: simplemente lo mantengo abierto en un monitor separado, y rápidamente ingreso problemas mientras trabajo.
Eso cubre el objetivo # 1.
Mi último objetivo fue una configuración fácil / barata. Bueno, es barato: todo esto es gratis. Bitbucket tiene repositorios privados gratuitos para hasta cinco usuarios y las otras aplicaciones eran gratuitas. La configuración parece no trivial en base a lo anterior, pero realmente la parte más complicada fue configurar git para empujar al repositorio de bitbucket, que será el mismo en cualquier lugar. No tuve que instalar nada, y conectar ambas aplicaciones a mi repositorio de bitbucket fue bastante fácil. Configurar las columnas de las cartas como me gustaron me costó un poco jugar, pero no fue realmente difícil.
Al leer esto de nuevo, podría parecer un poco un shill para Bitbucket, pero realmente no es mi intención. Es solo que he estado usando este proceso durante semanas, después de años de probar diferentes configuraciones para rastrear lo que estoy haciendo, y realmente lo estoy cavando, así que pensé que me tomaría el tiempo para presentarlo a los demás.
fuente
Si está familiarizado con el uso de etiquetas TODO en Eclipse, un simple paso adelante sería usar Mylyn . En su forma más básica, es una simple lista de tareas pendientes. Pero también asocia el contexto con las tareas: haga clic en una tarea para activarla, haga algunas cosas y luego, la próxima vez que la active, Eclipse abrirá las clases relevantes y le mostrará los métodos relevantes. Aún más poderoso, si eventualmente se muda a algún otro sistema de seguimiento de errores, Mylyn puede extraer tareas de esos sistemas y presentarlas en su IDE.
La mayoría de las descargas de Eclipse en estos días tienen Mylyn incluido como estándar. Simplemente busque la vista Lista de tareas y comience a agregar tareas.
fuente
Yo uso la licencia inicial de $ 10 para Jira. Es barato y ya lo sé bien por trabajo.
fuente
Al igual que otros aquí, uso un archivo de texto o el rastreador de errores integrado en cualquier servicio de alojamiento de dvcs.
Mucho depende de qué tipo de "proyecto personal" sea. ¿Es algo que alguna vez verá la luz del día o es solo un experimento? ¿Este proyecto está en uso por el público?
Por ejemplo, uno de mis proyectos personales se hizo moderadamente popular y la creación de un sitio de Obtener Satisfacción funcionó muy bien. Realmente no es "seguimiento de errores", pero funcionó muy bien para solicitudes de errores / características.
fuente
Un poco sorprendido de que nadie haya dicho esto todavía, pero hay soluciones distribuidas de seguimiento de errores que actúan como parte de su control de fuente distribuida, es decir, la base de datos de errores vive con su código en su control de revisión. Las implementaciones bien conocidas incluyen "Bugs Everywhere", Fossil y Ditz.
Ver https://stackoverflow.com/questions/773818/distributed-projectmanagement-bug-tracking y https://stackoverflow.com/questions/1851221/distributed-bug-tracker-to-go-with-dvc?rq=1 para una discusión
fuente
Para mis proyectos personales utilizo Omnifocus.
Actualización: 25/10/2010 Si encuentro un error que no puedo o no quiero solucionar de inmediato, lo agrego rápidamente a la bandeja de entrada de Omnifocus. Luego, cuando esté haciendo una revisión, reuniré toda la información que creo que necesitaré para corregir el error y luego la agregaré al proyecto. Su posición en la lista de tareas indica que es de importancia relativa.
Trato los errores de la misma manera que los requisitos / características en la mayoría de los aspectos.
fuente
Para proyectos personales, TODO-comentarios y un archivo de texto con TODOS y errores, etc. suelen ser suficientes para mí.
fuente
Uso mi propio TheKBase (ya que estoy en OSX, lo uso en .Net en una máquina virtual o Mono, dependiendo de mi estado de ánimo). Solo para un usuario concurrente, pero: permite múltiples jerarquías, por lo que va del administrador de tareas al administrador de información sin perder ningún paso intermedio. Además, es de código abierto en Github y gratuito (eso es obvio, supongo).
Para los curiosos, las instrucciones están aquí .
fuente
Yo uso ToDoList para mis proyectos personales; Es liviano, gratuito y tiene muchas características. No estoy seguro de qué tan bien se adapta a los proyectos de equipo, pero es genial para mí trabajar solo. No estoy seguro de cómo sobreviví usando la lista de tareas incorporadas de Visual Studio durante tanto tiempo, es una mierda.
fuente
Utilizamos una combinación de JIRA y Google Docs y hojas de cálculo. Investigué otras herramientas ya que nuestra instalación de JIRA es más antigua que la suciedad y no es tan fácil de usar como las interfaces más nuevas, más elegantes, de arrastrar y soltar.
Miré en Manymoon, Zoho Projects, Insightly, Redmine y Assembla. Vamos a experimentar con la herramienta gratuita Stand Up de Assembla . Es una interfaz de informes de 3 campos muy simple que hace 3 preguntas a cada miembro del equipo: ¿Qué hiciste la semana pasada? ¿Qué vas a hacer esta semana? ¿Qué barreras hay en tu camino?
Al final, creo que me quedaré con JIRA, Google Docs y la herramienta Assembla Stand Up, ya que la combinación me da todo lo que necesito.
fuente
Lo que más me gusta es Trac, porque es liviano, fácil de usar y fácil de configurar. Y la wiki integrada y el elegante navegador de repositorios son una gran ventaja.
En el trabajo utilizamos JIRA, que también es bastante agradable, pero no tan fácil de administrar. Y realmente extraño un wiki (la integración con Confluence no es tan buena) y un buen navegador de repositorio (solo tenemos ViewVC).
fuente
He estado usando Trac durante los últimos años. También he usado Bugzilla y JIRA. Mis proyectos de consultoría personales y privados involucran a Trac simplemente porque estoy acostumbrado y poner en marcha un proyecto en mi configuración de desarrollo personal requiere muy poco esfuerzo porque el esfuerzo ha terminado. Tengo el tráfico conectado con todo lo que necesito, incluidos SVN o Git y Hudson (o más bien Jenkins ahora).
En algunos proyectos de clientes, generalmente no hay otra opción que lo que usan, que desafortunadamente muchas veces no hay nada o algo en la casa. Me sorprende cuando tienen un rastreador de errores últimamente. Sin embargo, en lo personal, espero una mejor oferta de la comunidad OSS que Trac. Hace las cosas, pero en estos días parece un mosaico.
fuente
No veo el punto de usar el seguimiento formal de errores para pequeños proyectos individuales. Por lo general, mantengo una lista mental (muy corta) y corrijo los errores a medida que me doy cuenta de ellos. Por supuesto, esto no escala para proyectos grandes / de varias personas, pero el punto es que no es necesario.
fuente
Si usa ReSharper, tiene un
TODO tracker
, que le muestra una lista de todos losTODO
s,NOTE
syBUG
s en su solución. También los resalta en su código en cualquier color que elija. Encuentro esto realmente útil en mis propios proyectos.fuente