Para la mayoría de los equipos de ciencias de la información, la idea de entregar código funcional en dos semanas parece imposible. Descubra por qué y cómo es factible un plazo de dos semanas para el código.
Video: Las empresas están sentadas en una «mina de oro» de grandes cantidades de datos. Kamel Salah y Michael Hiskey, de la empresa de gestión de datos maestros Semarchy, explican cómo las empresas pueden desbloquear el potencial de monetización de los datos y pasar de ser consumidores a productores.
Típicamente, cuando reto a los equipos de ciencias de la información a construir código funcional en iteraciones de dos semanas, piensan que estoy loco. Cuando la mayoría de los equipos se embarcan en un proyecto para crear una nueva solución de datos, lo mejor que pueden imaginar que pueden lograr en las primeras dos semanas es tal vez una comprensión de alto nivel del requisito. Por lo tanto, la noción de tener un código funcional que los usuarios finales puedan usar después de un período de dos semanas es impensable. ¿Cómo es posible combinar matemáticas avanzadas y/o inteligencia artificial, un sistema de persistencia de alto volumen, visualización de datos y una interfaz de usuario en un sistema utilizable en sólo dos semanas?
Bueno, como me gusta decir, «sólo es imposible hasta que no lo es».
Para ser justos, hay requisitos para esta afirmación que vale la pena destacar.
En primer lugar, debe estar preparado para iniciar un proyecto con iteraciones de dos semanas. Si aún no estás preparado para el éxito, tendrás que invertir algo de tiempo en una Iteración Cero.
En segundo lugar, aunque usted entregará código funcional que es útil para los usuarios finales, el alcance del entregable (especialmente el primer entregable) es muy limitado. Aunque los usuarios ciertamente tienen la opción de detenerse después de sólo dos semanas de desarrollo, esa no es la intención.
Por último, hay que tener un ecosistema de reglas y prácticas, como las que se encuentran en Extreme Programming, que aíslan la iteración de dos semanas de todos los riesgos inherentes a este estilo de desarrollo.
Dicho esto, incluso con el entorno adecuado, sigo encontrando que los profesionales de datos tienen dificultades para concebir una iteración de dos semanas. Así que desarrollé un método estructurado para ayudar a los equipos de ciencias de la información a comenzar con esta práctica inicialmente difícil: simplemente se llama el método 4-3-2.
VER: The Big Data & Analytics Master Toolkit Online Course (ConsejoTecnologico.com Academy)
Cómo empezar
El método 4-3-2 consiste en: cuatro días de pruebas, seguidos de tres días de desarrollo, seguidos de dos días de refactorización. Encaja perfectamente en una iteración de dos semanas que comienza con una reunión de planificación de iteraciones de un día con el usuario final. Entiendo que este método, en la superficie, hace que la idea de una iteración exitosa de dos semanas parezca aún más poco práctica que cuando empezamos, sin embargo, sólo tienes que quedarte conmigo e intentarlo.
En la reunión de planificación de iteraciones, aunque es bueno tener la perspectiva de varios usuarios finales, creo que lo mejor es tener un usuario de oro que pueda hablar por todos ellos; esto evitará la pérdida de tiempo valioso en la reunión de planificación de iteraciones, mientras que los usuarios finales discuten entre sí sobre el requisito.
De esta reunión se desprenden algunos resultados importantes, el más importante de los cuales es el alcance de la iteración. El alcance debe ser muy pequeño: un simple informe, una transformación de datos o una función matemática que les haga la vida un poco más fácil. Habrá muchos informes y funciones que los usuarios desean, pero elija el que más les beneficie ahora mismo (o en dos semanas) y que el equipo de ciencias de la información sepa que puede crear en dos semanas. Luego elija una o tres funciones más y clasifíquelas en orden de prioridad; su equipo definitivamente alcanzará la máxima prioridad, y probablemente alcanzará a una o más de las otras. Un día completo de ocho horas le dará tiempo suficiente para entender el panorama general, entender el panorama pequeño (es decir, el alcance de esta iteración) y establecer las expectativas adecuadas. Duerme bien, porque mañana comenzarán nueve días intensos de desarrollo.
VER: Descripción del puesto: Científico de datos (Tech Pro Research)
Una mirada al interior de la iteración de dos semanas
Bien, es hora de empezar. Si la reunión de planificación de la iteración se celebra un lunes (recomendado), el resto de la semana se dedicará a las pruebas de escritura. Así es, pruebas de escritura, sin código de producción.
El método 4-3-2 sigue un enfoque de diseño basado en pruebas (TDD), aunque un poco diferente de cómo se practica normalmente. Típicamente, el diseño TDD alterna rápidamente entre las pruebas de construcción y el código de producción de la construcción. Usted construye una pequeña prueba que fallará (porque no hay código de producción); escribe el código de producción para que la prueba pase; y repite este proceso hasta que tenga un conjunto completo de pruebas y una buena base de código de producción.
Más información sobre Big Data
En el método 4-3-2, usted pasa cuatro días sólidos escribiendo pruebas: pruebas de usuario, pruebas de sistema y algunas pruebas unitarias. Aunque pueda parecer extraño pasar el 40% de su tiempo de iteración escribiendo pruebas, esto le obligará a usted y a los usuarios finales a ser muy claros sobre el requisito. Y te pondrá en una gran posición para empezar a desarrollar código de producción.
Con sólo una semana para terminar, es hora de empezar a escribir el código de producción. Se sorprenderá de lo fácil que es escribir código de producción cuando tiene un conjunto robusto de pruebas desarrolladas. Una gran parte del tiempo que se tarda en construir una solución de datos se invierte en ambigüedad. Con el enfoque TDD, no hay incertidumbre, todo se resuelve en las pruebas. El único trabajo para los profesionales de datos ahora, durante los próximos tres días, es hacer que las pruebas pasen lo más rápido posible. No te preocupes todavía por cómo se ve el código; nosotros nos encargaremos de eso a continuación.
Los dos últimos días de la semana se dedican a la refactorización. En este punto, usted ya ha cumplido con los requisitos de los usuarios finales, y tiene un código funcional que pueden utilizar. Estos dos últimos días son para los profesionales de la información; es entonces cuando usted hace que el código se vea bien. Aquí es donde usted limpia sus variables, elimina la duplicación y aplica todas esas buenas prácticas de diseño de código que todos conocemos. Estos dos días deben ser fáciles para el equipo, a diferencia de los típicos momentos crujientes antes de que se cumpla el plazo de entrega.
VER: Video: Cómo la ciencia de datos puede ayudar a los equipos de ventas a ver por qué las operaciones están fracasando (ConsejoTecnologico.com)
Conclusión
Para la mayoría de los equipos de ciencias de la información, la iteración de dos semanas parece un unicornio. Puedo asegurarles que es muy real y factible, pero como cualquier otra cosa, deben tener un buen ambiente, un equipo disciplinado y un buen método de implementación. He compartido un enfoque de este tipo: el método 4-3-2.
Después de una reunión de planificación de iteración de un día, pase cuatro días escribiendo pruebas, tres días escribiendo código y luego dos días limpiando el código.
Los usuarios finales no deberían esperar obtener mucho en dos semanas de desarrollo, pero pueden obtener algo que les hará la vida un poco más fácil. Y lo que es más importante, obtendrá información valiosa de los usuarios finales sobre la viabilidad de la solución de datos, incluso si es sólo una pequeña parte.
Si está atascado tratando de conseguir código funcional para los usuarios finales en dos semanas, pruebe el método 4-3-2. No tienes nada que perder y todo que ganar.
Boletín informativo de Big Data Insights
Domine los fundamentos de la analítica de datos de gran tamaño siguiendo estos consejos de expertos y leyendo los conocimientos sobre las innovaciones de la ciencia de datos. Lunes de entrega