1. The journey from agile towards DevOps
April 2, 2015
Kwo Ding, Hardy Seinhorst - Rabobank
Carlo Cadet – Perfecto Mobile
Faster and more stable delivery against
reduced costs
2. Speakers
Hardy Seinhorst Kwo Ding
• Over 20 years of management and
technical experience in IT.
• Experience in application development,
running and optimizing data centers, IT
strategy and information management.
• Rabobank’s program manager for
implementing new digital engagement.
• 8+ years of software testing experience.
• Experience with onsite and offshore team
management for both waterfall and agile
methods.
• Specialized in chain integration (end-to-end)
testing, continuous integration & delivery and
test automation.
Test ManagerDigital Program Manager
3. Introducing the digital portfolio
Current online presence
- Website for desktop and for mobile
- Native app for iOS, Android and Windows Phone
Development
- 1 new hybrid environment that will replace all native apps and the
website for desktop created by 10 scrum teams
- Total of 18 scrum teams, 200 FTE
- Core of a team: Development, PO, QA, Operations
- Extended team: BA, Appl Eng, project mngt
Platform #users # login / month
Desktop 3,6M 18,6M
App iOS 1,2M 30M
App Android 1,2M 30M
App Windows Phone 0,02M 0,3M
4. The waterfall methodology of software development;
success rate as well as fit for use are low
What the Business wants from IT:
The fit for use is also low2:
Project size FTE
Time
(months)
Success
rate
<750K€ 6 6 55%
750K€ to 1.5M 12 9 33%
1.5M to 3M 25 12 25%
3M to 6M 40 18 15%
6M to 10M +250 +24 8%
Over 10M +500 +36 0%
13%
often
always
7%
rarely
19%
never 45%
sometimes
And side effects occur:In reality success rate is low1:
Long cycle times
Silo mentality
Big bang delivery
Fragile process
Over-documentation
Stick to the plan seems
to make sense, but…
Shorter time to market
More relevant software
Lower cost to change
Higher quality
Alignment Business and IT
2) Source: CHAOS report 2004: Standish group
1) Source: The Standish Group International Inc. 2002
5. POLL:
What methodology are you using?
1. Waterfall Development
2. Agile Development
3. Continuous Integration
4. Continuous Delivery
5. DevOps
5
6. The journey ahead – Shrinking feedback cycles
6
We are about here in our journey
8. Wave 1 Wave 2 Wave 3
Collaboration T-Shaping Collective Ownership/Delivery
Time Boxed “Just In Time” Continuous Delivery
Monitoring/Tools Inception Automation Testing Continuous Deployment
Coaching and Grooming
Team Empowerment
Initiate T-Shaping culture
Integrated Team - Dev & Ops
Improved Happiness Score
Pick up any task outside the
comfort zone
Integrated Team - DevOps
Peak Happiness Score
Shared capabilities, Pick up any task
Integrated Team - DevOps
Time Boxed
Visual Board in place
Daily Prioritization based on
shared backlog
Cycle and Lead time
Non Time Boxed/Continuous
Real time usage of visual board
“Just In Time” delivery
Improved Cycle and Lead time
Non Time Boxed/Continuous
Real time usage of visual board
Lean implementation
Proactive maintenance
Integrated tooling
Application monitoring
Start with automated testing
Metrics Integration – holistic view
Full use of tooling (automated in flow
of tickets)
Continuous Integration
Move to fully automated tests
Business Value measurement
Full use of tooling (complete use of reports
as well)
Continuous Deployment
Fully automated deployment
Business Value measurement
Dev Ops
PeopleProcessTechnology
Measuring progress
9. Why test automation?
• Tests take less time to run
• Increase # test runs
• Improve accuracy and efficiency
• Increase test coverage
• Necessary for Continous Integration
& Delivery (Agile, DevOps)
Test Automation
Environment
Testing
Deployment
11. Test Suite: Automated vs Manual
Automated
tests
Tests not
possible to run
manually
Manual tests
automated
Tests not worth
automating
Manual tests
Manual vs Automated
Source: Dorothy Graham
12. Automation Strategy
12
Technology facing
Business facing
Criticalprojects
Supportprogramming
Functional tests
(system (integration) & chain, 200
portability testing – 10% x 10 devices)
Exploratory testing
User acceptance testing
Accessibility
Visuals (partially)
Unit testing
Unit integration testing
Non-functional testing
(performance, security, production
acceptance testing)
Regression testing is cross-category
Automated
Automated
Manual
Manual/automated
13. Test
Continuously
Continuous Quality
(as-is)
Build
Unit Test
Check-out &
Build application
Security/Perf.
code analysis
Quality code
analysis
Check-in
Check-in code &
review
Deploy
to TST
Deploy to
TST
Smoke test
on TST
Regression
Test
System Test
Deploy
to ACC
Deploy to
ACC
Smoke test
on ACC
Acceptance
Chain Test
Performance
Test
PAT
UAT
Portability
Test
Pre-PAT
Security
Production
Schedule P-
deployment
Deploy to
PROD
PROD
verification
Automated
step
Manual step
Code review
Exploratory
test
3 week
sprint
*
*
Once per Sprint
14. Test
Continuously
Continuous Quality
(to-be)
Build
Unit Test
Check-out &
Build application
Security/Perf.
code analysis
Quality code
analysis
Check-in
Check-in code &
review
Deploy
to TST
Deploy to
TST
Smoke test
on TST
Regression
Test
System Test
Deploy
to ACC
Deploy to
ACC
Smoke test
on ACC
Acceptance
Chain Test
Performance
Test
PAT
UAT
Portability
Test
Pre-PAT
Security
Production
Schedule P-
deployment
Deploy to
PROD
PROD
verification
Automated
step
Manual step
Code review
Exploratory
test
3 week
sprint
Deploy stories when done, not per sprint schedule
15. Recommendations
15
1. Just start, solve issues during the journey
2. Focused change
3. Work closely together with complete team, Behavior
Driven Development (BDD) is a great approach to
improve collaboration.
4. Perform discrete test levels
Editor's Notes
Carlo to facilitate and ask Hardy and Kwo to introduce themselves
Describe the RaboBank digital portfolio ….
Carlo: Hardy, we are seeing more and more companies combine technical leadership of web and mobile assets, how long ago did this happen? What is the motivation?
Hardy: Cost, consistent UX, functionality
Carlo: I see you have all three app style plus desktop web … Are you planning to continue this approach
Hardy, No, we are shifting away from native apps while also embracing responsive web. We think …
Carlo: Hardy, when you first joined Rabo how did you assess the maturity of the software delivery process
Hardy: Two years ago, Rabo was agile in name only. Projects experienced numerous challenges (give 2 or 3 brief examples). The biz & IT were not well aligned. Etc.
[AT SOME POINT BEFORE LEAVING THIS SLIDE CARLO WILL ASK ABOUT YOUR DEFINITION OF CD & DevOps]
Hardy:
On joining the organization, it was clear that two or three software releases per year would be inadequate given the overall market rate of change. At that time we were agile in name only.
Making a sustainable shift away from waterfall to agile would require significant change. First and foremost its really how we think about delivering new capabilities to market, the tools we use, the way we organize teams and ultimately make the decision to release new functionality.
We know the direction we want to go in. Internally, we discuss a goal of creating the capability to have multiple releases per day. Getting there requires a significant transformation that I mentioned a moment ago.
This familiar graphic illustrates several dimensions we are addressing
IT Alignment. I’ll talk more about this but fundamentally achieving our goal means automating the process and quality practices.
Collaboration. TALK ABOUT CURRENT COLLABORATION LEVELS AND REMAINING CHALLENGES / CHANGES AHEAD. Speak to the changes required in the PO role.
Decision-Making. Achieving our goal also means changes to our decision process. Our release decision-making process was designed to support a waterfall mindset. GIVE A FEW EXAMPLES. We are stream lining how we make release decisions.
Value. The value we are striving for is not accelerating velocity. Our goal is AGILITY
Carlo: What do you mean by agility?
Hardy:
Carlo: Can you be more specific, can you share an example of a project, that illustrates the scope of change?
Hardy: The scheduled payments project might be a good example – partial vs complete functionality.
Carlo: Hardy, how are measuring progress towards achieving your goal?
Hardy: Explain this chart, including defining T-Shaped, the mind set shift for teams moving from project towards product lifecycle focus
Kwo: Introduce how this transformation is impacting quality practices and expectations
Tests take less time to run: significantly less human effort to run tests
Increase # test runs (ensure software quality, fast feedback) without increasing the costs
Same accuracy of tests independently of number of test runs
Increase test coverage: cover more devices and cover more of the application in the same amount of time
Carlo: Hardy, our audience is very interested in understanding how these changes are impacting your technology choices. Describe your current tool stack and more importantly how you think it will continue to evolve. Could you also comment regarding the heavy use of open source
Hardy / Kwo: Collaborate on what has changed already, why and what changes you expect to come. Key points to address is the move towards tools that integrate, automating environment provisioning, potential move to cloud hosted tools … Link these move back to the adoption of CI, CD and DevOps.
Finish by restating the need for automation – environments, testing and deployment
Carlo: Kwo, describe the scope of your current testing program,
Carlo: Kwo, How do you determine what to automate? How did you decide what devices to test?
Can you share your definition of quality
Kwo – Confidence in your application, working properly enough, ISO Std – quality attrinbutes
Carlo: Kwo, What are the current cycle times? What are the current velocity blockers? Describe where the test program is going.
Kwo – Reduce repeated manual testing & increase automation level, optimize portability testing, analyisis of non-functional testing
Carlo – What are KPIs are using to measure improvement
]Kwo - Automation level
Test execution frequency (feedback loop)
Two days
2 – functional tester
2 – Non-functional
Carlo: Kwo, can you describe where the test program is going?
Carlo: Hardy, is this what you meant ealier regarding agility