1 from developers to engineers engineering role implemeted at expedia august 26, 2015
TRANSCRIPT
1
FROM DEVELOPERSTO ENGINEERS
ENGINEERING ROLE IMPLEMETED AT EXPEDIA
August 26, 2015
2
• 7 years in EPAM
• 12+ IT Experience in various roles
o Developero Team Leado Scrum Mastero Project Managero Resource Team Lead
• Motivation
o Deliver with Qualityo Optimize processo Collaborate with teams
ABOUT ME
3
OUTLINE
About Expedia1
Agile and potential for improvements3
Engineer role: problems and fears 4
Implementation5
Results6
About Engineer Role2
4
ABOUT EXPEDIA
5
ABOUT EXPEDIA
6
• Kanban
• One monolithic application with 500+ Software Engineer working on
• One branch, gated features
• Striving for continuous delivery
ABOUT EXPEDIA CHECKOUT PROJECT
• World-wide collaboration, Checkout Teams in:
• London: 2 teams• Bellevue (Seattle): 2 teams• Hungary: 4 teams• India: 1 team
7
ABOUT ENGINEER ROLE…
8
ENGINEER IS BEING A…
DEVELOPER, who is careful about
• Designing the application
• Creating and maintaining the source code
• Unit and Integration testing
Take the responsibility about your work
TESTER, who is careful about
• Requirements
• The product and not just a single feature
• Proper balance between manual and automated tests
9
• Keep the quality
• Keep weekly release
• Easier project planning
• Have more development capacity
• More tester capacity
EXPECTATIONS
10
AGILE ANDPOTENTIAL FOR IMPROVEMENTS
11
LEAVING WATERFALL, GETTING AGILE
12
LEAVING FUNCTIONAL, BEING CROSS-FUNCTIONAL
Developers Testers Development Team
13
POTENTIAL FOR IMPROVEMENTS
14
RESPONSIBILITY VS. TEST PYRAMID
Tester
Developer
http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone/
15
TESTING VS. CONTINUOUS DELIVERY
16
• Customer dissatisfied with story completed
• Live site issue
ISSUES VS. FINGERPOINTING
Developer: Did you test the feature properly?QA: Yes, I did. But you did not tell me this can brake another feature…Developer: It is your job to properly test the page….
17
DEVELOPER VS. QA CAPACITY
18
• Checkout teams:
– 2012: 3 teams– 2015: 9 teams
QA VS. BUDGET
• Number of teams are continuously growing but budget for quality assurance is not scaled properly
• More developer capacity needed
19
ENGINEER ROLEPROBLEMS AND FEARS
20
• „Parental feelings” towards their code
• Focus on the „Positive Paths”
• Simplifying complex scenarios
• Lack of end-to-end & real-user perspective / Customer focus / Catching small things in big pictures
• Less experience with common bugs & application pitfalls
FEARS OF QAs
21
• „I cannot properly test my code”
• „I do not want to be Manual Tester, I want to write code”
• „I have no tester mind-set”
• „Test automation code is not production code, does not bring value.”
DEVELOPER FEARS
22
IMPLEMENTATION
23
• Trust
• Long-term collaboration
• Accepting failures, encourage lessons learnt
• Frequent releases
• Pair-programming
• Supporting continuous (self-) development
ENVIRONMENT
24
• Stepwise introduction
• Trainings about test techniques
• Setup guidelines (common edge cases, etc.)
• Mind-set change (be proud, see the big picture, etc.)
• Training programs for newcomers:
– Don’t differentiate developers and testers
– Teach them manual and automation testing
EDUCATION
25
PROCESS
26
• Daily stand-ups
• Story analysis and brain-storming about difficulties / open questions / edge cases
• Brain-storming about test scenarios
• Bug bash
• Root Cause Analysis
COMMUNICATION / ACTING AS TEAM
27
RESULTS
28
• 6+ months
• Responsibility accepted
– Engineers got wider view– Learnt new technologies
• Project in time
– 3 milestone delivered, product in live without major issue
• Collaboration with other teams improved
– Engineers checking the requirements across line of businesses, raising JIRA if bug found
…ARE THE EXPECTATIONS MET?
29
• Rollout this process to every team
• Further improve automation on every level supporting continuous delivery
• Train the engineers continuously improving their „tester” mind-set
• Process improvement based on regular retrospectives and possible external audits
NEXT STEPS
30
• There are products, which cannot be „tested” by the end-user (Bank, Healthcare – high risk projects)
• Fixed price projects
• Immature projects
• Test Engineers have key role in preparing the team for the change
• Test Engineers needed as consultant after the change occasionally
ARE TEST ENGINEERS STILL NEEDED?