Skip to main content

Un enfoque del software centrado en los desarrolladores

Escrito por
feature developer approach

18 de febrero de 2022

0 minutos de lectura

En los últimos años, “la idea de que todas las empresas son empresas de tecnología [marca] un cambio fundamental en nuestra industria” (Suzie Prince, directora de Producto, DevOps, Atlassian). El predominio del desarrollo como disciplina ha ampliado la audiencia y ha dado mucha más fuerza a una voz centrada en la perspectiva de los desarrolladores. Esta transición se analizó en varias charlas de SnykCon el año pasado, que aportaron nuevas perspectivas sobre cómo los desarrolladores han transformado la industria y creado un enfoque nuevo y mejorado para el desarrollo de software.

Lo que los desarrolladores necesitan de su organización

Las herramientas y la cultura de la empresa influyen mucho en nuestra productividad y nuestro enfoque. Cuando tenemos la oportunidad de trabajar con autonomía, aumentan la inversión y la motivación del equipo. El programa de investigación State of DevOps de DORA (DevOps Research and Assessment) descubrió que “las organizaciones transformadoras que ofrecen más opciones a los desarrolladores tienen un mejor desempeño”. Nadie conoce nuestras necesidades mejor que nosotros, y es fundamental darles a los desarrolladores más opciones en cuanto a las herramientas y las estructuras de equipo con las que interactúan a diario.

En las conversaciones de SnykCon 2021 sobre el enfoque y el empoderamiento de los desarrolladores, surgieron tres principios fundamentales.

  1. Los desarrolladores necesitan herramientas que simplifiquen su trabajo.

  2. Los desarrolladores necesitan integrarse sin problemas con otras herramientas y sus flujos de trabajo actuales.

  3. La cultura de la empresa debe empoderarlos para que se hagan responsables de su trabajo.

Herramientas que facilitan la vida

En su sesión de SnykCon junto a Gareth Rushgrove (vicepresidente de Producto, Snyk), Suzie Prince (directora de Producto, DevOps, Atlassian) comenzó explicando que los desarrolladores quieren herramientas que “les permitan trabajar con eficiencia y eficacia en sus tareas cotidianas”. A menudo, esto significa integrar la automatización siempre que sea posible para reducir el esfuerzo que requieren las tareas repetitivas y que consumen tiempo. Rushgrove, quien también fue desarrollador, lo expresó de forma sencilla: los desarrolladores buscan “la oportunidad de usar cosas que [sean] más fáciles”. Entre la gran cantidad de tareas de las que son responsables, debemos priorizar las herramientas fáciles de usar y las estrategias que simplifican las actividades cotidianas.

Este principio se aplica a la seguridad de las aplicaciones tanto como al desarrollo. Si queremos integrar la seguridad desde el inicio de forma eficaz y motivar a los desarrolladores a adoptar prácticas de programación segura, necesitamos herramientas que se adapten a sus necesidades y simplifiquen la capacitación en seguridad. Ari Kalfus (líder de Seguridad de Aplicaciones, Rally Health) habló sobre esto durante su sesión de SnykCon acerca de información de seguridad práctica. Su equipo usa Conftest, de open policy agent, para probar sus datos de configuración. Personalizaron los mensajes de error en Conftest para que los desarrolladores recibieran información práctica sobre el motivo por el que falló la prueba. Kalfus indica a su equipo que “cree la política y luego le agregue un mensaje que explique a los desarrolladores exactamente qué está mal en su PR y qué deben hacer para solucionarlo”. “Si no les das orientación a los desarrolladores, estás apoyándolos menos de la mitad de lo necesario” (Kalfus).

How Compliance-as-Code Grants Developers Actionable Security Insights

Herramientas que se integran sin problemas

No hay dos equipos de desarrollo que trabajen de la misma manera. Incluso dentro de una organización, cada equipo tiene sus propios métodos y un ecosistema de herramientas adaptado a sus tareas específicas. Las herramientas que conectan con los desarrolladores son las que mejor se adaptan a sus complejos ecosistemas.

