lunes, 27 de diciembre de 2010

Desarrollo de software en español

Aún se ven pocos que escriben acerca de sus experiencias en el mundo del desarrollo de software en español.  Con este blog espero contribuir a difundir información actual y dar un espacio para discusiones en nuestro idioma.

Les invito a todos a participar y colaborar!

domingo, 26 de diciembre de 2010

Referencia Team System 2010

Para todos aquellos que trabajan con Visual Studio y quieran saber cómo utilizar las funciones que el sistema ofrece desde la versión 2010, les recomiendo leer el libro Professional Application Lifecycle Management with Visual Studio 2010 (Wrox Programmer to Programmer).

Está bien escrito y contiene información útil para todo aquel que planee la implementación de este sistema y de las nuevas funciones que ofrece.

SCRUM en TFS 2010

Para aquellos que emplean SCRUM y Visual Studio 2010 para desarrollar software, hay un nuevo (bueno, no tan nuevo, pero aún hay muchos que no lo saben) template que ofrece una implementación de los artefactos comúnmente utilizados en Scrum.

Si bien, la implementación de Microsoft Visual Studio Scrum 1.0 no es perfecta, ayuda bastante a aquellos que utilizan scrum a mantener los nombres y nomenclatura de dicho proceso.  Dentro de las cosas mejorables, se encuentra la implementación de sprints como work items.  Si bien es una solución sencilla, en la práctica no satisface todas las necesidades.  De todos modos, es una buena base, ya que estos templates son fácilmente extensibles.

Este template será parte de Visual Studio 2010 SP1, que está pronto a ser lanzado.

Transparencia es la base para el desarrollo iterativo de software

El desarrollo iterativo de software funciona como un termostato: se mide con frecuencia la "temperatura" y se corrije de manera de llegar a la meta. Si un termostato no es capaz de medir correctamente la temperatura, es claro que no podrá funcionar.

La clave para medir la temperatura durante el desarrollo de software es una definición clara de lo que significa "terminado" y una cultura de comunicación que valore la honestidad y permita decir la verdad. También ayuda tener las herramientas correctas, pues la verdad suele ocultarse detrás de tanta información.

Ken Schwaber, el creador de Scrum habla en este interesante webcast al respecto.

Motivación

Hacer software es como resolver puzzles. Es una actividad de ingenio y creatividad. Contario a las prácticas comunes de la industria, bonificar a personas que desarrollan este tipo de actividades por su rendimiento no sirve para mejorar el resultado, sino que produce todo lo contrario.

Aquí hay un buen resumen de las ideas que Daniel Pink ha consolidado en su libro Drive: The Surprising Truth About What Motivates Us:


domingo, 8 de noviembre de 2009

Desarrollo de software, más fácil que hace 30 años?

Estoy leyendo el libro Coders at Work, de Peter Seibel, que contiene entrevistas a destacados programadores de los últimos años.  Lo que me ha llamado la atención es que pese a que durante todos estos años han ido apareciendo constantemente nuevas herramientas y métodos que han prometido aumentar dramáticamente la productividad, el trabajo sigue siendo similar y el tiempo necesario para llevar a cabo un proyecto de desarrollo de software no ha disminuído.

La gran diferencia de un software de hace 30 años con uno de ahora es que hoy en día los usuarios no son todos computines: usan el computador como herramienta de trabajo, el computador no es el fin, sino que el camino.  El software de hoy en día se mide con una vara más alta:
  • Tiene una interfaz gráfica que no sólo es intuitiva y sencilla de usar, sino que además es atractiva a la vista.
  • Es sencilla de instalar, no es necesario haber estudiado informática para hacer que funcione en un computador.
  • Es (medianamente) independiente del hardware. Funciona en cualquier PC o MAC.
  • Está altamente integrada con otras aplicaciones o sistemas. 
  • Es sencilla de actualizar.
Antes todo eso no existía. Hoy los diseñadores y programadores deben asegurarse que sus aplicaciones satisfagan todos estos requerimientos, aparte de implementar todas las funciones que el usuario necesita.

Esto explica dónde se ha "perdido" el aumento de eficiencia: el software de hoy en día es mejor y todos esperan que lo sea.

jueves, 5 de noviembre de 2009

Google, Información y Transparencia

La misión de Google es recolectar información, ordenarla y ofrecerla de modo tal que quienes buscan puedan encontrar lo que necesitan. El peor enemigo de Google es el miedo de la gente de entregar sus datos a la empresa.  Un nuevo intento por aminorar ese miedo es Google Dashboard, un sistema que permite ver qué información ha almacenado Google de una persona. Interesante iniciativa.