La metodología Kanban con KanBoard en la Raspberry Pi

Este es uno de los capítulos del tutorial La Raspberry Pi. Primera primeros pasos.. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.

Hace unos días Eduardo Collado en su fantástico y muy recomendable Podcast, introdujo KanBoard. KanBoard es una aplicación web para gestionar un Kanban. Yo hasta la fecha estaba trabajando con Trello y de hecho estoy manteniendo un repositorio para facilitar la instalación de un cliente no oficial de Trello para Linux. Tras oír el podcast me decidí a instalarlo. Y ahora te recomiendo que lo instales en tu Raspberry Pi y lo pruebes.

KanBoard

Primeras impresiones

Tengo que confesar que la primera impresión me tiró bastante para atrás. Echaba de menos un calendario donde visualizar todas las tareas que tenía que llevar. El aspecto de la aplicación es bastante espartano… En fin detalles, que me condujeron por una senda equivocada. Y decidí dejarlo aparcado…

Posteriormente, tras hablarlo con Ángel de uGeek, decidí darle una segunda oportunidad. Sobre todo después de que me comentara que existía un complemento que habilitaba la opción de un calendario. Creo que el calendario debería estar por defecto.

Llegados a ese punto, me decidí a probarlo a fondo. Instalar todos los complementos para averiguar que funcionalidades me resultan mas interesantes. Crear distintos usuarios y grupos, para comprender el uso y funcionamiento de los mismos. Y por supuesto crear distintos tableros y medio centenar de tareas.

Ahora comprendo, que KanBoard, es una interesante alternativa a Trello. Con la ventaja, tal y como indica el propio Eduardo, de que tu eres el dueño de los datos.

Sobre KanBoard

KanBoard es una aplicación de gestión de proyectos siguiendo la metodología Kanban. Se trata de software libre y gratuito. Un proyecto en el que colaboran mas de 190 personas. Está traducido a mas de 30 idiomas. Y se interrelaciona con otros servicios entre los que se encuentra GitHub o GitLab.

Esto último es realmente interesante si estás desarrollando software y utilizas cualquiera de esas dos plataformas. Puedes integrar KanBoard con GitHub y GitLab para que el desarrollo sea mucho mas produtivo.

Características

  • Simple. KanBoard se centra en la sencillez y el minimalismos. De hecho, según los desarrolladores de la aplicación indican, el número de características está voluntariamente limitado.
  • Los tableros Kanban son la forma mas sencilla de conocer la situación de tu proyecto de un solo vistazo. No hay mucho mas que explicar, y prácticamente no necesitas ningún tipo de práctica para comenzar a manejarlo. De esto puedo dar fe, aunque creo que hay que profundizar en la metodología Kanban para poder sacarle todo el partido que se merece.
  • En este sentido y con este objetivo, cambiar tareas de una columna a otra es tan sencillo como arrastrar y soltar la tarea. Pero no solo, esto sino que además, las columnas son completamente editables. Puedes añadir, mover, renombrar y eliminar columnas en cualquier fase de tu proyecto.
  • El objetivo de Kanban es que te centres en la tarea que tienes que hacer, y que evites la multitarea. De esta manera, KanBoard, te permite indicar el número máximo de tareas que puedes tener por columna. Y debes entender la columna como una fase de tu proyecto. De forma que si en un momento determinado añades mas tareas de las permitidas, KanBoard te avisará de ello. Hay que tener en cuenta que tiene en cuenta todas las tareas de la columna con independencia del carril en el que se encuentre. El trabajo en curso debe estar limitado.
  • Búsquedas simples pero potentes. KanBoard tiene su propio lenguaje de consultas. Esto da un gran potencial puesto que simplifica enormemente el trabajo de localizar una tarea concreta.
  • Tareas, subtareas, adjuntos y comentarios. KanBoard te permite dividir una tarea en subtareas, lo que te permitirá estimar con mas acierto el tiempo que vas a dedicar a una determinada tarea. A las tareas y subtareas les puedes definir un tiempo estimado y llevar un seguimiento del tiempo. De forma que cada vez que empieces una tarea o subtarea, pones el reloj en marcha, y cuando paras detienes el reloj. Esto te permite llevar un control del tiempo que le dedicas a cada tarea, pero no solo esto, sino que además te permite estimar con mas precisión el tiempo para las futuras tareas.
  • Acciones automatizadas. Con esta espectacular característica puedes definir que se realicen determinadas acciones en función de que se produzcan ciertos eventos. Así por ejemplo, puedes definir que cuando una tarea caiga en una determinada columna se cierre. Igualmente, puedes actualizar la fecha de inicio cuando la tarea pase a la columna en curso. O por supuesto, asignar un color a una tarea en función de la categoría a la que pertenezca. Y lo que es mas interesante, detener todos los contadores de subtareas al mover la tarea a otra columna. Esta última acción es realmente útil, para el seguimiento del tiempo que he comentado anteriormente.
  • Tareas administrativas. KanBoard te permite realizar de forma sencilla determinadas tareas administrativas, como puede ser duplicar un proyecto, copiar tareas entre proyectos, etc.

Trabajando con KanBoard

Aunque todavía estoy haciendome con KanBoard, lo cierto es lo he integrado totalmente con un par de proyectos que llevo en marcha (uno es este), y con algunas tareas personales.

