Formas de promocionar un producto software (promoción, promoción, promoción)

El hecho de realizar un trabajo de calidad no siempre es suficiente para culminar un buen desarrollo. Suele ser habitual, que el trabajo específico que le propones a un cliente pueda ser de utilidad (al menos la esencia o la idea) para otros muchos. En un post anterior apuntaba que un índice de calidad de un producto, era el número de clientes que disfrutaban de ese producto, o mejor dicho, el número de clientes a los que propones una solución partido del número de clientes que la implantan mas el logaritmo neperiano del número de clientes satisfechos o algo así 😉 .


Recientemente nos ha ocurrido, que un desarrollo en concreto que le estábamos realizando a un cliente, se lo propones a otro y dice “¡que cosa más estupenda!”. Cuando se da esta situación (que un desarrollo puede ser de interés para varios clientes) y la ocasión lo permite (no existen impedimentos de propiedad intelectual), es habitual realizar una hoja de producto, con la que poder promocionarlo. Estas hojas las lleva el comercial en su carpeta repleta de hojas comerciales y sus PowerPoints corporativos y hasta aquí llega nuestro trabajo. El comercial como su nombre indica, intenta contar lo que hace el producto a nivel funcional, pero es muy probable que no lo cuente con la “ilusión” que lo contaría el programador que lleva dos meses trabajando en ello.


El planteamiento para los tiempos que corren debe de ser diferente.
Año 2008, las capacidades que internet (la web 2.0, b2c, comercio electrónico, blogs, youtube…), nos brindan, son ilimitadas y debemos aprovecharlas. Es muy útil abrir una web dedicada al producto, la cual puede ser consultada 24 horas al día, pero este trabajo (desde mi punto de vista) no compensa el esfuerzo de la promoción. Hoy en día es más útil realizar un “pequeño” video promocional e introductorio en el que destaque, a grandes rasgos, las capacidades del producto, seguidamente identificar los clientes que podrían estar interesados y enviarles el video (si el producto es de verdadero interés, el cliente te solicitará más información del mismo y ya podrás mandar al comercial 😉 bueno! mejor que vaya alguien que sepa de informática).


La realización de un video promocional lleva un trabajo considerable, pero es claramente menor que el de realizar una web o “adiestrar” a un comercial en una buena presentación del producto. A continuación os presento el último video promocional que hemos realizado, consiste es la personalización, instalación silenciosa y restricción de funcionalidad de la barra de Google (para el que no la conozca, similar a la de vista) y la creación de gadgets para ella.
No quiero extenderme más en el producto, ya que la promoción del producto no es el objetivo del post.





Como veis, el video tiene un objetivo claro, que es despertar la curiosidad del espectador, pero no explicarle el detallado y completo funcionamiento del sistema.
Los pasos a seguir son los siguientes:




  1. Identificar un producto de interés


  2. Concretar el mensaje a enviar


  3. Realizar el video promocional (objetivo, estilo, guión, espectador…)


  4. Identificar los posibles clientes interesados y hacerles llegar el video


  5. Esperar un tiempo prudencial


  6. Atender a los clientes interesados con una demo


  7. Sugerir y preguntar al resto de clientes por la recepción del video

Resumiendo, realizar un trabajo de calidad, tiene, en ocasiones, que culminarse con una buena labor comercial y promocional, y las ventajas que te da la realización de un video de este tipo son estupendas. El objetivo principal es vender el producto, ¡pero no es el único!, ya que, aunque con algún cliente no tengamos éxito en la venta, (no solamente es interesante vender un producto), le haremos saber, que somos capaces de realizar soluciones de todo tipo, y si la presentación audiovisual que realizamos tiene un mensaje claro, transmitir calidad al espectador.


Promoción, promoción, promoción

El desarrollo de un Framework y la calidad

 

Cada vez que comenzamos un nuevo desarrollo, generalmente, podemos identificar una serie de tareas que son habituales y repetitivas.
Bien es cierto que, para algunas de estas tareas, son de utilidad las Software Factories, que no son más que un kit que sirve a arquitectos y desarrolladores como base para la implementación de buenas prácticas en el desarrollo de aplicaciones. Pero se quedán ahí, en la base.

El desarrollo de software moderno requiere algo más que una base…, requiere una estructura robusta, firme y estable que no sólo nos de la guía en inicio del desarrollo, sino que nos acompañe y nos obligue oriente durante todo el proceso de producción, siguiendo una metodología de base y unas buenas practicas.

Antes de continuar, quisiera aclarar, el significado de la palabra “Framework“, que no es mas que una serie de funcionalidades, previamente diseñadas, que nos ayudan en el desarrollo convencional de software, este término puede dar lugar a confusión con Framework .NET, que como su propio nombre indica también es un Framework, ya que nos provee de una serie de funcionalidades preestablecidas.

