$30 off During Our Annual Pro Sale. View Details »

Arquitectura y agilismo

Arquitectura y agilismo

Uno de los valores fundamentales del Agilismo es la respuesta al cambio. El posponer decisiones hasta el último momento responsable. Sin embargo muy pocas veces escribimos software que sea capaz de soportar esas situaciones. Software que siga esos mismos principios.

La arquitectura y el diseño de los sistemas que diseñamos debería ser capaz de adaptarse al cambio. Debería ayudar a posponer decisiones, tanto técnicas como de negocio. Por desgracia, la mayoría de las veces, la flexibilidad de nuestro software es la flexibilidad de las herramientas que hemos utilizado para construirlo.

Esta charla corta relatará la experiencia de dos proyectos reales en las que la arquitectura jugó un papel protagonista en su resultado.

Javier Acero

October 26, 2013
Tweet

More Decks by Javier Acero

Other Decks in Programming

Transcript

  1. Agilismo
    y
    Arquitectura

    View Slide

  2. suerte

    View Slide

  3. equipo
    agile

    View Slide

  4. Minimum
    V
    P
    iable
    roduct

    View Slide

  5. 2 historias
    1 éxito
    1 fracaso
    1 tema común

    View Slide

  6. arquitectura

    View Slide

  7. jacegu
    jacegu
    javieracero.com
    tddeo.com
    traity.com

    View Slide

  8. proyecto A

    View Slide

  9. ! ! ! ! ! ! ! ! ! ! ! !
    ! ! ! ! ! ! ! ! ! ! ! !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    crowd - sourced
    journalism

    View Slide

  10. Inception
    ✓ visión compartida
    objetivos
    forma de trabajo
    alcance



    View Slide

  11. In order to...

    As an editor...

    I want to...
    In order to...

    As an administrator...

    In order to...

    As a photographer...

    I want to...
    In order to...

    In order to...

    In order to...

    Inception
    ✓ visión compartida
    objetivos
    forma de trabajo
    alcance



    View Slide

  12. In order to...

    As a photographer...

    I want to...
    In order to...

    As an editor...

    I want to...
    todo doing done
    (85) (0) (0)
    comienzo de iteración 1

    View Slide

  13. In order to...

    As a photographer...

    I want to...
    In order to...

    As an editor...

    I want to...
    todo doing done
    (79) (2) (4)
    comienzo de iteración 2
    In order to...

    As an administrator...

    In order to...

    In order to...

    As an editor...

    In order to...
    In order to...

    View Slide

  14. In order to...

    As a photographer...

    I want to...
    In order to...

    As an editor...

    I want to...
    todo doing done
    (75) (1) (9)
    comienzo de iteración 3
    In order to...

    As an photographer...

    In order to...

    In order to...

    As an editor...

    In order to...

    View Slide

  15. View Slide

  16. In order to...

    As a photographer...

    I want to...
    In order to...

    As an editor...

    I want to...
    todo doing done
    (40) (2) (40)
    comienzo de iteración N
    In order to...

    As an photographer...

    Fix bug...

    In order to...

    As an editor...

    In order to...
    Fix bug...

    View Slide

  17. In order to...

    As a photographer...

    I want to...
    In order to...

    As an editor...

    I want to...
    todo doing done
    (43) (3) (50)
    comienzo de iteración N+2
    Fix bug...

    In order to...

    As an editor...

    Fix bug...

    Fix bug...

    Fix bug...

    Fix bug...

    View Slide

  18. porqué

    View Slide

  19. arquitectura
    conectada

    View Slide

  20. testing

    View Slide

  21. UNIT
    INTEGRATION
    GUI

    View Slide

  22. UNIT
    INTEGRATION
    GUI

    View Slide

  23. los
    tests
    son
    m
    uy
    len
    tos

    View Slide

  24. dejas
    de
    ejecutar
    los
    tests

    View Slide

  25. para
    qué
    escribir
    m
    ás
    tests

    View Slide

  26. villa
    bugs

    View Slide

  27. View Slide

  28. proyecto B

    View Slide

  29. peer peer
    to
    lending
















    €€€€ €€€
    € €€€€ €€

    €€€€ €€€
    € €€€€ €€

    View Slide

  30. Inception
    ✓ visión compartida
    objetivos
    forma de trabajo
    alcance



    View Slide

  31. In order to...

    As a borrower...

    I want to...
    In order to...

    As an administrator...

    In order to...

    As a lender...

    I want to...
    In order to...

    In order to...

    In order to...

    Inception
    ✓ visión compartida
    objetivos
    forma de trabajo
    alcance



    View Slide

  32. iteraciones
    5 7
    a
    de

    View Slide

  33. planificación iteración 5 9:00am

    View Slide

  34. una cosa... ¿dónde se
    están guardando todos
    los datos que gestiona
    la aplicación?
    planificación iteración 5 9:05 am


    View Slide

  35. es que hemos hablado
    con nuestros abogados...
    planificación iteración 5 9:09 am


    View Slide

  36. y para cumplir con la
    ley XYAB32/45 toda la
    información tiene que
    estar almacenada en
    estas condiciones...
    planificación iteración 5 9:12 am


    View Slide

  37. las restricciones son
    bastante estrictas pero
    un socio de John tiene
    una empresa que te lo
    da todo hecho...
    planificación iteración 5 9:22 am


    View Slide

  38. ...vamos a tener que
    guardar todo usando
    ese el API de John
    planificación iteración 5 9:28 am


    View Slide

  39. View Slide

  40. 2 opciones

    View Slide

  41. VS
    contract
    negotiation
    respond
    to change

    View Slide

  42. arquitectura
    modular

    View Slide

  43. 1 día

    View Slide

  44. View Slide

  45. moraleja

    View Slide

  46. moraleja

    View Slide

  47. View Slide

  48. puede
    venirse
    N
    O abajo
    tu arquitectura

    View Slide

  49. View Slide

  50. debe
    quitarte
    N
    O opciones
    tu arquitectura

    View Slide

  51. View Slide

  52. es un
    juego
    N
    O de niños
    tu arquitectura

    View Slide

  53. gracias

    View Slide

  54. ?

    View Slide

  55. Jenga WAT: http://www.flickr.com/photos/pmcd9/1405034086
    Jenga Success: http://www.flickr.com/photos/thiskory/2116584737
    Jenga Fall: http://www.flickr.com/photos/raccoonapproved/1469829687
    Jenga Fort: http://www.flickr.com/photos/alanbalandra/7237950270
    Jenga Baby: http://www.flickr.com/photos/snowdeal/12207108
    credits
    Guggenheim: http://goo.gl/65wUvN
    Jenga Tower: http://www.flickr.com/photos/jonmcgovern/2561297315
    Delorean: http://goo.gl/xppyo
    Poo Face: http://goo.gl/Hc8z22
    Jenga Hand: http://www.flickr.com/photos/katherinekenny/3401602245
    credits
    credits

    View Slide