La naturaleza del Software

Haciendo un repaso de nuestra historia, me he dado cuenta que llevamos dedicados más de veinte años a la tarea de construir software para clientes privados y públicos de toda naturaleza.

Fundamentalmente hemos desarrollado software de gestión empresarial, pero no solo, hemos dado soluciones a problemas de toda naturaleza. Desde hace ya más de diez años estamos centrados en la consultoría tecnológica y en diseño de arquitecturas de software.

 

Gracias a estos últimos años, empiezo a vislumbrar algunos patrones repetidos en los éxitos y fracasos. Creo que es momento de poner en limpio todo lo aprendido en estos veinte años. Por ello, me siento con ganas de deciros cuales son nuestros diez mandamientos en los diseños de arquitectura:

El software es un negocio y como tal hay que tratarlo

Básicamente, todo lo que hacemos, parte de una necesidad que cubrir, un resultado esperado, un presupuesto asignado que alguien paga y una serie de personas que lo hacen.

Resumiendo, lo que lo primero que tenemos que tener claro en todo proyecto es:

  • ¿Qué vamos a resolver?
  • ¿Cuanto cuesta?
  • ¿Quien lo paga?
  • ¿Quién lo hace?
  • ¿Cuál es el beneficio?

sabri-tuzcu-331970

Si alguna de estas preguntas no tiene respuesta directa, ya hemos fracasado.

 

El software es de naturaleza compleja

Sin lugar a dudas, el software es de naturaleza compleja, tienes que aprender a lidiar con esa complejidad. De igual forma, el cliente y todos los agentes intervinientes en el proceso, también tienen que entender esta cuestión.

johannes-plenio-377226

Si alguien de peso en el proceso productivo no entiende esta cuestión, ya hemos fracasado.

 

El problema a resolver se puede describir perfectamente en una página

Si el cliente no es capaz de describir el problema en una página, es que no tiene claro cual es su problema.

Si después de que el cliente te lo cuente de forma simple, no eres capaz de plasmarlo en una página, es que no entendiste el problema que el cliente te describió.

patrick-tomasso-71909

Si no somos capaces de describir el problema en una página, ya hemos fracasado.

 

Las personas mienten

Cuando conversas con el cliente, analista, jefe de proyecto respecto al problema que quieren resolver, no siempre enfocan bien la descripción de su problema.

Normalmente este mal enfoque se produce por:

  • Desconocimiento del detalle del negocio.
  • Por quererte engañar, mejorando su posición de cara a la negociación.
  • Por no poder o querer contarte ciertas realidades (lo que yo llamo sus miserias).
  • Por intentar dar soluciones técnicas al problema sin disponer del conocimiento tecnológico necesario.

peyman-naderi-379105

Si no descubrimos lo que nos ocultan, ya hemos fracasado.

 

Simple, pero que resuelva

Para que una solución tecnológica perdure en el tiempo tiene que partir de un pequeño producto que resuelva el problema de forma clara (mínimo producto viable).

johannes-plenio-262511

Si no la solución a desarrollar no es simple, ya hemos fracasado.

 

La documentación es una representación de la realidad, no la realidad en si misma

Los documentos que recibes, son una representación de la realidad, no la realidad en si misma. Normalmente, si profundizas un poco verás que la realidad es diferente.

Estos documentos los recibimos de múltiples fuentes; cliente, analista, desarrolladores, operaciones, testing, QA, jefes de proyecto… todos ellos los tienes que poner en duda.

MagrittePipe

Si no somos capaces de encontrar la realidad subyacente, ya hemos fracasado.

 

Programar es el arte de introducir nuevos errores

Cuando picas código, estás añadiendo nuevos errores en la ejecución de tu programa. Ser ordenado y aburrido ayuda a minimizarlos.

Cada línea de tu código es importante, una sola línea puede tirar por tierra todos tus esfuerzos.

Un buen diseño de arquitectura permite la introducción de nuevos errores sin provocar el fallo del sistema. Para ello tienes que determinar cual es el centro del mismo y aislarlo del resto de componentes.

Cuando alguien comete un error en el proceso productivo, no le matarás, más bien harás lo contrario. Le contarás las implicaciones de su error, le ayudarás a mejorar sus habilidades, le reforzarás en sus aciertos y todo ello con la intención de que crezca en el proceso. Un buen profesional del mundo del software es difícil de encontrar y muy fácil de perder.

markus-spiske-109588

Si no somos ordenados y aburridos, ya hemos fracasado.

 

Las modas, modas son

Está muy de moda…

  • NodeJS/AngularJS
  • Cloud/Containers/Micro-servicios
  • AgileXP/Scrum
  • PMP/ITIL
  • DevOps

Son modas… solo unas pocas perduran, otras pocas mutan y el resto perece.

clem-onojeghuo-146651