Retomando el tema de las tareas habituales y repetitivas… en la mayoría de los desarrollos, nos vamos a encontrar, con la necesidad de hacer una conexión a datos, cargar grids, filtrarlos, hacer búsquedas, que dichos grids nos lleven al detalle del registro, eliminarlo, modificarlo o añadir un nuevo registro, sacar un informe, exportarlo a Excel, pdf, una gestión de excepciones, log de acciones, un cacheo de datos… además en todo desarrollo, vamos a tener que idear un sistema de seguridad basado en roles de acceso y permisos, un modelo de entidades que facilite el acceso a datos y lo haga independiente… ¡esto para empezar! … pero también sería interesante que hubiese una capa de servicios, un generador de sentencias SQL, que todos los formularios siguiesen un patrón de diseño y comportamiento común dependiendo de los colores corporativos, que todas las aplicaciones estuvieran centralizadas, que compartir datos entre aplicaciones fuese fácil, etc…

Ahora imaginemos que diseñamos e implementamos una arquitectura que contempla todas estas ideas y todas las que se nos vayan ocurriendo, y que fuese un modelo extensible basado en interfaces, que con, simplemente, escribir una cadena de conexión, comenzásemos a tirar formularios al estilo “code and fix” … “marchando un formulario tipo listado, que contenga las columnas de número de cliente, nombre, dirección y teléfono (click), la ficha asociada tendrá el resto de campos de la base de datos“, (y fuese el Framework el encargado de gestionar las altas, bajas, modificaciones y seguridad de los registros) sería algo estupendo!! … Al final tendríamos algo parecido a una churrera de formularios, uummm… Puesss que aburrido, ¿no?, … ¡¡¡en absoluto!!! Porque todos nuestros esfuerzos se centraran, en primer lugar, en preparar la arquitectura y el modelo de datos y en segundo lugar, en enriquecer y realimentar el Framework con nueva funcionalidad y así incrementar la calidad.

 http://www.youtube.com/watch?v=DI0Bdr9QKwA

 ¿Alguna duda? ¿Sí? vamos allá…

 ¿El coste?
Evidentemente el coste de diseñar e implementar una estructura de este tipo, es grande, pero a largo plazo, merece la pena. La calidad siempre se nota a largo plazo.

¿La productividad?
La productividad es muy alta, ya que no es necesario saber tanto .NET para hacer una aplicación, con centrarse en la capa de presentación, basta.

¿La estabilidad?
La estabilidad es el punto fuerte, ya que cuantas mas aplicaciones desarrolles con un framework, mas testado, robusto y evolucionado estará. Los bugs en producción tienden a cero y el rendimiento es alto.

¿La rentabilidad?
Una vez que el framework es estable y “la churrera” funciona a la perfección, podemos reducir el tiempo de desarrollo de forma considerable.

¿El usuario?
¡Encantado!, porque todos los formularios de sus aplicaciones tienen el botón de guardar y cerrar en el mismo sitio, con el mismo color…. en definitiva el comportamiento de sus aplicaciones es el mismo.

 

Por lo tanto, si incrementamos todos estos factores obtendremos un producto de mayor calidad y una estructura organizada para desarrollar nuestros proyectos.

Ahora cuento mi experiencia…, adjunto presentación por si alguien quiere más detalles (Presentación CIC Framework). Desde el punto de vista del desarrollador, el aprendizaje y la evolución fue muy satisfactoria y enriquecedora… sobre todo, el tener que pensar, que cada línea de código tiene que ser genérica para todas las aplicaciones y parametrizable mediante ficheros de configuración o de recursos, te obliga a ver las cosas desde otro punto de vista, te orienta el desarrollo a la reutilización y la modularidad (dos síntomas muy bueno de calidad), el dotar a esa estructura de inteligencia dependiendo del tipo de entorno… y con respecto a la rentabilidad, pues a medio plazo grande y ahora que el producto ya tiene madurez, muy grande.

Es obvio que cada uno de nosotros tenemos nuestras funciones de uso habitual (…), pero si toda esa funcionalidad la completásemos, organizásemos y la orquestásemos, para obtener una estructura que nos guie en nuestros desarrollos, seguro que obtendríamos mayor rendimiento y calidad en los mismos.

Lo que no cabe duda que una estructura de este tipo testada, estable, confiable, modularizable, parametrizable y ampliable nos aporta calidad a los desarrollos, por ello, y como es habitual, animo a las mentes inquietas, que todavía no lo han hecho, a diseñar y estructurar un Framework que aporte calidad sus desarrollos, que les ayude a ser más eficientes y no perder el tiempo en tareas rutinarias.