Blog

Proyecto tipo: CTO/CIO as a Service

PROBLEMA

El cliente es una empresa tecnológica en la que no hay un CTO, o hay un CTO al que le falta experiencia en cuanto a la toma de decisiones estratégicas en lo referente al apartado tecnológico.

La empresa ha realizado un proceso de evaluación (o ha sufrido algún problema recientemente) y ha determinado que tiene una gran carencia en el área tecnológica, y que esta es una pieza clave para el futuro de su empresa.

El personal del área técnica suele invertir su tiempo en cosas urgentes pero no importantes: «están siempre apagando fuegos». No se dedica tiempo a las cosas que tienen importancia a medio/largo plazo.

Normalmente no se han automatizado procesos, ni se han estandarizado procedimientos. No hay metodologías organizativas implantadas, ni ágiles ni no-agiles.

Por norma, se hace todo a nivel interno sin hacer uso de proveedores para nada, o se hace todo de modo externo sin tener nada de tecnología dentro de la empresa.

Cuando hay un CTO, suele tener el conocimiento de toda la tecnología que usa la empresa, pero no acostumbra a tener una comunicación fluída con el resto de la empresa. Acostumbra a ser un buen desarrollador, siendo un perfil alto de la tecnología que maneja, pero evita el uso de otras tecnologías y muchas veces de la reutilización de código de otros.

El cliete no tiene capacidad, volumen o ambos para contratar el perfil que precisa y cubrir todas las necesidades que ha detectado.

Propuesta

Se ejercerán funciones como CTO, analizando la situación de la empresa, marcando líneas estratégicas, ayudando en el crecimiento del equipo técnico y la selección de proveedores, automatizando procesos y definiendo procedimientos.

Se harán análisis de requisitos, definición de arquitecturas, desarrollo de software si fuese necesario, validación, despliegue…

En los casos que hay un CTO no se le suplanta, se le asesora y acompaña en la toma de decisiones para que pueda crecer y ejercer las funciones que le habían sido asignadas.

Si es necesario se mediará con clientes, inversores, o cualquier persona de interés que requiera un contacto técnico.

Se establecerá un número de horas a la semana en función de las necesidades e intereses del cliente.

Precio

Nº horas/mes Precio mensual Resto horas
4 295,50€ 73,88€
8 579,50€ 72,38€
12 850,50€ 70,88€
16 1.110,00€ 69,38€
20 1.375,50€ 67,88€
24 1.593,00€ 66,38€
28 1.816,50€ 64,88€
32 2.028,00€ 63,38€
36 2.227,50€ 61,88€
40 2.415,00€ 60,38€
Nota aclaratoria:

Este proyecto tipo, es un ejemplo de proyecto que se ha realizado o se podría realizar. En ningún caso tiene validez como presupuesto real y sólo pretende documentar las distintas posibilidades que existen.

Actualmente, con los cambios que ha habido en cuanto a las posibilidades existentes, la propuesta podría ser diferente en estos momentos.

Se han omitido nombres de empresas y productos.

Por favor, si tuviese necesidad de algo similar, no dude en ponerse en contacto.

Fuentes de noticias tecnológicas

Hoy en día es difícil mantenerse informado, hay muchas fuentes de noticias y es difícil cribar para quedarse con las realmente importantes. En especial, en tecnología, con la cantidad de avances que hay día a día, puede convertirse en una autentica locura. El camino más sencillo para cualquiera es leer el «Tech Roundup» que mi amigo el bot publica cada sábado en este mismo blog, pero si necesitáis más o si no quieres delegar esa elección en una «inteligencia artificial», veremos los mejores sitios para mantenerse al día en un mundo tan cambiante.

Mi algoritmo «inteligente» a veces falla, y mete cosas que no son donde no son. Seguro que hay otros que lo hacen mejor en algún sitio, desde luego este podría hacerlo mucho mejor dedicándole unas cuantas horas. Sin embargo, creo que a día de hoy la inteligencia artificial aún no es capaz de batir en casos como estos a otras inteligencias.

