1 FROM DEVELOPERS TO ENGINEERS ENGINEERING ROLE IMPLEMETED AT EXPEDIA August 26, 2015
2 7 years in EPAM 12+ IT Experience in various roles o Developer o Team Lead o Scrum Master o Project Manager o Resource Team Lead Motivation o Deliver with Quality o Optimize process o Collaborate with teams ABOUT ME
3 OUTLINE About Expedia 1 Agile and potential for improvements 3 Engineer role: problems and fears 4 Implementation 5 Results 6 About Engineer Role 2
4 ABOUT EXPEDIA
5
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 AND POTENTIAL FOR IMPROVEMENTS
11 LEAVING WATERFALL, GETTING AGILE
12 DevelopersTestersDevelopment Team
13 POTENTIAL FOR IMPROVEMENTS
14 RESPONSIBILITY VS. TEST PYRAMID Tester Developer
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 ROLE PROBLEMS 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?
31 THANK YOU QUESTIONS? Contact me: Skype: bekesgy