Los casos de uso estratégicos son proyectos grandes, de alto valor empresarial, que pueden dividirse en subtareas aisladas y repetitivas. Cada segmento es trabajo para un Devin, por lo que debería ser sencillo (menos de 90 minutos de trabajo de un ingeniero humano) e incremental.
Resumen — Requisitos de casos de uso de Devin:
- Alto volumen de subtareas repetitivas (segmentos)
- Subtareas con dificultad de nivel de ingeniero junior
- Subtareas que estén aisladas y puedan hacerse de forma incremental
- Subtareas con un ciclo de verificación objetiva
- (Recomendado): Dependencias mínimas con otros proyectos
Características necesarias
Un caso de uso estratégico óptimo de Devin es poco profundo y amplio, en lugar de estrecho y profundo.
Las funcionalidades complejas y totalmente nuevas (aunque sean repetitivas) probablemente no sean suficientemente fiables a escala.
Un gran backlog de cambios horizontales y simples (por ejemplo, issues de SonarQube) genera un enorme ROI cuando se escala horizontalmente.
Cuanto más simple sea el corte, más fiable será el proyecto en su conjunto.
Casos de uso de segmentación [IMPORTANTE]
Las migraciones, refactors, modernizaciones y backlogs de deuda técnica son casos de uso idóneos. Por ejemplo, piensa en una migración de código.
Divide la migración en segmentos aislados, donde cada tarea se aborda durante una sesión individual de Devin.
Una slice debe ser la unidad atómica más pequeña del proyecto (archivo, notebook o módulo) con:
- Menos de 90 minutos de trabajo de ingeniería humana
- Una forma de verificar los cambios de código (tests, build, validaciones de CI o script de verificación personalizado)
Cada Devin debe saber objetivamente si ha completado su tarea con éxito. Hasta que complete la verificación, debe seguir iterando usando stack traces detallados o logs de errores.
Cada slice debe evitar tener demasiadas dependencias o plataformas con las que interactuar. ¡Concentra a Devin en los cambios de código!
Cada slice debe ser aislada e incremental. Aprovechando el paralelismo de Devin, completa la migración una slice a la vez. Después de la revisión humana, ve fusionando sucesivamente cada PR en master.
El modelo general para un caso de uso de Devin:
Devin debe ser lo más fiable posible a nivel de cada slice individual, de modo que, al paralelizar en miles de slices, mantengamos una alta fiabilidad a escala. Incluso un pequeño margen de error puede resultar en muchos cambios incorrectos cuando se escala.
Para ser proporcionado por el cliente
- Descripción clara de cada paso en cada slice (un documento detallado o un video del proceso de extremo a extremo es muy eficaz)
- Varios ejemplos de cambios de código antes y después (pares de entrada/salida)
- Acceso de Devin a todas las dependencias necesarias en cada slice
Las tareas continuas de deuda técnica (por ejemplo, revisión de PR o pruebas de QA) también son casos de uso sólidos, siempre que puedan dividirse en partes.
Las migraciones, modernizaciones y refactorizaciones son casos de uso sólidos para Devin cuando se realizan de forma incremental. No se recomienda una migración que requiera actualizar todo el repositorio al nuevo sistema al mismo tiempo, en lugar de hacerlo una parte a la vez.
Lectura adicional: Estudio de caso de migración de Nubank