Por una metodología

21/Oct/2009 123

Suele ser bastante complicado trabajar para la web, tomando en cuenta el ritmo en que están evolucionando las tecnologías y lo exigente que se pone el mercado ante la vorágine de Internet. Es en momentos como éstos que se necesita poner orden en el gallinero, pausar un momento y sentarse a reflexionar en cuáles serán los pasos a tomar para enfrentar un proyecto web. Estimar tiempos, quizás transparentárselo al cliente a través de una Gantt y apoyarte con una metodología clara, robusta y que te apoye al momento de esa tan ansiada entrega final sería el ideal en estas instancias.

Scrum es una metodología ágil de manejo de proyectos digitales (generalmente software). Puede ser tomado como un proceso, lo que hace más interesante aún esta metodología. Algunos incluso se atreven a mencionarlo como capaz de ser utilizado en el desarrollo de cualquier producto; pero lo que más interesa es la capacidad de entregar un producto con un conjunto de funcionalidades específicas a cada iteración.

Algunas de sus características son:

  • Es ágil ya que funciona con cortas iteraciones de tareas pre-definidas.
  • Scrum no controla tiempos, sino que tareas de desarrollo.
  • Envuelve prácticas ya existentes, por lo que su implementación no confiere un cambio radical en la manera de trabajar.
  • Es basado en el trabajo en equipo.
  • Al ser ágil, se incrementan en cada iteración funcionalidades y se adapta rapidamente a los cambios que éstos pueden sufrir.
  • Aumenta la cooperación entre los integrantes del equipo y su comunicación.
  • Scrum es una manera de detectar causas de conflictos y errores en la entrega de productos.
  • Maximiza la productividad.
  • Es escalable desde simples proyectos hasta organizaciones enteras.
  • Puede ser implementado al inicio del proyecto, a la mitad o cuando esté con problemas y retrasos en su entrega.

Scrum es un set de prácticas y reglas interrelacionadas que optimizan el desarrollo, reduce la sobrecarga organizacional y sincroniza los requerimientos con prototipos iterativos. Basado en teorías de control de procesos modernas, Scrum permite que un desarrollo sea mejor abordado teniendo en cuenta los recursos disponibles y tiempos predefinidos.

Parece milagroso, pero no es la solución a nuestros problemas. Por mi experiencia, necesitas que se junten algunos factores para que puedas implementar Scrum en un proyecto con éxito:

CSSLab: lo que NO es Scrum

  • Un pequeño tiempo (hasta 2 dias) de implementación y/o adaptación.
  • Un equipo ordenado y acostumbrado a cambios a mitad de un proceso.
  • Un jefe de proyecto que sepa lo que está haciendo.
  • Un cliente que acepte la propuesta de que es un cambio que será para mejor.

Bueno, y ¿cómo se utiliza?

La clave del éxito de Scrum está en el uso de medidas que maximizen la flexibilidad y riesgo mientras mantienes el control. La mayoría de los proyectos tratan de evitar riesgos, aunque ésta sea una parte inherente del desarrollo web y de software.

Manten tus amigos cerca, y tus enemigos más cerca aún

Las variables de un desarrollo son: riesgo, funcionalidad, costo, tiempo y calidad, las que pueden ser estimadas al inicio mismo del proyecto. Cada variable comenzará a cambiar en el momento en que el proyecto comience, y pueden ser aumentadas o disminuidas de acuerdo al avance del desarrollo (aumenta funcionalidad por mayor tiempo y costo, por ejemplo).

El uso de controles es la espina dorsal de Scrum, y sirve para establecer, mantener y monitorear parámetros claves. Estos controles se tornan críticos cuando te encuentras con incertidumbres, comportamiento impredecible y el amargo caos (sabemos que siempre existen…). Los controles utilizados en Scrum son:

Backlog (cartera)
Una identificación de todos los requerimientos que deben cumplirse al final del desarrollo.
Objetos / Componentes
Contenedor de reutilizables
Paquetes
Grupo de objetos dentro del cual se desarrollará un ítem del backlog.
Problemas
Que deben ser resueltos por un miembro del equipo al implementar un ítem del backlog.
Temas
Que deben ser resueltos antes que un ítem del backlog sea asignado a un paquete.
Soluciones
A un tema ó problema.
Cambios
De actividades que son realizadas para solucionar un problema.
Riesgos
Asociados a un problema, tema ó ítem del backlog.