Aplica las modas en la medida justa, en la medida que sienten bien al proyecto, si nos excedemos, ya hemos fracasado.

Cuantas menos personas conformen el proyecto mejor es la comunicación entre ellas

Cada día más es habitual ver grandes proyectos formados por decenas de personas. A más personas en un proyecto peor es la comunicación entre ellos.

Trocea bien el sistema a desarrollar, que cada grupo se focalice en su parte y evita solapamientos.

Haz responsable del código a los programadores, haz responsable de la arquitectura a los arquitectos, haz responsable de las garantías a QA.

daria-shevtsova-57340

Si no conseguimos un grupo de personas adecuadas para el proyecto, ya hemos fracasado.

5 tendencias en software empresarial más que probables en los próximos años

aprender a programar software de gestión empresarial

Los últimos 25 años han supuesto un tremendo cambio en relación con el software usado por las empresas. Muy probablemente en los próximos 5 años seremos testigos de asombrosos nuevos desarrollos en aquellos programas de software orientados a dar solución a las demandas de la gestión de procesos de negocios (lo que se conoce como BPM, siglas en inglés de Business Process Management). Estas tendencias muy probablemente giren en torno a arquitectura basada en la nube, mejoras en movilidad, análisis de datos en tiempo real, capacidades de detección de fraude mejoradas y mayor funcionalidad de nicho.

#1 Arquitectura basada en la nube

Hoy en día muchas empresas usan la arquitectura basada en la nube para ayudarles a gestionar sus activos por Internet. El uso del cloud supone numerosas ventajas. Por ejemplo, si una web de una empresa genera una gran cantidad de visitas en un momento muy concreto, la empresa puede atender a los clientes sin que el servicio se interrumpa ya que su arquitectura de servidor basada en cloud permite la distribución del tráfico visitante entre servidores en localizaciones distintas.

A medida que la arquitectura basada en cloud sigue desarrollándose y evoluciona, es muy probable que las empresas vayan encontrando usos novedosos para esta funcionalidad tan útil.

Algunos expertos señalan que la nube jugará un papel determinante en el Internet de las cosas, por ejemplo. En esta línea, hay autores que opinan que los datos matarán a la nube. Alejandro de Fuenmayor en blogthinkbig.com se pregunta “sí el cloud, como lo conocemos hoy en día, será capaz de atender todas las demandas y necesidades tecnológicas que los nuevos desarrollos implicarán.” Aclara que hay que matizar esa afirmación “ya que los datos no serán el problema, sino que éste (el problema) radica en la gestión de capacidad.” Desde su punto de vista el cuello de botella vuelve a estar en la red, “y no porque el desarrollo de la tecnología de transmisión no vaya acorde a las demandas del mercado, sino por el alto grado de centralización que los servicios cloud tienen en la actualidad.”

En todo caso considera en todo caso “que la red que hoy conocemos como cloud se convertirá en un repositorio global de información relevante, con patrones de información, reconocimiento y aprendizaje que se irán alimentando desde el resto de capas”

El cloud ha venido para quedarse, y la gran cantidad de datos que mueva el Internet de las cosas supondrá un reto tecnológico que transformará el uso que le damos a la nube, pero en ningún caso supondrá la desaparción del cloud.

Estas tendencias apuntalan aún más la importancia de la nube en el mundo del software empresarial en un futuro cercano.

#2 Movilidad entre plataformas mejorada

El creciente interés entre los profesionales de SEO en preparar las páginas web para que se muestren bien en una gran variedad de plataformas, incluyendo tanto equipos de sobremesa, portátiles y dispositivos móviles, seguirá teniendo un fuerte impacto en la gestión de los modelos de negocio.

Por ejemplo, el buscador Google en su algoritmo de búsqueda le dan mayor relevancia a aquellas páginas web que cargan bien en dispositivos móviles. La popularidad de los teléfonos móviles, tabletas, los accesorios tecnológicos, la tecnología vestible, etc…, hará que esta tendencia de movilidad total siga en auge. El acceso será más flexible y móvil que nunca en todos estos años venideros..

#3 Análisis de datos en tiempo real

La creciente popularidad de plataformas con grandes capacidades de datos implica que un número cada vez mayor de programas de software implementen funcionalidades de análisis de datos en tiempo real, y esta es una tendencia que no parará de crecer. Esta tendencia originariamente emerge de la necesidad de analizar el tráfico a las webs de campañas, de visitas, etc… para estudiar el comportamiento de los usuarios y poder con ello llegar mejor al cliente.

Hoy en día, la minería de datos se utiliza muchísimo en redes sociales, que junto con plataformas de tecnologías de bases de datos muy sofisticadas, permiten a las empresas desarrollar programas que responden de una manera más flexible y de una forma mucho más a medida a las necesidades individuales de cada cliente.