Pero lo mas interesante, como ya he comentado anteriormente es el seguimiento del tiempo, time tracking. Esto del control del tiempo es algo realmente espectacular. En el momento de escribir este artículo, estoy implementando algunas aplicaciones para Android. Estoy utilizando KanBoard para llevar un seguimiento del tiempo que tardo en hacer cada Fragment. Parto de una estimación de tiempo para cada Fragment y posteriormente compruebo, el tiempo invertido.

Columnas y carriles

KanBoard funciona por columnas donde se disponen las distintas tareas a realizar. El objetivo, es que en la columna donde estás trabajando, la columna en curso, solo tengas una actividad. Al fin y al cabo, tal y como he indicado anteriormente, el objetivo es enfocarte en la actividad que estás realizando. Enfocarte en una sola actividad.

Pero además de las columnas, que yo las entiendo como las etapas de mi proceso, también disponemos de carriles. Yo estoy utilizando los carriles para distinguir diferentes procesos. Al final, son procesos interrelacionados, porque al fin y al cabo solo dispongo de un recurso, y como dice el dicho (valga la redundancia), no se puede estar en misa y repicando.

De esta manera en cada carril, he colocado cada uno de mis proyectos, y un tercer carril para otras tareas. Con lo que KanBoard, en el momento de escribir el artículo, tenía un aspecto como el que puedes ver en la siguiente captura de pantalla.

Otro de los aspectos que he hecho un uso intensivo es de las acciones automatizadas, para asignar colores a categorías, etc; tal y como he comentado anteriormente.

Instalación

Una de las ventajas de KanBoard, como ya adelantó Eduardo Collado en su podcast es que los datos están en tu poder. Pero, evidentemente, esto también representa un pequeño inconveniente, y es que tu tienes que encargarte de la instalación y mantenimiento. Tampoco es problema.

En mi caso, he recurrido de nuevo a la Raspberry Pi, para hacer la instalación de KanBoard. Dado que ya tengo la infraestructura LAMP necesaria, el proceso de instalación ha sido coser y cantar (no se porque de este dicho, cuando a mi se me dan bastante mal ambas artes). Si no tienes LAMP en la Raspberry Pi, o no sabes lo que es, a que esperas, esto es vital, y te abrirá todo un mundo de posibilidades. Te recomiendo, que en ese caso leas el artículo Instalar una infraestructura LAMP en tu Raspberry PI en dos pasos, que pertence eal tutorial La Raspberry Pi. Primeros Pasos.

Una vez resuelta la instalación de la infraestructura LAMP, que te recomiendo encarecidamente lleves a cabo (aunque ni siquiera sea para este artículo), el siguiente paso es instalar KanBoard. Esto es realmente sencillo, solo tienes que seguir estos pasos,

mkdir -p /var/www/html
cd /var/www/html
wget https://github.com/kanboard/kanboard/archive/v1.2.0.tar.gz
tar xvzf v1.2.0.tar.gz
mv kanboard-1.2.0 kanboard
sudo chown -R www-data:www-data kanboard

Configuración

Ahora tienes que crear la base de datos de KanBoard. Para ello puedes utilizar phpmyadmin o adminer, según te explico en el capítulo sobre gestionar bases de datos de este tutorial.

El siguiente paso es modificar el archivo de configuración de KanBoard. Para ello, edita el archivo /var/www/html/kanboard/config.php, y modifica estas tres líneas,

// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'mysql');

// Mysql/Postgres username
define('DB_USERNAME', 'AQUI PONES EL NOMBRE DE USUARIO DE MARIADB');

// Mysql/Postgres password
define('DB_PASSWORD', 'AQUI PONES LA CONTRASEÑA DE TU USUARIO DE MARIADB');

Una vez terminada la instalación abre tu navegador y ves a la dirección IP de tu Raspberry Pi seguida por el directorio de instalación, en mi caso http://192.168.1.48/kanboard. Si todo ha ido bien, te verás lo siguiente

Inicialmente es usuario admin y contraseña admin. Por supuesto, quita ese usuario y crea tu propio usario y contraseña.

Dependencias

En mi caso particular, no me funcioné correctamente. Le faltaban dos dependencias, php7.0-gd y php7.0-mbstring. Esto fue sencillo de corregir,

sudo apt install php7.0-gd php7.0-mbstring
sudo systemctl restart apache2

Con todo esto ya tienes que estar trabajando con KanBoard sin problema alguno…

Conclusiones

Como puedes intuir de este artículo, estoy encantado con KanBoard. Ahora mismo, lo tengo perfectamente integrado en mis proyecto. Es sencillo, simple e intuitivo.

Aunque tengo que confesar que le hecho en falta alguna cosilla, no descarto, liarme a crear algún complemento para resolverla. Te recomiendo encarecidamente que lo pruebes, tanto si conoces la gestión con Kanban, como si no la conoces.

Por último, si no lo has hecho todavía, te recomiendo que escuches el podcast de Eduardo Collado sobre KanBoard, y que el podcast de uGeek, donde Ángel te mostrará, entre otras cosas, como tener las notificaciones de KanBoard directamente en tu Telegram,


Más información,