jueves, 18 de diciembre de 2014

Proyecto Integrador en DAM

La pasada semana presentamos  a los alumnos de segundo del ciclo de Desarrollo de Aplicaciones Multimedia de la Universidad Europea el proyecto integrador para del curso 2014-15. 


Se trata de un app para dispositivos móviles llamada “QIZit”; un app educativa bilingüe y se desarrollará para móviles y tabletas Android que incluirá elementos de ludificación.

Screen Shot 2014-12-17 at 15.50.04
 
Para este proyecto integrador nos hemos involucrado los profesores de los módulos de Acceso a Datos, Desarrollo de Interfaces y Programación Multimedia y Dispositivos móviles.

28-scrum-600x279
Junto a la presentación del proyecto, hicimos una presentación del framework de metodología ágil Scrum que será utilizado para el proyecto integrador; este framework se utiliza en las empresas de desarrollo de software para gestionar el desarrollo de productos, los equipos se organizarán por sí mismos fomentándose la colaboración de todos los miembros del equipo, así como a una comunicación diaria cara a cara de todos los miembros. La clave en las metodologías ágiles es la adaptación al cambio y  encontrar soluciones a los nuevos problemas que puedan surgir según las necesidades del cliente o los cambios imprevistos que pueden no haber sido especificados en la planificación original.

xplogo

Además en este proyecto se utilizarán principios de la programación extrema como son:
  • Desarrollo iterativo e incremental
  • Desarrollo guiado por pruebas (TDD) y pruebas unitarias
  • Programación en parejas (Pair Programming)
  • Integración del equipo de programación con el cliente
  • Refactorización del código
  • Simplicidad en el código
  • Propiedad del código compartida en un repositorio (Github)
El desarrollo del proyecto se ha define sobre la idea de Sprints; un Sprint es un periodo de tiempo específico entre dos y cuatro semanas en el que el trabajo debe estar terminado y listo para la revisión. Al final de cada Sprint se hace una exposición de los objetivos conseguidos en el Sprint Retrospective.
Screen Shot 2014-12-17 at 15.55.27

En este proyecto se presentaron los componentes de los equipos; en estos grupos se repartieron cuatro responsabilidades que irán rotando en los sucesivos sprints:
  • Coordinador del equipo
  • Responsable del repositorio GitHub
  • Responsable de la documentación del proyecto
    Responsable de las pruebas de integración.
Screen Shot 2014-12-17 at 15.56.18

A su vez explicamos los roles de Scrum en clase:
  • Product Owner (PO): Es el profesor que define los “ítems” que contendrá el Product Backlog y su orden.
  • Scrum Master (SM): Es el profesor que supervisa y facilita que se aplique correctamente Scrum. No es un jefe de proyecto.
  • Development Team (DT): Los equipos de alumnos, que se encargan de estimar el esfuerzo de los ítems del Sprint Backlog. Toman todas las decisiones dentro del Sprint.
  • Scrum Team (ST): conjunto del PO, DT y SM. Se autoorganizan y son autosuficientes para realizar el Product Backlog
Ese mismo día se realizó la reunión del sprint planning; esta contenía dos partes principales:
Primero se hizo una selección de requisitos: El Product Owner (PO)  y el Scrum Master (SM), presentaron a los Development Team (DT) la lista de requisitos priorizada del producto o proyecto en el backlog, un documento que se utilizará para todo el proyecto y que contiene las descripciones genéricas de todos los requisitos, funcionalidades deseables etc. Este es abierto y solo puede ser modificado por el PO.
Cada DT preguntó al PO las dudas que les surgieron y se seleccionaron los requisitos más prioritarios para completar en el primer sprint en forma de user stories (historias de usuario); un user story es una representación de un requisito de software escrito en el lenguaje común del usuario; estas permitan de forma rápida administrar los requisitos de los usuarios sin tener que elaborar gran cantidad de documentos formales, se suelen escribir en un post it con una estructura “Como (rol) quiero (algo) para (beneficio)”
story
  • Cómo diseñador quiero realizar un análisis gráfico y funcional del diseño para crear la mejor experiencia de usuario.
  • Cómo diseñador quiero realizar una maqueta de la aplicación para tener una visión global de la app
  • Como desarrollador quiero un repositorio en GitHUB compartido con los integrantes del equipo para trabajar en equipo con garantías.
  • Cómo programador quiero analizar los requisitos de hardware y software del app para implementarlos
  • Como desarrollador quiero realizar la Creación de Virtual Devices y conexión de dispositivos físicos para comenzar con la implementación.
