agile maturity and the - softtest.iesofttest.ie/wp-content/uploads/2016/10/softtest.pdfagile...
TRANSCRIPT
13th October 2016
Agile Maturity and the Quality custody-battleSoftTest 2016 - “Adapting & Innovating for Change”
13th October 2016
2
How do we know we can Go Live?
• HPE TSS R&D Overview• Our Agile SAFE journey so far….• How our QA transformation happened• Introduction of System team• Highs and Lows• Any questions?
3
Technology Services Support R&D – what are we?
HPE Automation provides 24x7 coverage, proactive problem prevention, accurate problem diagnosis and faster problem resolution, as well as interactive support portals and tools
Services and Support for all HPE and Multivendor purchases
Simplified and standardized portfolio of support services across all technologies, offered uniformly in all geographies
TSS R&D is chartered with automation of the delivery of Technology Services
4
Information Harvesting
Retrieves, encrypts and
submits relevant service
information such as events
& configuration from
Customer Data Centers
Information Processing
Receipt, processing,
cleaning, normalizing &
modeling of incoming
Customer Enterprise
information
Information Storage
Single authoritative source
for all normalized SA data
including Events, Contracts,
Configuration, Product,
Shipping, Partner, etc.Reporting & AnalyticsInformation Analysis
Content Presentation
Portals and/or Notifications
presenting content, plus
overall system
Administration & User
management
Continuous and Time critical
analysis such as Events,
flooding, correlation, etc.
Create Customer
report deliverables Data Mining,
Program &
Quality
reports
Support Automation Solution Overview
The Vision!
6
HPE TSS R&D Agile Transformation Timeline
Before Agile
• 400 R&D personnel
• 16 time zones
• Complex technology
• Silo’dsubsystems
• Immature Lifecycle development
• Lengthy time to market QA cycle
0-6 months
• Agile teams stood up
• Component team focussed
• Inconsistent application of requirements definition and tracking
• QA improvements but still lengthy Validation cycle
7-12 months
• Consolidation of teams by location
• Data driven approach –tools and metrics
• Introduction of ARTs and formation of 20 scrum teams
• Focus on architectural backlog as well as feature delivery
• In-sprint QA and cleaner Validation cycle
Year 2
• Teams structured by feature
• Maturation in use of tools –including focus on Inspect & Adapt
• Adoption of program and portfolio layer in SAFE
Present
• 645 R&D personnel
• 4 value streams with 7 ARTs (release trains)
• 11 ARTs in total – 44 scrum teams
• Combination of Agile / Kanban in use
• Continuous Delivery model in place
7
QA drilldown
9
Before Agile
• Separate QA teams and activity executed after Development
• Late emergence of critical, high impact issues
• Paper / ceremony heavy change request process
• QA cycle duration –anything between 6 months and 1 year
0-6 months
• QA resources assigned to scrum teams
• New functionality – automated testing
• Existing functionality –manual tests
• Teams commence training on various technologies
• Legacy Solution – QA Validation Cycle 14 weeks
7-12 months
• In sprint resources working through new automation and automating existing manual tests being used
• Team established to automate the balance of legacy manual scripts (circa 3000)
• Legacy Solution – QA Validation Cycle 6 weeks
Year 2
• TecOps team established
• System team model trialled on one ART
• Performance Testing Framework (Elastic Search; Logstash; Kibana)
• Security Testing Framework
• Test Data Tool
• Test Automation Frameworks –Selenium, Fitnesse
• Environment Mgt
• Legacy Solution –integration / hardening cycle of 6 weeks between code freeze and go live (3 week sprints)
Present
• System team per ART
• QA fully integrated with scrum teams and trains
• Continuous Delivery framework in place
• New architecture: ‘Master’ always releasable
• Fully automated test suite
• Legacy solution – integration / hardening cycle of 2 weeks between code freeze and go-live (2 week sprints)
Continuous Testing
ContinuousDeployment
ContinuousTest Data
Continuous Build & Integration
GH Flow
AutoB&I
UnitTest
AccpTest
AutoDeploy
UATPerfTest
GHE TestData
Webhooks
GitHubWebInspect
Agile Manager
ALM
Infrastructure as a ServiceContainer as a Service
TSS R&D Pillars of Continuous-X
Change Drivers
11
Resources
Tools
CultureQuality Strategy
Communications
12
“Soft Skills”Communication skills
TeamworkProject Management
principlesLeadership
Conflict ManagementAlternative career
paths – SM, PO, etc.
ToolsBasic or Advanced Java development
Fitness SeleniumJenkinsAnsibleGithub
Application specific technology
HP Agile ManagerLeankit
Delivery FrameworkSAFE overview
ScrumSuggested readings –blogs / books e.g. Agile Testing, The Phoenix
Project
Converting from Manual Testing to new world of Automated QA
Evolution of Team Structure
13
Development
QA
U.S. Galway India
App1 App2
App3 App4
Agile Release Train
Validation QA
Agile Release Train
Dev QA
Dev QA
Dev QA
Dev QA
Scrum 1 Scrum 2
Scrum 3System Team
Functional
Performance
More on the System Team
The System Team is a special Agile Release Train team
typically chartered to provide assistance in building and using the Agile development environment infrastructure—including continuous integration, build environments, testing platforms and test automation frameworks—as well as integrating code from Agile Teams, performing end-to-end system testing, and demonstrating solutions in the System Demo at the end of each iteration.
Supports the teams and other stakeholders by providing quick feedback with respect to the efficacy and integrity of the evolving, end-to-end solution. The system team may also have a special role in assisting with each Release.
However, these efforts should be shared between the system team and Agile teams; otherwise, the system team will become a bottleneck, and the Agile teams cannot be fully capable, or accountable, for real value delivery.
14
System Team Responsibilities
15
Building Development Infrastructure
System Integration
End-to-End and System Performance
Testing
System Demo
•Create and maintain infrastructure
•Create platforms and environments
•Automate deployment
•Facilitate collaboration with 3rd
parties for hosting, etc.
•Define branching models
•Run System level integration scripts
•Assist with inter-component
interfaces
•Create automated test scenarios
•Take individual tests and collate
them into an ordered suite
•Maintenance of tests
•NFR testing
•Assure demo environment adequate
•Assist teams with ability to
demonstrate solution
What Went Well!
Transitioning Resources – Knowledge Sharing and Training
Actual vs Plan results – embedding QA in the planning process improved the accuracy of estimates
Adoption of automated testing
Employee Satisfaction
Challenging Areas
ScrumFall
Losing the Labels – QA vs. Development
System Team establishment
Pace of Change
Trying to map TecOps activities into an Agile Release Train with SAFE framework
16
Final Message – Take The Plunge!
17
18
Thank You!