martes, mayo 08, 2012

Entorno de desarrollo de software mínimo (III) - Software y herramientas

Continuando con la serie de Entorno de desarrollo de software mínimo, llegamos a la parte de herramientas. Ya hemos visto qué documentación y metodología mínima que necesitamos para poder gestionar un proyecto. Ahora vamos a ver el mínimo conjunto de software o herramientas que vamos a necesitar para llevarlo a cabo.

Herramientas // Tools


Como herramientas imprescindibles podríamos tener:
  • IDE o editor productivo: El IDE o Entorno de desarrollo integrado, una vez aprendido lo básico, aumenta la productividad cuando desarrollas. En el IDE puede estar integrado desde el autocompletado de código hasta la gestión de tareas o de versiones de código. También existen editores muy avanzados, como en el caso de VIM, los cuales son igual de productivos que un IDE si el usuario es experto. Lo malo de estos es la curva de aprendizaje, que suele ser más alta. Es curioso que no he visto ningún arrepentido de haber aprendido a utilizar VIM, sino todo lo contrario.
  • Entorno de desarrollo y de integración: Los entornos de desarrollo e integración suelen ser reproducciones del entorno en el que se va a instalar la app. Desde servidores, PC, móviles, etc. Según el tipo de aplicación que se esté desarrollando. Es importante tenerlos separados, ya que uno sirve para que un desarrollador pueda hacer pruebas unitarias sin molestar al resto del equipo y el de integración para (como bien dice la palabra) integrar su desarrollo en otros ya existentes.
  • Control de versiones de código: Ha día de hoy, no me imagino ningún proyecto sin esta herramienta para controlar las versiones de código. Con este tipo de herramientas se puede controlar quién hace qué cambios y cuando, mezclar el código de manera más intuitiva y fácil y poder volver a versiones anteriores. Existen dos tipos principales, centralizados como SVN o distribuidos como Git y Mercurial. Aunque en el trabajo utilizo SVN, en proyectos personales o cuando no tengo acceso al servidor de subversion utilizo Mercurial. Una de las grandes ventajas de un repositorio distribuido es la facilidad de subir código de manera continua (commit por característica o bug) en local y luego sincronizar con el principal o con el de compañeros.
  • Gestor de tareas y bugs: Otro elemento indispensable es tener un gestor de tareas y de bugs el cual sea fácil de actualizar y de acceder para todos los componentes del proyecto. Hoy en día existen mil alternativas, desde los instalables en un servidor propio a mantenidos por la propia empresa que los ha creado. Un ejemplo de ello es Atalassian con Jira. MántisBT es una buena alternativa libre para instalar en una máquina propia. 
Con estas herramientas, podemos tener un entorno más que aceptable para poder llevar a cabo un proyecto de desarrollo con éxito. Si además tenemos experiencia y disciplina utilizándolas, con una buena gestión el éxito está casi asegurado.

Y vosotros, ¿ Creéis que falta alguna más que sea imprescindible?

Índice:
Foto: PictFactory

1 comentarios:

 

Copyright © binaridev Design by Free CSS Templates | Blogger Theme by BTDesigner | Powered by Blogger