Estos controles son medidos y contínuamente mantenidos. Los mayores controles son backlog y riesgos; mientras backlog comenzará siendo grande, aumentará más aún cuando culmine la etapa de planificación pero disminuirá considerablemente mientras el proyecto avance y se vayan quemando cada uno de sus requerimientos. Riesgos por su parte irá en aumento a medida que se sumen temas y problemas, pero debe disminuir cuando se acerque la entrega del proyecto.

La clave: los Sprint

Un sprint es un conjunto de actividades de desarrollo en un tiempo pre-definido que conducen en un ejecutable demostrable. El intervalo entre cada sprint está basado en la complejidad del producto, evaluación de los riesgos y el grado de control deseado. Dentro del desarrollo del proyecto existirán varios sprint; inicialmente sus duraciones serán largas (hasta 6 semanas) pero deben acortarse a medida que avanzan (1 semana). Al final de cada sprint, el Scrum Master (quien maneja y aplica la metodología) puede cambiar backlog y riesgo en respuesta a eventos externos al proyecto (nuevas tecnologías, competitividades, fallos en herramientas, etc.) lo que se traduce en productos cada vez más acabados y cuya funcionalidad se va incrementando en cada sprint.

En un equipo de trabajo pueden haber muchos sprints trabajando en diferentes funcionalidades de un mismo producto; se recomiendan equipos de sprint que incluyan: desarrolladores, especialista en QA y un encargado de la documentación. Cada equipo debe trabajar en sus paquetes asignados para resolver los problemas al implementar backlogs. La idea es que al final de cada sprint el equipo entregue un código ejecutable y demostrable.

Se recomienda crear una reunión diaria (Scrum Meeting) donde se discuten los avances, problemas y posibles soluciones por parte de cada miembro del equipo; así todos estarán al tanto de lo que cada uno está haciendo y pueden aportar con soluciones. Esta reunión no debe durar más de 15 minutos y ojalá se haga al inicio de la jornada laboral.

CSSLab: Scrum

Finalmente, el cierre

Cuando todos los factores determinados en el backlog están terminados y los problemas fueron completados, el encargado puede determinar que el proyecto está cerrado. Lo interesante en Scrum es que se asume que un producto nunca está completo y que constantemente se puede mejorar en cuanto a funcionalidades. A partir que aquí, se permite generar un nuevo ciclo y recomenzar Scrum.

Y ¿Cómo lo aplico?

Primero, debes documentarte bastante y entender bien lo que involucra implementar una nueva metodología de trabajo dentro de un equipo ya consolidado. Recuerda que manejar personas suele ser complicado y debes tener un proyecto algo liviano para hacer un primer intento. En una empresa de desarrollo de software o de TI no debería ser complicado, pero implementarlo en una agencia multimedia puede llegar a ser doloroso y con una alta tasa de fracaso, debido al ritmo vertiginoso con que se trabaja y la poca posibilidad de manejar proyectos individuales por vez (si entra un nuevo cliente, se debe tomarlo con la misma gente que ya está trabajando en otros proyectos con sprints ya definidos). En ese caso, el Scrum Master debe saber manejar muy bien multiples proyectos simultaneamente y tratar en lo posible de mantener el orden con el cliente.

No deja de ser un buen desafío, es cosa de atreverse.

