martes, 24 de febrero de 2015

Educando a un cliente.

Aquí os dejo un post que escribí y llego a la fase final de un concurso de redacción de posts en nubelo.

¿A qué viene el concepto de “Análisis” en tu presupuesto?

Ésta suele ser una de las primeras preguntas que me suele hacer un cliente cuando le preparo un presupuesto. Cualquiera que haya estudiado algún curso o asignatura de programación, sabe que la primera fase de un proyecto debe ser el análisis. Nuestro error como profesionales suele llegar cuando damos por sentado que el cliente también lo sabe. Nuestra misión debe consistir en educar a nuestros clientes, haciéndoles comprender que un buen análisis requiere un tiempo. Dicho tiempo nos permitirá analizar, estructurar y preparar el proyecto para que su desarrollo sea más rápido y consistente. Evidentemente, ese tiempo se debe cuantificar dentro del periodo de desarrollo del proyecto y por lo tanto se debe facturar como parte de él.

¿Y el concepto de “Pruebas y corrección de errores”?


Cuando he conseguido hacer comprender al cliente la primera pregunta, siempre realizan la segunda. En cualquier proyecto de desarrollo de software, aunque utilicemos Desarrollo Orientado a Pruebas e Integración Continua, siempre, siempre, siempre hay errores. Para detectarlos hay que realizar pruebas. Una vez detectados hay que corregirlos. Una vez corregidos hay que volver a realizar pruebas. Todo esto significa tiempo, y como bien sabéis, tiempo significa dinero que se debe facturar. Tengo compañeros que optan por omitir este concepto en el presupuesto y lo camuflan dentro del tiempo de desarrollo. Yo soy de la opinión, de que intentar explicar estos conceptos al cliente les ayuda a tener una visión global de nuestro trabajo.

¿Me puedes añadir esto?


Típica pregunta/petición que suele realizar un cliente cuando el estado del desarrollo es avanzado o está terminado. La respuesta siempre debe ser la misma, “Claro, te lo presupuesto y si estás conforme lo hago”. Tras esta respuesta debéis estar preparados para una mala cara e intentad explicar la situación al cliente. Yo siempre pongo un ejemplo, “Imagina que vas a un bar y pides una tostada con tomate. Una vez que el camarero te la ha servido, le pides que le añada unas lonchitas de jamón”. Evidentemente el precio ya no es el mismo. Es exactamente lo que sucede con un proyecto de desarrollo de software. Para evitar estas situaciones siempre es aconsejable hacer un documento funcional con los requerimientos de nuestro cliente y firmarlo cuando se apruebe el presupuesto.

Si conseguimos educar a nuestros clientes para que comprendan nuestro trabajo, nuestra relación con ellos siempre podrá ser estable y duradera. Sin embargo, cuando no lo hacemos, los problemas con ellos se suelen enquistar y las relaciones laborales siempre terminan rompiéndose.



martes, 17 de febrero de 2015

Modelo Vista Controlador en Cocoa

El Modelo Vista Controlador (MVC), es el patrón de diseño que se aconseja y utiliza para el correcto desarrollo de aplicaciones en Cocoa.

Modelo


Lo componen las diferentes estructuras de datos que deseamos que tenga nuestra aplicación. Estos objetos pueden tener diferentes tipos de relaciones con otros. En nuestro ejemplo de la App de contactos, parece evidente que hay una estructuras de datos que componen el objeto “Contacto”. Esta estructura estará formada por diferentes campos: nombre, apellido, compañía, email, número de teléfono, etc.





Vista


Es el conjunto de objetos que forman la vista de la aplicación. Para que un principiante lo entienda, es el conjunto de elementos que ve en su dispositivo (botones, listas o tablas, etiquetas, objetos de vista creados por el usuario, etc).




Controlador


El controlador actúa como un intermediario entre los objetos vista y los diferentes modelos de datos. Lo que a grandes rasgos se denomina la lógica de la aplicación. En el ejemplo de la App de contactos, el controlador es el encargado de que una vez rellenos los campos de un nuevo contacto y pulsado el botón “Aceptar”, se almacene en la base de datos.



 

Aquí os dejo el enlace de la documentación de Apple. Espero que os sea útil.

martes, 10 de febrero de 2015

¿Cómo crear un disco de arranque en Yosemite?

A todos aquellos que os hayan vendido o tengáis un MAC pensando que nunca os dará un problema, lamento informaos de que algún día os podéis llevar una amarga sorpresa. Hace mucho mucho tiempo (Mountain Lion queda tan lejos), los MAC venían con unos discos de instalación por si queríamos o necesitábamos instalar o restaurar el sistema desde cero. Desde la llegada de Mavericks, los OSx se descargan desde el AppStore, por lo que si necesitáis restaurar el sistema y no tenéis una unidad de disco de arranque tendréis un problema. Para los precavidos, aquí están los pasos a seguir para crear vuestro disco de arranque con Yosemite.

1. Descargar Yosemite desde el AppStore





2. Necesitaremos una memoria externa con al menos 8 gb de capacidad. Desde utilidad de discos tendremos que crear una partición con el formato Mac OS Plus y la opción "Tabla de particiones GUID".






3. Abrimos el terminal e introducimos la siguiente instrucción en la línea de comandos

sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/Recover --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction

Y ya tenemos nuestro disco de arranque Yosemite. Espero que os sirva de ayuda.

martes, 3 de febrero de 2015

Fitbit

Tras más de un mes de uso intensivo de fitbit me propongo hacer una lista de pros y otra de contras de este dispositivo que está causando furor. El propósito de las listas es hacer un resumen de mi experiencia con la pulsera para ayudar a otros usuarios a tomar una decisión a la hora de elegir una pulsera cuantificadora y que no les apetezca leer la cantidad de resúmenes y opiniones que invade el universo blogger.

Contras

  • No se puede mojar ni sumergir.
  • Ninguna personalización a la hora de comprar los modelos.
  • Su App no está integrada con el HealthKit de iOS.
  • En ocasiones las mediciones de las calorías quemadas no son adecuadas.
  • Falta de desafíos individuales y personalizados.

Pros

  • El tacto de la pulsera.
  • Volver a la costumbre de mirar la hora en la muñeca.
  • La medición de las pautas del sueño, los pasos dados y los pisos subidos es excelente.
  • La autonomía.
  • La App está muy cuidada.
  • El mail con el resumen semanal.

A la espera del Apple Watch, puedo asegurar que este gadget seguirá en mi muñeca durante mucho tiempo.