Para filtrar noticias y artículos podríamos ponernos en manos de editores que nos den confianza. Por ejemplo, viendo que las noticias que salen en un sitio como TechCrunch o Hacker Noon nos parecen relevantes, podríamos convertirnos en fieles seguidores para mantenernos al día con sus actualizaciones.

Otra inteligencia que bate a la artificial y, en casos como estos, creo que también a la de los expertos (los editores que comentábamos), es la inteligencia colectiva. Hay sitios que están pensados para que destaquen las noticias que más interés despiertan, ya sea basándose en votos o en otras interacciones de los usuarios.

Inteligencia colectiva

Para mi, la primera de la lista con mucha diferencia es Hacker News, el foro de noticias de la aceleradora Y Combinator. En él hay noticias de todo tipo, pero la gran mayoría están relacionadas con la tecnología.

Tampoco se puede olvidar reddit en especial algunos subreddits como technology o programming.

Sin embargo, hay muchos más donde rascar y obtener las últimas novedades poco después de que hayan ocurrido.

habr es una comunidad hacker rusa, que recientemente abrió un site en Inglés. Se pueden leer artículos de calidad con cosas que son difíciles de encontrar en otro sitio.

Lobsters es otro sitio en el que puedes encontrar noticias, artículos y papers puramente técnicos.

Hay clones de HN dedicados en concreto a algo, como este de javascript o este especializado para datascientists.

Además de estos, últimamente están proliferando mucho los grupos de slack especializados, para los que es relativamente sencillo conseguir invitación como por ejemplo opendatascience.

Y tú ¿dónde te informas? ¿cómo cribas las noticias tecnológicas?

¿Con quien compites a la hora de contratar personal técnico?

Hoy en día, por suerte para los técnicos y por desgracia para las empresas, hay más puestos a cubrir que personal cualificado para cubrirlos. Hay mucha competencia, pero ¿quienes son? ¿Quienes entorpeceran tu camino cuando te propongas contratar personal técnico?

Las empresas contratando son muchas, bien, pero no son todas iguales.

Están las grandes que se pueden permitir pagar bien y colocar a la gente en proyectos grandes, que sólo se pueden hacer en empresas de ese estilo. Como contrapartida, les suele dar igual que a quien coloquen sea Juan o Pepe, y lo mismo el personal hoy ha caído en un proyecto chulo y pasado mañana está en un bodrio.

Están las PYMEs que no suelen pagar tan bien, y donde a lo mejor los trabajadores acaban teniendo que hacer alguna ñapa. A diferencia de las grandes, aquí es posible que (para bien y para mal) les importe bastante que el trabajador sea Juan o Pepe.

En un punto intermedio están las startups, donde el personal técnico empieza en una situación similar a la de las PYMEs aspirando llegar a un punto como el de las grandes empresas en dónde sí importe que sean Juan y no Pepe, asumiendo un riesgo bastante alto por su parte, de no llegar nunca ahí.

Cuando vas a contratar personal técnico, por tanto, no basta con que pienses lo que ofrece tu amigo con el que alternas que tiene una empresa similar a la tuya. Tienes que ver que le ofrece todo el mercado a ese tipo de perfil, pues con todo el mercado estás compitiendo.

Y siendo la competencia tan grande ¿qué podemos hacer?

En primer lugar, es muy importante determinar bien tus necesidades para tener claro el perfil que necesitas y no querer algo que no puedas afrontar. Está claro que no vas a contratar a un maestro cantero para poner ladrillos. Y desde luego no vas a contratar a un experto en los nuevos ladrillos de plástico forjado (del que sólo saben cuatro en España) si te vale con poner ladrillo rojo del de toda la vida ¿verdad? Vale que muchas veces, las empresas no saben si sólo se va a tratar de poner ladrillos o algo más, pero para eso hay que analizar la situación y tener un poco claro qué es lo que viene y ante la duda hacer las cosas lo menos sobredimensionadas posibles.

Por otro lado, es importante saber en qué grupo estás. No hay que competir en cosas en las que sabes que no puedes ganar. Por ejemplo, si sólo puedes pagar 10 asume que no vas a poder contratar a la gente que quiere 20 y piensa que les podrías ofrecer como incentivo a los que se podrían conformar con 10 porque no miran sólo la pasta.