Comentarios

  1. Bfrsiw [#]

    amoxicillin for humans for sale – buy amoxil online price of amoxicillin 500 mg

  2. Vqusqd [#]

    buy generic vardenafil – order vardenafil from canada vardenafil buy online

  3. Mzdhxd [#]

    buy cialis viagra vardenafil – best price for vardenafil online generic vardenafil online pharmacy

  4. Oszymv [#]

    discount vardenafil online – generic cialis vardenafil is generic vardenafil real

  5. Iatijm [#]

    levitra canada – brand vardenafil online pharmacy cheap generic vardenafil professional

  6. Iamkhm [#]

    best canadian online pharmacy reviews – reputable canadian online pharmacy canadian pharmacies

  7. Oszcke [#]

    legit canadian pharmacy – canada drugs reviews canadian pharmacy no rx

  8. Mihfvq [#]

    purchase cialis without prescription – cialis sale usa cialis 20mg price australia

  9. Dsckko [#]

    cialis online europe – canadian pharmacy meds purchase cialis online no prescription

  10. Ranzoo [#]

    viagra online india pharmacy – canadian online pharmacy viagra buy viagra gel

  11. Lgdwpm [#]

    viagra nz – cheap prices for viagra viagra 50 mg coupon

  12. Ykqrla [#]

    vardenafil dosage – cheap vardenafil how to use vardenafil

  13. Dlcehz [#]

    best price for vardenafil online – vardenafil reviews men generic vardenafil review

  14. Qcnsro [#]

    vardenafil price – buying vardenafil online cheap vardenafil

  15. Hgrgya [#]

    buy brand name vardenafil online – can i buy vardenafil at walgreens vardenafil generic

  16. Hhuaiu [#]

    ivermectin dosage – ivermectin 400 mg brands cost for ivermectin 3mg

  17. Mdupdi [#]

    buy ivermectin cream – stromecov stromectol for humans

  18. Crayko [#]

    best online sildenafil – how to order viagra pills viagra Austin

  19. Uqfond [#]

    buy viagra pay with paypal – buy female viagra pills best viagra coupon

  20. Dbaagr [#]

    cost of cialis 5 mg in canada – medicine tadalafil tablets canadian pharmacy cialis daily use

  21. Whxlfn [#]

    cialis 100mg cost – canada online pharmacy no prescription buy cheap cialis from canada

  22. Aoxstd [#]

    prednisone buy without prescription – where can i get prednisone over the counter prednisone 5 mg tablets

  23. Xiulli [#]

    prednisone over the counter canada – prednisone 20mg online without prescription canada pharmacy deltasone

  24. Oupdln [#]

    generic vardenafil review – buy vardenafil in uk order vardenafil usa

  25. Qqsttg [#]

    buy vardenafil 20 mg – viagra vs cialis vardenafil cost vardenafil 10 pills

  26. Hmkjkl [#]

    lyrica 7.5 mg – buy lyrica 75 mg online lyrica 75 mg generic

  27. Vpxwcb [#]

    order lyrica online – lyricagn.com generic lyrica for sale

  28. Ktzckt [#]

    zithromax 250mg online – zithromax online buy generic azithromycin 500mg

  29. Mcddbd [#]

    buy zithromax 250mg online – buy azithromycin 100mg online azitromicina

  30. Mqolda [#]

    where can i buy prednisolone tablets – prednisolone 5 mg tablet rx prednisolone 5mg without prescription

  31. Wmaixx [#]

    prednisolone 6131463705 – prednisolone cost prednisolone sod

  32. Pkljtl [#]

    purchase ivermectin – ivermectin stromectol ivermectin 0.5 lotion

  33. Vrrabc [#]

    buy ivermectin canada – ivermectin buy ivermectin covid

  34. Gssnmu [#]

    20 mg viagra daily – viagra online rx pharmacy viagra 150 mg price in india

  35. Vjaotz [#]

    buy 1000 viagra – viagra tablet online india viagra 30 mg

  36. Tepnoi [#]

    lyrica tablet cost – lyrica online canada pharmacy course

  37. Ewcqno [#]

    azithromycin 500mg pills – zithromax 250mg online azithromycin 500 mg

  38. Kgrept [#]

    drug furosemide 40mg – lasix 40 mg tablet price furosemide cream

  39. Hqpjxc [#]

    where can i buy clomid – clomid coupon clomid cost

  40. Dofxaj [#]

    viagra online nz – sildenafil Los Angeles sildenafil 100mg order

  41. Ehsgva [#]

    viagra cream – 1 viagra canada rx viagra

  42. Cnhoml [#]

    tadalafil prescription canada – generic cialis 20mg online cialis cheapest price uk

  43. Jbwsep [#]

    80 mg tadalafil – cialis on sale cheap tadalafil tablets

  44. Kanqhr [#]

    ivermectin 3 – stromectol tab 3mg ivermectin medicine

  45. Vtwofz [#]

    ivermectin price – ivermectin buy australia ivermectin 3mg tabs

  46. Zgthti [#]

    real money casino app – online casino real money paypal casino online games for real money

  47. Erkdpa [#]

    wind creek casino online play – live casino slots online big fish casino online

  48. Hlytlu [#]

    over the counter ed pills that work – dr oz erectile dysfunction pills home remedies for ed erectile dysfunction

  49. Lzyqmo [#]

    ed pills for sale – erectile dysfunction treatment cheap erectile dysfunction

  50. Htzbjv [#]

    buy prednisone online no prescription – order prednisone prednisone 5mg coupon

CSSLab