Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Working in an effective team Filip Maelbrancke AppFoundry
Slide 2
Slide 2 text
Your host Filip Maelbrancke Consultant @ AppFoundry fi
[email protected]
@fmaelbrancke
Slide 3
Slide 3 text
About us Consulting Staffing In-house projects #dfist
Slide 4
Slide 4 text
AppFoundry appfoundry.be #dfist
Slide 5
Slide 5 text
About us #dfist
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
?
Slide 8
Slide 8 text
Goals
Slide 9
Slide 9 text
Communication
Slide 10
Slide 10 text
Communication Humans = social Lots of interaction
Slide 11
Slide 11 text
Communication Team discussions
Slide 12
Slide 12 text
Communication Free to express (both ideas and feelings)
Slide 13
Slide 13 text
Library 1 Library 2 Feature ✔ ✖ Capability ✔ ✔ Characteristic ✔ ✔ Option ✔ ✔ Choice ✖ ✔ … ✖ ✔ … ✔ ✔ … ✔ ✔
Slide 14
Slide 14 text
Communication
Slide 15
Slide 15 text
Trust & Respect Makes the team autonomous
Slide 16
Slide 16 text
Hire as a team
Slide 17
Slide 17 text
Technical debt
Slide 18
Slide 18 text
This is how I'll explain "no time for big refactoring, let's do business value" to the business.
Slide 19
Slide 19 text
Atmosphere
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
Brown bag lunches
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
The Quest
Slide 24
Slide 24 text
Take baby steps
Slide 25
Slide 25 text
How we work 1 2 3 4 5 REQUIREMENTS PLAN SHOWCASE STATUS REPORTS EVALUATE BACKLOG 2 WEEK SPRINTS SPRINT DEMO DAILY STANDUP RETROSPECTIVE
Slide 26
Slide 26 text
Minimum viable product
Slide 27
Slide 27 text
–H. Alan Stevens Building the right thing is always more important than building it right.
Slide 28
Slide 28 text
Scrum 1 2 3 4 5 REQUIREMENTS PLAN SHOWCASE STATUS REPORTS EVALUATE BACKLOG 2 WEEK SPRINTS SPRINT DEMO DAILY STANDUP RETROSPECTIVE
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
Team demo Retrospective
Slide 31
Slide 31 text
Prototyping
Slide 32
Slide 32 text
Whiteboard
Slide 33
Slide 33 text
Paper prototyping
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
No content
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
No content
Slide 39
Slide 39 text
User feedback
Slide 40
Slide 40 text
A/B testing
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
Code review Detect problems early. Learn from someone else’s code.
Slide 44
Slide 44 text
No content
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
Pair programming
Slide 48
Slide 48 text
Testing strategy
Slide 49
Slide 49 text
Confidence Refactor possible Code handover Fix bugs once
Slide 50
Slide 50 text
Test Driven Development RED FAILING TEST GREEN FIXED TEST BLUE REFACTOR
Slide 51
Slide 51 text
Automatic On every commit / scheduled Unit tests UI integration tests with Espresso
Slide 52
Slide 52 text
Test devices
Slide 53
Slide 53 text
Remote
Slide 54
Slide 54 text
No content
Slide 55
Slide 55 text
No content
Slide 56
Slide 56 text
Creating software = complex Continuous integration Ensure quality Automate high-quality, robust and reliable apps tedious / error-prone activities
Slide 57
Slide 57 text
Reduce risk Continuous integration Reduce overhead Quality Assurance
Slide 58
Slide 58 text
Automate all the things
Slide 59
Slide 59 text
No content
Slide 60
Slide 60 text
Continuous integration 1 2 3 4 CODE & COMMIT BUILD & CHECK CI PICKUP REPORT RESULTS
Slide 61
Slide 61 text
Build pipeline Checkout / compile Unit tests Test coverage Code analysis Create deployable artifact Deploy for automatic QA test Trigger automated QA stage
Slide 62
Slide 62 text
Auto publish Delivery Promote APK to production Automate Google Play alpha / beta without additional tools
Slide 63
Slide 63 text
Continuous Delivery
Slide 64
Slide 64 text
Continuous delivery / deliverable Continuous Delivery Deliverable Push on demand Confidence of being deployable
Slide 65
Slide 65 text
Feature-based deployment A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/
Slide 66
Slide 66 text
No content
Slide 67
Slide 67 text
No content
Slide 68
Slide 68 text
Internal QA Testing Internal alpha testing program Beta testing / staged rollout of being deployable
Slide 69
Slide 69 text
Metrics
Slide 70
Slide 70 text
Dashboard
Slide 71
Slide 71 text
Dashing
Slide 72
Slide 72 text
Panic…
Slide 73
Slide 73 text
Questions? Filip Maelbrancke Consultant @ AppFoundry fi
[email protected]
@fmaelbrancke
Slide 74
Slide 74 text
Thank you!