Un principio fundamental de las buenas herramientas es asumir que se usarán junto con otros programas. Como explicó Rushgrove, “los desarrolladores no quieren que una sola herramienta lo haga todo”. Si se les da la libertad de elegir sus herramientas, es indispensable que sean compatibles con una amplia variedad de programas. La segunda cualidad que buscan los desarrolladores es que sean fáciles de adoptar. “Si a otra parte de la organización le toma mucho tiempo integrar [la herramienta] en tu flujo de trabajo, probablemente elijas otra cosa” (Rushgrove). Un enfoque centrado en los desarrolladores prioriza terminar el trabajo por encima de llenar formularios y contactar a otros departamentos para solicitar permisos y aprobaciones.

Developers don't want someone looking over their shoulder

Liderazgo de servicio y autonomía de los equipos

A medida que la industria pasa de una arquitectura diseñada por expertos aislados a una arquitectura evolutiva, el proceso de desarrollo se divide en partes más pequeñas, lo que da a los desarrolladores más espacio para la creatividad y la elección. Gran parte de este cambio llegó con la adopción de metodologías ágiles, donde “las personas y sus interacciones importan más” que la jerarquía directiva (Prince). Rushgrove era desarrollador en el área de operaciones durante los primeros días de DevOps. A medida que todas las empresas se convirtieron en empresas de tecnología, vio cómo “ingenieros, desarrolladores, profesionales de operaciones y especialistas en software terminaron en puestos de gestión más rápido de lo que se daban cuenta, esperaban e incluso temían. Trajeron consigo la actitud de ‘quiero que mis gerentes no se interpongan en mi camino, así que, como gerente, no me interpondré en el camino’”. Esta actitud transformadora ayudó a reducir las barreras de entrada en toda la industria y abrió el camino para que los desarrolladores definieran sus propios enfoques.

Estos principios de gestión también se aplican a la colaboración entre seguridad y desarrollo. “Si has vivido en un mundo donde las pruebas de seguridad se realizan meses después del desarrollo principal y has visto lo costoso que resulta, tienes motivos para abordarlas antes” (Prince). Esta es la fuerza que impulsa la integración de la seguridad desde el inicio en las aplicaciones. A medida que aumentan la descentralización y la necesidad de producir con rapidez y seguridad, también crecen el acceso y las responsabilidades de los equipos de desarrollo. Para proteger este nuevo flujo de trabajo, la seguridad debe seguir el patrón de descentralización. Como explicó Mike Milner (director global de Tecnología de Seguridad de Aplicaciones, TrendMicro), “la función clave del equipo de seguridad es entender qué están creando los desarrolladores y qué nuevas amenazas podrían surgir”. Delegar la clasificación diaria de alertas a los desarrolladores les permite establecer prácticas de programación segura y libera a los profesionales de seguridad para que se enfoquen en “darles tiempo a los equipos de desarrollo para investigar, implementar una solución adecuada y, de hecho, ponerla en producción” (Milner).

Security workflow collaboration: How security teams provide aircover for developers

Equipos de desarrollo autónomos

Al crear equipos de desarrollo autónomos y empoderados, es importante que la gerencia “escuche lo que el equipo intenta lograr y lo ayude a resolver el problema por sí mismo” (Prince). Los líderes, gerentes y profesionales de seguridad están para ayudar a los equipos de desarrollo a avanzar, no para darles la respuesta cada vez. Darles a los desarrolladores la oportunidad de elegir herramientas que se adapten a sus necesidades y la autoridad para guiar a sus propios equipos crea una cultura de responsabilidad que ayudará a la organización a mantener la productividad y la seguridad durante muchos años.

En el mercado hay muchas herramientas que afirman priorizar las necesidades de los desarrolladores, pero ninguna lo hace tan bien como Snyk. Ya sea que necesites proteger el código de tus aplicaciones en tiempo real, buscar vulnerabilidades en dependencias de código abierto e imágenes de contenedores, o encontrar y corregir errores de configuración en la nube, Snyk te ayuda. Nuestra inteligencia de seguridad líder en la industria te permitirá desarrollar rápido y mantenerte protegido. Regístrate y protege tus proyectos gratis hoy mismo.

Empieza con Capture the Flag

Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.