Por último, y esto es algo que he observado repetidas veces, hay que conservar a cada uno de los que consigas contratar. Vale que hayas llegado hasta este punto montando un gran equipo de márketing (o de producción, o de lo que quiera que se nutra tu empresa) sin esfuerzo, porque es un sector en el que no hay tanta competencia. Vale (aunque me parezca muy mal) que hayas tenido a personal cualificado haciendo trabajo vital para la empresa contratándolo como becarios. En el momento que quieres meter la cabeza en tecnología, tienes que asumir que se acabó. Tendrás que explicar a tu equipo de marketing (o producción o whatever) que la nueva gente es distinta (o que a ellos los has estado explotando durante años). Tendrás que asumir que si necesitas un senior para contratarlo tendrás que tratarlo como tal, y que en cuanto le trates como tratas (de mal, normalmente) al resto de tu personal, lo más probable es que te diga adios y nunca vuelva la vista atrás.

Proyecto tipo: Bot para publicar artículos automáticamente

PROBLEMA

El cliente quiere publicar artículos automáticamente sin la necesidad de intervención humana en su web que está gestionada por un CMS (WordPress).

Proporciona una serie de temáticas y quiere que los artículos tengan cierta actualidad.

Se publicará un artículo cada semana.

PROPUESTA

Se hará una investigación de fuentes de información de donde sacar información de actualidad sobre las temáticas indicadas. Se elegirán 3.

También se buscarán fuentes de información relacionada aunque no sea de actualidad. Se elegirán 2.

Se hará un análisis para determinar cual es la mejor lógica para componer todo lo que se pueda obtener de las distintas fuentes de información en un único artículo con sentido.

Se planteará una plantilla para el formato de los artículos.

Las fuentes que no sean de actualidad se preprocesarán para dejar los datos preparados para los siguientes 2 años tras la puesta en marcha. Adicionalmente, se creará un manual para que cualquiera con conocimientos mínimos pueda repetir dicha tarea cuando se precise.

Se programará el código del bot, teniendo dos componentes principales:

  • Una araña que examine las distintas fuentes de actualidad y recopile la información.
  • Un bot que sea el que efectivamente se encargue de publicar artículos automáticamente en el WordPress del cliente.
Tecnologías

Se usará Python o PHP en función de comprobaciones pendientes de los servidores del cliente, para el código fuente de los dos programas planteados.

Como almacenamiento, dado que no se requiere una gran persistencia y hay mucha tolerancia a errores, se usará SQLite.

El cliente deberá proporcionar acceso de administrador a su instalación de WordPress o realizar las siguientes acciones para el testing y la puesta en marcha:

  • Proporcionar un usuario que tenga permisos de creación de artículos pero no de publicación para el testing.
  • Proporcionar un usuario que tenga permisos para publicar articulos en el WordPress.
  • Realizar las modificaciones necesarias en su instalación de WordPress para asegurar la disponibilidad de la API Rest y alguno de sus plugins de autenticación.

PRECIO

3.700€

TIEMPO

Estará disponible en 2 semanas para verificación por parte del cliente y la puesta en producción, que llevará otra semana. Dado que los artículos se publican cada semana, el primero saldría publicado un mes tras la aporbación del presupuesto.

Nota aclaratoria:

Este proyecto tipo, es un ejemplo de proyecto que se ha realizado o se podría realizar. En ningún caso tiene validez como presupuesto real y sólo pretende documentar las distintas posibilidades que existen.

Actualmente, con los cambios que ha habido en cuanto a las posibilidades existentes, la propuesta podría ser diferente en estos momentos.

Se han omitido nombres de empresas y productos.

Por favor, si tuviese necesidad de algo similar, no dude en ponerse en contacto.

Los mejores recursos para trabajar en tu MVP

Ya vimos en su día una serie de plataformas serverless con las que podríamos construir casi cualquier cosa en Internet. Sin embargo ¿qué hay antes de eso? ¿Hay alguna guía o herramienta que me pueda ayudar? Hoy vamos a ver algunos recursos que nos ayuden a plantear nuestro MVP.