Eli Stutz en el artículo “El futuro de BPM: 7 Predicciones” argumenta que procesos en tiempo real otorgarán una cualidad en cuarta dimensión a algunos de los programas de software usados por las empresas. Algunas aplicaciones empresariales, como los CRM de nueva generación y los ERP, tendrán más y mejor en cuenta los tiempos en los que se suceden los eventos que lo que permiten los programas de software hoy en día.

#4 Capacidad de detección de fraude mejorada

El uso de big data también ha estimulado el desarrollo de algunos programas de gestión de procesos de negocios para ayudar a las empresas a reducir los casos de fraude. Aunque muchas empresas tienen un interés propietario en difundir detalles sobre este tipo de software por razones obvias, el incesante flujo de información disponible en múltiples fuentes por Internet anima a la creación de mecanismos de detección de fraude muy sofisticados.

#5 Mayor funcionalidad de nicho

Por último, el software orientado a la gestión de los procesos de negocio inevitablemente tenderá a ser más especializado, centrándose en funcionalidades específicas de cada nicho. Esta tendencia no es nueva pero se aprecia cada vez más la adaptación del software no solo al tipo de negocio, sino a cada subtipo atendiendo a las necesidades del segmento de negocio, por muy especializado que sea.

Hoy en día hemos visto como programas de marketing comerciales muy populares se han refinado para poder cubrir las necesidades de segmentos de la industria más específicos. Por ejemplo, Salesforce, un proveedor de software CRM muy popular, ahora ofrece varias plataformas únicas orientadas a nichos de mercado especializados muy particulares.

Las empresas pueden adquirir software diseñado para apoyar a la venta de bienes y servicios en sectores como la venta al por mayor, productiva, automoción, sanidad privada, financiero, formación y otros muchos. Otras empresas de software ofrecen además, programas de nicho. Este grado de individualización está directamente relacionado con la importancia de cubrir las necesidades de la industria y sus protocolos de forma personalizada y responsiva.

Conclusiones

Aunque el futuro es muy difícil de predecir de forma precisa, hay varios aspectos de estas 5 tendencias en software empresarial que son significativos en el campo del desarrollo de software hoy en día. Salvo aparición de una tecnología totalmente disruptiva, estas tendencias dominarán en líneas generales el mundo del desarrollo de las aplicaciones empresariales.

Este artículo 5 tendencias en software empresarial más que probables en los próximos años es original de Velneo.

MEAN.IO

Desde el inicio, TipeSoft imparte formación técnica para clientes tecnológicos del más alto nivel, fundamentalmente especializada en tecnologías Microsoft (área de sistemas y desarrollo).

En el último año hemos abierto el abanico de tecnologías, ahora también impartimos cursos de formación avanzada en Velneo V7, QML, JavaScript, PHP, Python, AgilePoint, AgileXRM, Node.JS, AngularJS y MEAN.IO.

 

MEAN.IO

La mayor parte de la formación que impartimos es presencial, pero desde hace una año hemos trabajado y experimentado con tecnologías de formación online. El resultado nos gusta, por lo que trabajaremos en mejorar nuestras formas de entrega.

Os dejamos con el último seminario en abierto que hemos impartido en colaboración con TÜV Rheinland España y Bambú Software. Es una introducción teórica a MEAN.IO, esperamos os guste.

Aprende de los mejores en los seminarios de Life is soft 2011

3 días durará esta primera edición, 2011, de Life is soft. El 9, 10 y 11 de noviembre en la Universidad Laboral de Gijón tendrá lugar este evento.

 

 

Contenido de los seminarios

Velneo ha recopilado a los mejores ponentes y ha organizado unos seminarios que esperamos sean de gran interés por la diversidad y alto nivel técnico de sus contenidos. Un numeroso grupos de ponentes nos ayudarán a conocer a fondo técnicas de programación y tecnologías relacionadas con el desarrollo de aplicaciones con Velneo V7  que con seguridad nos resultarán de interés y que podremos usar en 2012.

 

  • ¿Te gustaría conocer en primicia las novedades en las que Velneo lleva trabajando mucho tiempo y que verán la luz en 2012 de la mano del vArquitecto, Juan Muñoz-Cobos?
  • ¿Quieres conocer directamente del equipo de desarrollo de Velneo V7 las novedades presentadas en la versión 7.8.
  • ¿Estás interesado en desplegar tus aplicaciones en Tablets Android?
  • ¿Te interesa conocer como integrar tus bases de datos con aplicaciones que corren en iOS?
  • ¿Te interesa la presentación de las Open Apps oficiales vConta y vERP?
  • ¿Quieres aprender a integrar gráficos dinámicos en tus aplicaciones mediante jquery?
  • ¿Quieres conocer como integrar una solución de mensajería en tus aplicaciones?
  • ¿Te gustaría conocerlo todo sobre como  aplicar CSS para cambiar la interfaz de tus aplicaciones sin reprogramar?
  • ¿Has oído hablar de QML? En Velneo creemos que es algo que debes conocer ¿Quieres recibir un primer curso sobre QML y conocer su potencia y posibilidades?
  • ¿Estás buscando una solución web de integración con un CMS como Drupal? ¿Sabes lo que te puede aportar?
  • ¿Te interesa poder dar salida web a tus aplicaciones de forma sencilla o integrar una cesta de la compra integrada con tu base de datos en soluciones web?

 

