15 diciembre 2007

¿ Por qué los programadores no hacen Tests Unitarios ?

Hace unos meses acudí a un seminario sobre testeo de software en el que en pocas palabras se "demonizaba" a los programadores por no querer hacer tests unitarios de sus programas. Realmente, ¿ los programadores no hacen tests unitarios de sus programas porque no quieren ?
Creo que es cierto, que los programadores tenemos (aunque en estos momentos ciertamente programo poco), la mala costumbre de querer acabar cuánto antes los trabajos asignados,y pasar rápidamente página. Ésto, al fin y al cabo, significa que existe una clara tendencia a no probar todo lo bien que se debería, los desarrollos que realizamos. No se puede dejar en manos de los testeadores, toda la labor de encontrar los malos funcionamientos de nuestro trabajo. Es responsabilidad del programador la calidad del software implementado.
Pero considero que aquí se acaban los reproches sobre los programadores. Tengo totalmente claro que un programador es el primer interesado en realizar tests unitarios, si se dá pie a que su realización llegue a formar parte de una parte más del trabajo que está desarrollando.
¿ Qué necesita, entonces, un programador para realizar tests unitarios ?
Básicamente, soporte por parte de la dirección de la empresa. Ésto se traduce en:
  • Formación.
  • Asumir que los tiempos de desarrollo se incrementarán (sobre todo al principio), pero que se verán compensados con una bajada espectacular de los costes de no conformidad: reproceso, garantías, mala imagen, pérdida de clientes, etc. Al final, una mejor calidad del software desarrollado.
  • Proporcionar las herramientas necesarias, para facilitar la realización de los tests unitarios. Me refiero a herramientas tan válidas, como Visual Studio 2008 Team Edition.

Una vez que el sistema cale en la organización, los programadores serán los primeros beneficiados. ¿ Y por qué iban a poner pegas a la realización de los tests unitarios ?

Por otra parte, es básico que el sistema de enseñanza actual de España, se dé cuenta de la importancia del testeo de sofware, e incorpore en sus planes de estudio, asignaturas que enseñen a los futuros programadores, el cómo realizar tests unitarios. Hay que darle la importancia, que realmente tiene, y concienciar a los alumnos, que su realización es una parte más de la escritura de un programa.

25 noviembre 2007

LINQ y el Acceso a Datos

Es mucho ya lo que se está empezando a hablar con respecto a LINQ y el acceso a datos, y sus efectos sobre el rendimiento, en comparación con la utilización de procedimientos almacenados, o simplemente con consultas ad-hoc de T-SQL.
Daniel Seara en su blog nos muestra con estas dos entradas los problemas de rendimiento que podemos tener al usar esta nueva tecnología:

Novedades de Visual Studio 2008 para Dispositivos Móviles

Esta misma semana Microsoft ha liberado la versión definitiva de Visual Studio 2008. Se trata, no obstante, de la versión RTM, que puede ser descargada con una subscripción MSDN.
Incluye novedades muy interesantes para la programación de dispositivos móviles, y algunos enlaces de interés son los siguientes:

18 noviembre 2007

Porque no todo es trabajo...

Aunque tengo que decir que cada día que pasa me gusta menos la tele, todavía hay alguna serie que vale la pena seguir. El descubrimiento de "Caso Abierto", no fue mérito mío, sino de mi mujer, pero me enganchó cuando la ví. Es original, tanto en los casos que aborda, como en su resolución, y lo mejor de todo es el acompañamiento musical que tiene. Posiblemente sea una de sus grandes secretos.
Y como muestra ....

02 noviembre 2007

De interés sobre Testeo de Software

Dada la importancia que tiene el testeo dentro de los proyectos de software, es una gran noticia descubrir el portal de Microsoft sobre testeo de software. Se trata del "Microsoft Tester Center".

Libro sobre Gestión de Proyectos con Scrum


Scrum es una metodología ágil, dirigida a gestionar eficazmente proyectos informáticos. Últimamente, está teniendo gran auge en todos los foros relacionados con el desarrollo informático. A mi particularmente me gusta bastante, y pienso que es de esas cosas que realmente funcionan en el mundo real.
Hace poco veía un vídeo de una "oficina ágil" creada por Microsoft, para trabajo de equipos que usan este tipo de metodología.
Realmente, esta entrada viene a cuento, porque Juan Palacio (http://www.navegapolis.net/) acaba de escribir un libro sobre Scrum("Flexibilidad con Scrum"), que incluso pone a disposición para descarga gratuita en su web. En la primera ojeada que le he dado me parece muy interesante, y además hay que tener en cuenta, que sobre Scrum no había hasta el momento (o por lo menos yo no lo había encontrado), ningún libro en castellano.

28 octubre 2007

Técnica del Valor Ganado

La técnica del valor ganado (EVT) es una poderosa herramienta, tanto para el control de costes, como del cronograma, de cualquier tipo de proyecto.
Se encuentra descrita dentro del "Control de Costes" del área de conocimiento de "Gestión de los Costes del Proyecto" del PMBOK (PMI).
Su concepto, y el de otros relacionados, me parecen revolucionarios, en lo que supone la gestión de proyectos en la actualidad.
Para saber más, se puede visitar el blog de Diego Navarro, que está dedicado especialmente a la dirección de proyectos. En dicho blog existe una serie completa dedicada a esta técnica, y un completo artículo en PDF donde unifica dicha serie de entradas. Es un gran trabajo, que recomiendo leer.

07 septiembre 2007

Creando aplicaciones para descubrimiento de servicios Wifi en dispositivos móviles

Actualmente las APIs de los sistemas operativos Windows Mobile 5.0 y Windows Mobile 6.0 proporcionan mecanismos para poder trabajar con las características y servicios wifi de los dispositivos móviles. Sin embargo si todavía programamos para dispositivos con windows mobile 2003 carecemos de cualquier ayuda en este sentido.
De nuevo, encontramos un gran artículo de Chris Tacke, que haciendo uso de las librerías de Opennetcf.org, construye una completa aplicación para el descubrimiento de servicios wifi. Tenemos el código fuente para investigar, y poder intregrar en nuestras propias aplicaciones.
Por cierto que Chris Tacke, Alex Feinman y el resto de monstruos de Opennetcf.org, han creado una nueva comunidad dedicada al desarrollo para dispositivos móviles.

24 junio 2007

Código .Net compartido

En la edición del mes de julio de MSDN Magazine, Daniel Moth publica un interesante artículo sobre compartición de código entre aplicaciones de escritorio, y aplicaciones desarrolladas para dispositivos móviles. El artículo responde a aquellas dudas que siempre hemos tenido acerca de la reutilización de librerías que hemos desarrollado para ambas plataformas.

Configurando MOSS 2007 en una máquina virtual

Hace un tiempo encontré un link en el que se indicaba paso a paso y de forma muy detallada como configurar MOSS 2007 en una máquina virtual. Es además una guía muy práctica para realizar la configuración inicial de Sharepoint, en cualquier tipo de entorno.