¿Qué e un MVP?

Producto viable mínimo (MVP, del inglés Minimum Viable Product) es un producto con suficientes características para satisfacer a los clientes iniciales, y proporcionar retroalimentación para el desarrollo futuro.

Wikipedia

Herramientas y recursos
  • Sketchboard: para hacer dibujos y diagramas online en equipo de un modo creativo en una pizarra blanca sin límites.
  • Bizplan: software y herramientas para hacer planes de empresa online.
  • Bootstrapping a profitable SaaS Business: un ebook sobre como construir negocios basados en software como servicio por una sóla persona. Los capítulos disponibles tratan de como construir y validar un MVP.
  • The Epic Guide to Bootstrapping a SaaS Startup from Scratch: es el primero de una serie de artículos que habla de como empezar negocios desde cero.
  • Canvanizersirve para hacer un canvas online con el que entender cuales son los puntos clave de tu MVP. Tienes la opción de crear un Business Model Canvas o un Lean Canvas, por ejemplo.
  • Make my persona: Hubspot tiene una herramienta para la creación de personas, con la que podrás de un modo sencillo y muy gráfico definir a los usuarios tipo de tu MVP.
  • Customer journer map onlineUXpressia tiene una herramienta online que te permite definir y analizar fácilmente qué es lo que hace tu usuario tipo antes, durante y después de utilizar tu MVP.
  • Startup Metrics for Pirates: AARRRen el post enlazado tenéis la explicación de las 5 métricas más básicas e importantes que deberíais tener contempladas en vuestro MVP. El video de Dave McClure merece mucho la pena y son sólo 5 minutos.

Con estos textos y herramientas, será mucho más fácil planificar nuestro MVP. De este modo, seremos más efectivos a la hora de implementarlo.

Proyecto tipo: Chatbot buscador

PROBLEMA

El cliente quiere proporcionarle a una tienda online un chatbot buscador de elementos que ayude a los usuarios.

La web dispone de un buscador que no se puede reutilizar.

La base de datos de los elementos no se encuentra accesible.

El chatbot deberá de funcionar igual para los clientes de cualquier parte del mundo.

PROPUESTA

Dado que hay muchas incertidumbres en cuanto al uso, el flujo de conversación y otros puntos del proyecto, que pretende ser de una embergadura muy amplia, se propone hacer un prototipo de chatbot buscador que cumpla con los siguientes puntos que se han acordado con el cliente:

  • El prototipo trabajará con los datos proporcionados por el CLIENTE al PRESTADOR, sobre los elementos ofertados por su cliente.
  • El idioma que entenderá y con el que contestará el prototipo será el castellano, o español de España.
  • Salvo que durante el SEGUIMIENTO DE LA EJECUCIÓN DEL CONTRATO se
    determinase lo contrario entre ambas partes, para la implementación del prototipo se emplearán los servicios de Azure proporcionados por Microsoft.
  • La entrega del prototipo incluye el asesoramiento y respaldo a la hora de la creación de cuentas y de todo lo que sea necesario para realizar su despliegue.
  • La entrega del prototipo incluye la entrega de una estimación de costes de ejecución en base al número de usos que se dé al servicio.
  • El prototipo a desarrollar, será similar al presentado en el ejemplo RealEstateBot proporcionado por Microsoft.
En concreto se implementarán:
  • Una ETL que convierta los datos originales al formato más adecuado.
  • Una base de datos distribuida sobre Azure Cosmos DB.
  • Un motor de búsqueda que será reutilizable en la web y otros servicios, empleando Azure Search.
  • Un motor para el chatbot basado en Azure Bot Service.
  • Se montarán entornos de preproducción y producción.
  • El código se almacenará en un repositorio Git.
  • Se montará un sistema de integración continua con Azure DevOps.

PRecio

6.400€

Tiempo

Dadas las incertidumbres del proyecto, el tiempo de desarrollo será de entre 3 semanas y 3 meses.

Nota aclaratoria:

Este proyecto tipo, es un ejemplo de proyecto que se ha realizado o se podría realizar. En ningún caso tiene validez como presupuesto real y sólo pretende documentar las distintas posibilidades que existen.

Actualmente, con los cambios que ha habido en cuanto a las posibilidades existentes, la propuesta podría ser diferente en estos momentos.

Se han omitido nombres de empresas y productos.

Por favor, si tuviese necesidad de algo similar, no dude en ponerse en contacto.

Proyecto tipo: ICO personalizada

PROBLEMA

Se trata de facilitar a un tercero la creación de una moneda virtual (ICO personalizada).
Así mismo habrá que implementar los medios necesarios para facilitar a sus usuarios la compra-venta de dicha moneda.

Por el momento no está claro para qué se usará dicha moneda, por lo que sólo se considerará un activo digital para acumulación de valor/especulación sin la posibilidad de intercambiarlo directamente por bienes o servicios. Si posteriormente se optase por esta opción, se plantearía una extensión a este desarrollo inicial.

Para la creación de la moneda virtual se pueden seguir diferentes estrategias, por ejemplo:

  • Implementar un token sobre Ethereum
  • Crear una criptomoneda completamente independiente
  • Crear una moneda digital centralizada

Cada uno de estos tiene unos pros y unos contras pero para consideración de este presupuesto, por lo tratado con el cliente, se valorará sólo la primera opción.

Como herramientas para que los usuarios puedan interaccionar con la moneda las opciones también son variadas, considerándose en este presupuesto la planteada por el cliente: web site adaptado para móviles al estilo de Coinbase pero para esta única moneda.

El cliente proporcionará los diseños y estos podrían hacer que variase el presupuesto, por lo que estos deberán proporcionarse antes de comenzar el proyecto para su evaluación, y en su caso modificación de este presupuesto.

Los componentes que contendrá son:
  • Portada
  • Login
  • Dashboard
  • Compra
  • Venta
  • Balances
  • Histórico de transacciones
  • Configuración/Perfil
  • Pasarela de pago (1)
  • Pasarela de cobro (1)
  • Notificaciones por correo electrónico

Toto el sistema se implementaría sobre Azure, el cloud de Microsoft, por ser un proyecto pensado para una corporación y ser Microsoft el principal proveedor de software y servicios corporativos.

Los gastos variables de sistemas y de transacciones entre contratos de Ethereum correrán a cargo del desarrollador durante el desarrollo y la ejecución de pruebas. Dichos gastos, durante la fase de despliegue y ejecución en producción correrán a cargo del cliente, no estando incluidos en este presupuesto.

PRECIO

En la tabla de precio se incluyen algunos componentes opcionales cuyos importes no están sumados al importe final.

Tarea Opcional Precio
1 Auditoría de contratos a extender no 3000
2 Implementación de nuevos contratos no 1500
3 Preparación de infraestructura no 1200
4 Portada no 600
5 Login no 1200
6 Dashboard no 2400
7 Compra no 1200
8 Venta no 1200
9 Balances no 600
10 Histórico de transacciones no 600
11 Configuración/Perfil no 600
12 Pasarela de pago (1) no 1200
13 Pasarela de cobro (1) no 1200
14 Notificaciones por correo electrónico no 600
15 Pasarela de pago adicional si 800
16 Pasarela de cobro adicional si 800
17 Diseño si 1200
Total no opcionales 17.100,00€

Tiempos

El proyecto tiene una estimación de tiempo de entrega de 4 (cuatro) meses, desde la fecha de inicio de los trabajos.

El tiempo podría reducirse a la mitad incrementando el presupuesto en un 50%.

Nota aclaratoria:

Este proyecto tipo, es un ejemplo de proyecto que se ha realizado o se podría realizar. En ningún caso tiene validez como presupuesto real y sólo pretende documentar las distintas posibilidades que existen.

Actualmente, con los cambios que ha habido en cuanto a las posibilidades existentes, la propuesta podría ser diferente en estos momentos.

Se han omitido nombres de empresas y productos.

Por favor, si tuviese necesidad de algo similar, no dude en ponerse en contacto.