Las respuestas a estas preguntas las encontrarás en los seminarios que se celebrarán los días 9 y 10 en el evento Life is soft. Las plazas son limitadas. Si estás interesado, regístrate ahora.

Life is soft 2011, un evento que no te puedes perder

El 11/11/11 es una fecha muy especial.

En Velneo hemos elegido esta fecha para llevar a cabo un evento muy especial. Life is soft se va a convertir en el evento anual más importante para la comunidad de desarrolladores de Velneo.

En esta primera edición de 2011, Life is soft tendrá una duración de 3 días:

  • El miércoles y jueves se celebrarán unos interesantísimos seminarios donde podrás obtener la mejor y más actualizada información sobre tecnologías, técnicas de programación y software Velneo, directamente de personal de Velneo y de los mejores ponentes en cada área.
  • La tercera jornada del viernes será el colofón final de estas jornadas  y tendremos un gran evento en un marco incomparable como es el teatro de la Universidad Laboral de Gijón. En este evento contaremos con unos magníficos ponentes que nos darán una visión motivadora de diferentes áreas relacionadas con el sector empresarial del software.

¡No te lo puedes perder!

Hay un grupo de miembros de la comunidad que ya han confirmado su asistencia a las tres jornadas, teniendo en cuenta que las 2 primeras de seminarios y certificación cuentan con plazas limitadas y están más orientadas a desarrolladores.

Si no puedes asistir a las jornadas del miércoles o el jueves no te puedes perder el evento del viernes.

Será el primer gran evento organizado por Velneo desde la recordada Velneo Conference de 2006 y del éxito de la Jornada Velneo 2010. En Life is soft 2011 contaremos con múltiples ponencias que nos hablarán del negocio del software desde múltiples ámbitos de una empresa de software y, que te darán respuesta a preguntas como estas:

  • ¿Se puede ser rentable en una empresa de software?
  • ¿Cómo conseguir que las personas demos lo mejor de nosotros en el trabajo?
  • ¿Cómo elegir las tecnologías que debo utilizar en mi empresa?
  • ¿Cómo puedo incorporar el diseño en el corazón de mi empresa?
  • ¿Cómo debo vender mi software?
  • ¿Qué errores debo evitar en mi empresa a la hora de vender?
  • ¿Qué me pueden aportar las redes sociales en el marketing de mi empresa?
  • ¿Qué me puede aportar la formación online a mi empresa?
  • ¿Qué puertas me puede abrir el SaaS a mi negocio?
  • ¿Qué es el PaaS y como puede beneficiarme?
  • Y, por supuesto, ¿En qué novedades para 2012 está trabajando Velneo?

Tendremos la suerte de poder escuchar a magníficos ponentes que nos ayudarán a ver la luz sobre estas cuestiones y a obtener respuestas a cada una de estas preguntas.

Regístrate ahora.

Nos vemos el 11/11/11.

¡Hola 2010!

Arrancamos un nuevo año y le damos la bienvenida con mucha alegría.

Por estas fechas se leen muchos artículos con predicciones para el nuevo año.

Con buen humor me dispongo a publicar las mías, 10 predicciones clasificadas en 2 grupos.

El único objetivo es divertirme cuando vuelva a leer este post dentro de un año.

Economía
1.- El paro se estabilizará aunque España seguirá en el vagón de cola Europeo de % de desempleados.
2.- China y Brasil seguirán creciendo el doble que el resto de países.
3.- El Ibex cerrará el 2010 por encima de los 12.800 puntos.
4.- Google alcanzará los 700$ por acción.
5.- Apple cotizará por encima de los 240$ por acción.

Tecnología
6.- Los libros electrónicos -ebook- alcanzarán el 15% de las ventas a nivel mundial.
7.- El iSlate -Tablet de Apple- se convertirá en el dispositivo del año.
8.- En 2010 comenzará la comercialización masiva de televisiones con tecnología 3D.
9.- Facebook alcanzará los 500 millones de usuarios.
10.- La salida al mercado de Google Chrome OS producirá un cambio disruptivo en el mercado de Sistema Operativos.

Espero haberme equivocado en las menos positivas y haberme quedado corto en las positivas :)

¡Te deseo un próspero 2010!