Confidential 10/7/2013 1 AGILE TOUR YEREVAN 05, October, 2013 Continuous delivery of quality product in big organizations with distributed teams Anahit Asatryan Senior QA Automation Engineer
Oct 21, 2014
Confidential 10/7/2013 1
AGILE TOUR YEREVAN05, October, 2013
Continuous delivery of quality product in big organizations with distributed teams
Anahit AsatryanSenior QA Automation Engineer
AtTask as a company
• Established on - Head office – 2001, Yerevan office - 2008
• Company size – 450+ employees
• Number of dev. teams – 14 teams
• Locations over the world – US, UK, Japan, China and Armenia
Dev teams located in US and ArmeniaUK, Japan and China – only Sales
AtTask as a product
Enterprise Work Management platformthat helps to:
1. Identify work2. Prioritize3. Plan4. Coordinate5. Execute6. Deliver7. Measure8. Collaborate
Agile in AtTask
Agile principles that are deeply applied in AtTask are:
• Customer satisfaction• Adopting to changing requirements & circumstances• Frequent software delivery• Progress is a working software• Sustainable development• Daily cooperation with business people• Motivated individuals• Technical excellence
Adoptions from Scrum
From Scrum we have taken: Roles Sprint Meetings
Daily Scrum Backlog Refinement (grooming) Sprint Planning
End of cycle Sprint Retrospective
Artifacts Product backlog, Sprint backlog, Increment, Burn down
Adoptions from Extreme Programming and Kanban
From Extreme Programming it has taken:
Frequent releases Extensive unit testing Programming of features only when actually needed
From Kanban it has taken:
Limiting work-in-progress (WIP) Workflow visualization Workflow monitoring, measurement and reporting
Scaled Agile Framework (SAFe)
http://scaledagileframework.com/
AtTask work flow overviewStrategy
RequirementsRequirements prioritization
Release content definition Epics/USs prep. by PM
Backlog groomingUS is ready
US developmentUS is ready for sign off
US signed offPull request by team
US is ready for release
1. Define2. Prioritize3. Split
Release content definition
1
11
1
3
2
2
22
3
3
3
3
User Story preparation and Sign off
Spec. by PM
Design by UX designer
Tech. Approach by Tech. Approach owner
Test Map by Manual QA
???!!
?!
!? !?
Story development
Implementation in sep. US branch
Test map review/ layering and automation
Tests run on Jenkins CI tool
User story is ready for sign off !
Story development - branching
Separate branch per US
Team A
Team B
Team CMaster
Branch
US signed off!
Branch
Branch
Test map review/ layering and automation
Helps to: Shorten time for test run min Selenium tests Reduce server load Functionality coverage visibility Fulfill gaps in future & include in regression suite
Branch
Test scenario 1
Test scenario 2
Test scenario 3
Test scenario 4
Test scenario 5
Test scenario 6
Test scenario 7
Test scenario 8
Test scenario 9
Unit
Integration
Selenium
API
Not for smokeIntegration
APIUnitIntegration
Bespin
Continuous deployment and test run
Bespin CI organization
Smart suite logic
Slices
• General Access
• Early Access
• PitBoss
Feature Accessibility
PitBoss logicPitBoss – check integrated into US Rollback without deployment Deployment & Release separation
PitBoss – check integrated into US Rollback without deployment Deployment & Release separation
Early Access logicEarly Access – mechanism for enabling
features on production before GA
Early Access
From continuous integration to continuous delivery
continuous integration
continuous delivery
Achievements
Continuous control over product quality test maps – review/ layering/ automation continuous test runs- for each US/issuing fixing branch
during story implementation and pull request
Readiness to deliver at any point in time – green Master
Ability to release as soon as feature is ready -delivering USs independently
Flexible and easy code quality control - branching / pitBoss