Working in an effective team at BABBQ 2015 & Droidcon Italy 2015

103e1ebcacd620770cf32a36b9aba17e?s=47 AppFoundry
November 17, 2015

Working in an effective team at BABBQ 2015 & Droidcon Italy 2015

How we work in an effective team at AppFoundry.

Slides from the 'Working in an effective team' session at The Big Android BBQ Europe in Amsterdam (12 November 2015) & Droidcon Italy (April 2015)

103e1ebcacd620770cf32a36b9aba17e?s=128

AppFoundry

November 17, 2015
Tweet

Transcript

  1. Working in an effective team

  2. Your host Filip Maelbrancke Consultant @ AppFoundry filip.maelbrancke@appfoundry.be @fmaelbrancke

  3. About us Consulting Staffing In-house projects

  4. AppFoundry

  5. About us

  6. None
  7. ?

  8. Goals

  9. Communication

  10. Communication Humans = social Lots of interaction

  11. Communication Team discussions

  12. Communication Free to express (both ideas and feelings)

  13. Library 1 Library 2 Feature ✔ ✖ Capability ✔ ✔

    Characteristic ✔ ✔ Option ✔ ✔ Choice ✖ ✔ … ✖ ✔ … ✔ ✔ … ✔ ✔
  14. Communication

  15. Trust & Respect Makes the team autonomous

  16. Hire as a team

  17. Technical debt

  18. This is how I'll explain "no time for big refactoring,

    let's do business value" to the business.
  19. Atmosphere

  20. None
  21. None
  22. How we work 1 2 3 4 5 REQUIREMENTS PLAN

    SHOWCASE STATUS REPORTS EVALUATE BACKLOG 2 WEEK SPRINTS SPRINT DEMO DAILY STANDUP RETROSPECTIVE
  23. Minimum viable product

  24. –H. Alan Stevens Building the right thing is always more

    important than building it right.
  25. Scrum 1 2 3 4 5 REQUIREMENTS PLAN SHOWCASE STATUS

    REPORTS EVALUATE BACKLOG 2 WEEK SPRINTS SPRINT DEMO DAILY STANDUP RETROSPECTIVE
  26. None
  27. Team demo Retrospective

  28. Prototyping

  29. Whiteboard

  30. Paper prototyping

  31. None
  32. None
  33. None
  34. None
  35. None
  36. User feedback

  37. A/B testing

  38. None
  39. None
  40. Code review Detect problems early. Learn from someone else’s code.

  41. None
  42. None
  43. None
  44. Pair programming

  45. Testing strategy

  46. Confidence Refactor possible Code handover Fix bugs once

  47. Test Driven Development RED FAILING TEST GREEN FIXED TEST BLUE

    REFACTOR
  48. Automatic On every commit / scheduled Unit tests UI integration

    tests with Espresso
  49. None
  50. Remote

  51. None
  52. None
  53. Creating software = complex Continuous integration Ensure quality Automate high-quality,

    robust and reliable apps tedious / error-prone activities
  54. Reduce risk Continuous integration Reduce overhead Quality Assurance

  55. Automate all the things

  56. Continuous integration 1 2 3 4 CODE & COMMIT BUILD

    & CHECK CI PICKUP REPORT RESULTS
  57. Build pipeline Checkout / compile Unit tests Test coverage Code

    analysis Create deployable artifact Deploy for automatic QA test Trigger automated QA stage
  58. Auto publish Delivery Promote APK to production Automate Google Play

    alpha / beta without additional tools
  59. Continuous Delivery

  60. Continuous delivery / deliverable Continuous Delivery Deliverable Push on demand

    Confidence of being deployable
  61. Feature-based deployment A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

  62. None
  63. None
  64. Internal QA Testing Internal alpha testing program Beta testing /

    staged rollout of being deployable
  65. Metrics

  66. Dashboard

  67. Dashing

  68. Panic…

  69. None
  70. Questions? Filip Maelbrancke Consultant @ AppFoundry filip.maelbrancke@appfoundry.be @fmaelbrancke

  71. Thank you!