El rincón de las lamias

Mi blog personal

Los análisis de las aplicaciones no son solo para los desarrolladores.

Hace ya unos meses que en mi trabajo empezamos a desarrollar un proyecto.

Entre otras dos de las condiciones que nos impone el cliente son:

  • El framework con el que tenemos que trabajar JSF
  • Que la aplicación que es para la intranet sea los mas accesible posible y que funcione correctamente con  el IE7 o superiores  y para Firefox 3.

Con esto y muchas cosas mas nos ponemos a dar los primero pasos:

1) Reuniones con el cliente junto con el experto de usabilidad para intentar entender que es lo que quiere el cliente.

2)Desarrollar el analisis (el analista y el UX) y el diseño en función.

3) Pasar el diseño a xhtlm + css  (Cortar la pantalla)

4) Meter el código java y desarrollar todo el negocio

5) Reenviar las pantallas a la persona de accesibilidad para que lo revise.

Y en este punto viene el problema…algunas veces es complicado casar estos dos perfiles. Frases como “es que estos de diseño no se enteran” o “los programadores no tienen ni idea y todo lo rompen” son bastante comunes. Cada uno es experto en su campo y no nos podemos cerrar en banda en nuestra posición, ni acatar lo que nos dice el otro al pie de la letra. Hay que escuchar, intentar entender al otro y buscar en común una solución.

Pero algo muy importante es que tanto el diseñador, como la persona que corta las pantallas  lean el análisis. Tienen que entender las pantallas que tienen que diseñar y “cortar”.Tienen que entender que y para que es cada dato que tienen que  mostrar en las pantallas. Solo de este modo podrán llegar a un acuerdo los programadores, el diseñador y el cortador.

Bueno esa es mi opinión :D

20 Noviembre 2009 Publicado por lamia | Informatica, Reflexiones | 3 comentarios

Con Scrum todo parece mas fácil.

Desde enero en el trabajo estoy gestionando los proyectos con Scrum.Es una metodología ágil para gestionar proyectos. Me gusta mucho y lo mas importante, funciona!!!

Para saber que es Scrum hay un documento que lo explica fácil y bien.

http://www.proyectalis.com/wp-content/uploads/2008/02/scrum-y-xp-desde-las-trincheras.pdf

Aunque seguro que cada persona tiene su propia opinión, voy a intentar resumir los puntos que a mi modo de ver son los mas importantes:

  1. El equipo entero marca sus tiempos y estima las tareas. Gracias a esto, todas las personas se sienten directamente implicadas en el objetivo. Y hacen lo posible para llegar a buen puerto.
  2. El cliente está muy implicado en el desarrollo del proyecto, cada 15 días ve los avances y esta presente en las planificaciones. Se convierte en una persona mas del equipo. Esto hace que sea mas fácil explicarle y que entienda los posibles contratiempos.
  3. Cada día el equipo se reúne durante 15 minutos. De esta manera los problemas se detectan muy pronto y se puede reaccionar. No se tarda un mes o mas en darte cuenta que el proyecto esta desviado.
  4. Las retrospectivas: ese análisis que hace el equipo cada vez que se acaba una iteración (Sprint), para ver cuales han sido los problemas y poder solucionarlos.

Lo reconozco, soy una enamorada del Scrum!!!!

8 Junio 2009 Publicado por lamia | Informatica | 1 comentario

Automatización de pruebas en los desarrollos de software.

Al software le cuesta mucho aparecer, pero una vez que aparece es muy difícil que desaparezca… Por ello es mejor no tener software que tener un mal software.

Pienso que los equipos de desarrollo de software tienen que cambiar el chip, y preocuparse mas por el desarrollo y automatización de las pruebas.

Normalmente se tiende a no desarrollar test de pruebas porque tenemos la idea de que nos hace perder el tiempo. “Ademas de desarrollar la aplicación tengo que programar las pruebas!!!! no me da el tiempo para todo…” Y nos conformamos con unas pruebas de humo que no son ni mucho menos suficientes.

Es importante automatizar las pruebas. Todo código importante en una aplicación debería tener sus pruebas desarrolladas. Una vez que tienes el test de prueba se pasa automáticamente cada vez que se modifique el código que cubre esa prueba, asegurándote que todas las lineas de código funcionan correctamente. No seria la primera vez que por arreglar un caso deja de funcionar otro. En estos casos no nos damos cuenta hasta que no nos explota en la cara en la peor situación, a falta de un día de entrega o delante del cliente…

Automatizar la integración de todos los módulos que componen una aplicación es otro paso importante. En un equipo trabajan diferentes personas desarrollando código. Todo ese código hay que integrarlo y es importante ir integrándolo según se desarrolla y de forma automática. Así nos damos cuenta rápidamente si un cambio en un modulo afecta a que otro modulo deje de funcionar, sin tener que ejecutar la aplicación y probar todos los casos hasta que lleguemos al que no funciona… Es mucho el tiempo que deberíamos invertir en ir haciendo estas pruebas. Esto hace que no las hagamos porque no tenemos ese tiempo.Si se hace de manera automática una vez se desarrollan las pruebas se pasan automáticamente sin perder tiempo y ganando en calidad.

Las pruebas funcionales también se pueden automatizar, y es importante porque se gana tiempo y calidad como en los otros casos.

A la hora de enfocar las pruebas, nos es necesario que desarrollemos test de prueba de todo lo que desarrollemos, hay que encontrar un equilibrio, en aplicaciones grandes es imposible generar test de cada linea de código. Hay que saber diferenciar lo que es importante y hay que probar y lo que no.

En mi empresa, en la retrospectiva anual todas las personas del equipo nos hemos dado cuenta que es importante que aumentemos la calidad de los productos. No es una empresa de las grandes, no pasamos de 100 personas. Esto implica que no podemos tener a un equipo de personas especializadas en testeo de software, que sería lo ideal…Pero si vamos a aumentar nuestra calidad, o por lo menos lo vamos a intentar.

Vamos a desarrollar y automatizar las  pruebas unitarias, de integración y funcionales. O ese es nuestro objetivo :D

Hay un montón de herramientas que nos ayudan a conseguir esta calidad. Como somos equipos que desarrollamos en java, usaremos Junit para las pruebas unitarias, Cobertura para controlar que grado de código esta cubierto por las pruebas, Selenium para las pruebas funcionales, y ya tenemos preparado el servidor de integración.

Ya os contaré que tal nos amoldamos a este nuevo enfoque de desarrollo. Seguro que conseguimos buenos resultados!!!

25 Enero 2009 Publicado por lamia | Informatica | 1 comentario

¿Que es el PageRank?

Cuando buscas algo en Google, el buscador te devuelve un montón de resultados. Pero,¿ que orden sigue Google para mostrar un resultado antes que otro?

Google tiene un complicado algoritmo que nadie conoce entero, aunque si hay gente que se dedica a descifrar pequeños trozos para intentar engañar al buscador y poner las paginas web en sitios privilegiados en el resultado de la búsqueda.

Lo que si se sabe es que el valor del PageRank de la pagina es un factor importante, aunque desde luego no el único, a la hora de generar el orden de mostrar los resultados por Google.

El PageRank es un numero que da google a las paginas. Cuanto mayor PageRank tengas más importante y más peso tendrá la pagina para Google. Tiene un rango de 0-10, 0 es el valor menos importante y 10 es el valor más importante.

Google piensa que si una pagina pone un link a tu pagina es porque le parece que tu pagina es buena o interesante y considera que te ha votado. El valor o peso del voto depende del PR (pagerank) de la pagina que te ha likado. No es lo mismo que te linke o vote una web con PR=10 que con un PR=0. Cuantos mas links apunten a tu pagina, mas PR tendrá tu pagina.

En esto como en todo hay trampa, Google diferencia los links que vienen de paginas que se dedican solo a colocar links (links farms), y no los cuenta.

Para poder ver el PR de las paginas con instalarte la barra de búsqueda de Google, podrás ver en color verde el valor de PR.

30 Septiembre 2008 Publicado por lamia | Informatica | 1 comentario

Como anunciar tu negocio en Google

En Europa el buscador que mas se utiliza es google y la gente busca en google cualquier cosa que se le ocurra, cualquier clase de información.

Cuando tienes un negocio lo mejor es hacer publicidad donde mas gente pueda encontrarte, y creo que google es un buen lugar para  ello. Es otra manera de publicidad, y cada vez mas importarte.

Pero claro, ¿que hay que hacer para aparecer en el google?,  puedes hacer una pagina web y preocuparte por que tenga un buen posicionamiento en el resultado del buscador, pero también puedes anunciar tu negocio mediante un banners.

Un “banner” es un tozo de código de publicidad que se incluye en una pagina y que el anunciante paga cada vez que se pincha en el. Es decir, en este caso solo pagas dinero cuando pinchan en tu “banner” y no cuando aparezca la publicidad.

Ahora os dejo un vídeo que explica como te puedes publicitar en google. Espero que os ayude!!!

29 Septiembre 2008 Publicado por lamia | Informatica | No hay comentarios