Se
describen muchas cosas cotidianas como si habláramos de tecnología y son parte
del lenguaje cotidiano expresiones como las siguientes: las personas están
“programadas”, el “ancho de banda” emocional o la manera ingeniosa como se
pueden “hackear” las rutinas diarias. Invariablemente, las metáforas
explicativas de cualquier época incorporan los dispositivos y los espectáculos
del día. Ahora nos estamos acercando al uso extendido del tentador concepto que a su vez contiene todas
las expresiones tecnológicas: el “stack”. No hay palabra equivalente en
español, lo más cercano es “capa”, pero no le hace justicia ya que esta no
incluye la interrelación entre las capas. La lógica del “stack” todavía no ha
traspasado a la conversación cotidiana, pero está comenzando a aparecer en
algunos ámbitos:
- Gerentes corporativos hablan de “stacks” de soluciones.
- Atletas comparten sus “stacks” de recuperación y de formación de músculos.
- La potencia política del Presidente Trump se presenta representada por su singular “stack” de talentos: manejo de redes sociales, estrategia y persuasión.
- En el artículo se aprovecha para desarrollar la definición de stack y para hablar sobre el cómo seleccionar el stack de tecnología apropiado para una solución.
Definición
En
computación un stack de software o de
soluciones es el conjunto de subsistemas o componentes necesarios para
crear una plataforma completa, donde no se requiere software adicional para
soportar las aplicaciones. Un tiempo atrás el stack incluía el hardware, ahora
se refiere más directamente a software. El concepto de “stack” está en plena
evolución, de manera que hoy tenemos definiciones donde el stack técnológico
incluye la combinación de productos de software y de lenguajes de programación
utilizados para crear una aplicación web o móvil. Algunos ejemplos de stack
son:
- El stack de un teléfono inteligente – Incluye el código de bajo nivel que controla el dispositivo, el sistema operativo y el software que la persona usa para enviar un mensaje o para jugar un juego.
- El stack de una aplicación – Puede incluir los lenguajes de programación utilizados para su desarrollo, los servicios que lo conectan a otras apps y el servicio que lo hospeda en-línea.
- Un desarrollador “full stack”- Es alguien competente para el trabajo de todas y cada una de las capas del sistema.
Para desarrollar una solución de tecnología es necesario
escoger el stack de tecnología que se utilizará. Esto resulta ser un poco arte
y un poco ciencia. No alcanzar el balance apropiado puede tener un impacto
significativo en un proyecto, por lo tanto es crucial evaluar todos los
posibles riesgos. Las grandes preguntas que se deberían responder para escoger
las tecnología que componen el stack incluyen:
Cuál es el panorama de talento para la tecnología? – Cuán
fácil es conseguir un desarrollador que conozca el stack tecnológico? Como cada
stack tecnológico tiene su comunidad, es importante conocer la cultura
alrededor de la misma.
Qué respaldo tiene la tecnología y las razones para ello? –
este puede provenir de una corporación privada o de una organización sin fines
de lucro y es necesario confirmar que los intereses del que la respalda
coinciden con los de quién los va a utilizar.
Cuán madura es la tecnología? – Mientras más temprano esté
la tecnología en su ciclo de vida, menos confiable tiende a ser. Las
tecnologías maduras tienen un ecosistema completo de herramientas.
Cuán fácil es construir y compartir soluciones? – Madurez
también implica un gran conjunto de paquetes de terceros.
Cuáles son los requerimientos de mantenimiento? – Es
necesario considerar todos los costos asociados.
Cuáles
dependencias tecnológicas existen? – Esto debido a que las mayoría de las
tecnologías están construidas una sobre la otra.
No hay comentarios:
Publicar un comentario