A continuación se realizó la planificación del primer sprint. Los DT elaboraron la lista de tareas del primer sprint necesarias para desarrollar los requisitos a los que se han comprometido.
La estimación de esfuerzo la realizaron de manera conjunta mediante planning poker; Es una técnica muy sencilla, eficaz y sobre todo divertida en la que todo el DT opina para estimar el esfuerzo de desarrollar cada una de las historias de usuario de un sprint. Lo normal es numerar las cartas con una serie de Fibonacci (0, 1, 1, 2, 3, 5, 8, 13, …), más la carta interrogante que equivale a “ni idea” y la carta infinito que equivale a “esto es demasiado grande”. Esto es así porque cuanto más grande es el número asignado mayor es la probabilidad de equivocarse en la estimación.

Screen Shot 2014-12-17 at 16.03.37

A continuación los TD pusieron las historias en el panel kanban y se autoasignaron las tareas.¡Es hora de ponerse manos a la obra! El tablero (kanban) ya tiene sus primeras user stories “in progress” e incluso algún “done” correspondientes al primer sprint!
 
Screen Shot 2014-12-17 at 16.05.12

Todos los alumnos están muy motivados con el proyecto, la información está fluyendo y están surgiendo ideas muy originales. Además recientemente realizaron una visita a Coritel dónde pudieron ver de primera mano como un equipo de desarrollo real utiliza Scrum para gestionar los proyectos.
 

domingo, 5 de octubre de 2014

Codemotion Madrid 2014

Es uno de los eventos más importantes sobre programación y tecnologías, la entrada normal son 50€y ya están agotadas, mientras que para estudiantes son 25 € y solo quedan 8 disponibles!
  • +1,500 asistentes
  • Más de 30 comunidades
  • 100 charlas y workshops
  • Actividades para startups, recruiting y networking
Podéis ver algunas de las transparencias y de los vídeos de las charlas del codemotion del año pasado en este link http://betabeers.com/forum/recopilacion-charlas-videos-codemotion-2013-madrid-381/
Se realizará en la Universidad San Pablo CEU, Campus de Montepríncipe (Boadilla del Monte, Madrid) los días 21 y 22 de Noviembre 2014

Para saber más: http://codemotion.es
 Entre los talks destacan:
Viernes 21
9:00 - 9:45 
10:45 - 11:30 
12:15 - 13:00 
13:15 - 14:00
15:30 - 16:15 
16:30- 1715 
17:30-18-15 
Sábado 22
9:45 - 10:30
12:15 - 13:00 
13:15 - 14:00
15:30- 16:15 
16:30- 17:15
17:30- 18:15 
Entre los workshops destacan:
Viernes 21
15:30 - 16:15
Sábado 22
12:15 - 13:00 

sábado, 12 de julio de 2014

Cómo hacer nuestros propios Open Badges con Mozilla

Diseño de una insignia para Mozilla Open Badges 

Lo primero que necesitamos es diseñar nuestras insignias (badges); esta es una parte esencial. Si nuestro centro tiene pensado entregar insignias, la mejor opción sería que estuvieran ligadas visualmente al centro. La marca es muy importante hoy en día, sin importar si nuestro centro es privado o público; tener en cuenta los colores, fuentes y logotipos utilizados en nuestro centro es necesario si tenemos la intención de que las insignias sean reconocidas. El sitio Noun project nos brinda la posibilidad de conseguir iconos que podemos utilizar de forma gratuita en nuestras insignias.

Estructura de una Insignia


Una insignia es en realidad una foto; exactamente, se trata de una imagen .PNG. Cuando un usuario ha conseguido una insignia y esta aparece en un sitio web, el fichero PNG de la insignia se mostrará así:



Las insignias deben crearse con las especificaciones de Mozilla; con los datos en formato JSON y enlazando a la cuenta del alumno en badgepack para mostrar información adicional sobre este (nombre, descripción, criterios, emisor...). De esta forma se evita que se dupliquen y extiendan. Una falsa insignia no será validada al hacer clic sobre ella para mostrar pruebas de su obtención.



Autenticidad de insignia

Cuando se hace clic sobre una insignia aparecen los datos del  distribuidor, el usuario, y la circunstancia por la que se la obtuvo. Esta información puede ser mostrada de una manera atractiva; debajo hay una imagen de cómo se ve una insignia de back pack de la universidad de Valencia para un curso de programación en Android.


Pasos para crear una insignia

1.- Crear una imagen .PNG para tu insignia. He creado a través de la página openbadges la siguiente imagen y la he guardado en una carpeta pública de Dropbox para que sea accesible.


2.- Crear un fichero de texto. Abrimos un editor cualquiera y siguiendo el formato JSON de abajo, completamos los datos en azul. Asegúrate de que el enlace a la imagen PNG sea accesible de forma pública (Dropbox, Google drive ...). 


     "recipient": "Badge earner's mail",
     "issued_on": "Date of expedition",
     "badge": {
                      "version": "version",
                      "name": "Title", 
                      "image": "PNG's URL",
                      "description": "Badge description", 
                      "criteria":"More info",
                      "issuer": { 
                                     "origin": "issuer's URL", 
                                     "name": "Badge Issuer name", 
                                     "org":  "Institution name", 
                                     "contact": "Institution name
                                  } 
                  } 
}

Un ejemplo podría ser el siguiente:
{
"recipient": "alumno@gmail.com",
"issued_on": "2014-07-12",
"badge": 
 { 
 "version": "1.0.0",
 "name": "Cualificaci\u00f3n profesional IFC155_3",                           "image":"https://dl.dropboxusercontent.com/u/14097447/openbadgets/IFC152_3.png",
 "description": "Configura, administra y mantiene un sistema inform\u00e1tico a nivel de hardware y software, garantizando la disponibilidad, \u00f3ptimo rendimiento, funcionalidad e integridad de los servicios y recursos del sistema.",           "criteria":"http://www.educacion.gob.es/educa/incual/pdf/BDC/IFC155_3.pdf",
 "issuer": {
            "origin": "http://iessanandres.centros.educa.jcyl.es", 
            "name": "IES San Andr\u00e9s", 
            "org":  "Junta de Castilla y Le\u00f3n", 
            "contact": "ies-san.andres@jcyl.es" 
           }
  } 
}

Si los acentos no te aparecen, puedes utilizar la siguiente tabla de conversión de símbolos utf-8 a iso-8859-1-ansi.

3.- Guardar el fichero de texto con extensión ".json": Debemos asegurarnos que también sea accesible de forma pública (Dropbox, Google Drive...). 

4.- Validación del fichero JSON: Para asegurar que el fichero JSON es correcto, copia y pega el contenido en la página validator.openbadges.org y haz clic en Check Validity; comprueba entonces que se muestra el mensaje en verde Valid:



 5.- Enviar la insignia al servicio baker de Mozilla. Es necesario construir una URL para añadir la insignia al servicio baker de Mozilla. Para ello, tomaremos el enlace público del fichero JSON y lo insertaremos al final del enlace siguiente:

     http://backpack.openbadges.org/baker?assertion=

En mi caso quedaría de la siguiente forma: 


Cuando introduzcas el enlace en el navegador y pulses entrar, estarás pidiendo al servicio baking de Mozilla que interprete tu fichero JSON y añada los datos a la imagen PNG que previamente indicaste en el fichero JSON. Este "horneado" enlaza los datos del fichero JSON con la imagen. Si todo va bien, se descargará automáticamente un fichero PNG; se trata de la insignia, horneada y lista para utilizar.


6.- Añadir la insignia al Mozilla Backpack. Las insignias PNGs obtenidas del servicio baking cumplen el Open Badge Infrastructure; la insignia únicamente podrá ser utilizada por el alumno que indicamos en recipient. En caso contrario, el alumno obtendría un mensaje como el siguiente:



Posteriormente haremos llegar la insignia al estudiante, que se logueará en Mozilla Backpack y solo tendrá que hacer clic en la imagen Upload a Badge.


Después el estudiante deberá pulsar en el botón "seleccionar archivo" para buscar el PNG de la insignia que le entregamos y lo subirá pulsando en el botón Upload.

Resultado final


El aspecto final que tendrá la insignia en la cuenta del alumno en su Mozilla Backpack será el siguiente:


Al pulsar sobre ella mostrará la siguiente información.







viernes, 7 de febrero de 2014

Informática entre las 20 profesiones con más futuro en España y EEUU

Según un informe de Adecco elaborado en diciembre prevé una elevada demanda de entre otros perfiles de informática, que será uno de los más buscados y mejor pagados en 2014.
Según este documento, la contratación por áreas laborales en 2013 en España informática ocupa el puesto tercero con un 16,5% del total de contrataciones; siendo el perfil de programador en Java uno de los más buscados en España.



Por otro lado el Departamento de Trabajo de Estados Unidos ha elaborado una predicción de la evolución del mercado laboral hasta 2022. El organismo público elabora estas proyecciones cruzando dos estadísticas laborales: la proyección de la demanda laboral entre 2012 y 2022 y el salario medio para cada puesto de trabajo. Como resultado, se obtiene una predicción fiable de las expectativas de futuro para todas las profesiones.

A partir de esta estadística, la revista neoyorquina Business Insider ha recopilado los 20 puestos con más proyección de futuro en la que se incluyen sólo los trabajos de nivel medio-alto, con salarios anuales superiores a 34.750 dólares (25.680 euros)
Entre estos 20, tres están relacionados con informática:
  • Software Systems Developers: En el top 12 con 82.800 puestos de trabajo previstos para 2022 con un salario medio de 99.000 dólares.
  • Computer Systems Analysts: En el top 7 con 127,700 puestos de trabajo previstos para 2022 con un salario medio de 79.680 dólares
  • Software Applications Developers: En el top 3 con 139.900 puestos de trabajo previstos para 2022 y con un salario medio de 79.680 dólares

Kimberly White/Getty Images

Leer más en: