BEING AGILE requires focus on people to interact for building features than keep testing manually. Automation is valuable investment for sustaining the agility of the teams. Test Automation in fact acts as one of the key pathways for building and sustaining agile teams. This slide presents the case study of such successful adoption across few teams in an organization.
Test Automation - pathway for building and sustaining agile teams
1. www.unicomlearning.com
India Agile Week-2013
25th Oct 2013 - Bengaluru
Building and Sustaining Agile Teams
Through Test Automation
Mahesh V G
Technical Manager
Mahindra Comviva
www.agileinbusiness.com
2. “Building and Sustaining Agile Teams”
Pathway for BEING AGILE
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
3. Take Away - I
www.unicomlearning.com
Understand Context Of
Operation
• Is there need for being Agile ?
• How agile (non-agile) are we
today ?
• How do we measure progress ?
UNICOM Presents
India Agile Week-2013
4. Our World
Understanding Context of Operations
Consumers
UNICOM Presents
India Agile Week-2013
Business Needs
www.unicomlearning.com
Environment
5. Our Goals –
Engineering teams strived for…
On Time Delivery
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
Quality
6. Our Concerns –
Hangover lessons and sleepless nights…
Delayed Deliveries
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
Quality
8. Our Teams Agile Journey…
www.unicomlearning.com
What’s
Agile ?
Why be
Agile ?
How do we
be Agile ?
UNICOM Presents
India Agile Week-2013
9. Agile Manifesto – Value Driven
www.unicomlearning.com
Individuals and
interactions
over
Process and tools
Working software
over
Comprehensive
documentation
Customer collaboration
over
Contract negotiation
Responding to change
over
Following a plan
Source: www.agilemanifesto.org
UNICOM Presents
India Agile Week-2013
10. Take Away - II
www.unicomlearning.com
Iterate Agile adoption
incrementally
• Focus on key practices easy
to adopt
• Review the outcome of
adoption and adapt
UNICOM Presents
India Agile Week-2013
11. Adopting Agile Methods and Practices…
www.unicomlearning.com
Source: Version One 7th Annual Agile Survey
UNICOM Presents
India Agile Week-2013
12. Agile Methodologies – suitable for us
MANAGEMENT
www.unicomlearning.com
Scrum
Kanban
XP
TECHNICAL PRACTICES
UNICOM Presents
India Agile Week-2013
13. First Scrum Team and its Journey
www.unicomlearning.com
Planned Accomplished
Sprint #
Scenarios
Scenarios
First
Second
Third
Fourth
Total
UNICOM Presents
India Agile Week-2013
500
110
350
391
250
245
300
310
1400
1056
15. Being Agile – working with Legacy
Products
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
16. Change is Hard – Automation as Escape Velocity
www.unicomlearning.com
Source: Robin Sharma’s EAF program
UNICOM Presents
India Agile Week-2013
17. Take Away - III
www.unicomlearning.com
Measure Quality early– setup CI with
metrics system
• How healthy is the code?
• How matured is the agile practice ?
• Adopt tools that help measure quality
• CI – jenkins
• Code Quality – Sonar/Findbugs/PMD
UNICOM Presents
India Agile Week-2013
18. What to be measured ?
www.unicomlearning.com
Automated tests
Code Coverage
Code Smells
Size of Product/Project
Code Quality
Complexity
Coupling
Cohesiveness
UNICOM Presents
India Agile Week-2013
19. Automation - a step towards technical excellence
www.unicomlearning.com
UNICOM Presents
India Agile Week-2013
23. Measuring Agility.. How did we progress ?
www.unicomlearning.com
Source: ThoughtWorks Agility Assessment results of our team
UNICOM Presents
India Agile Week-2013
24. Take Away - IV
www.unicomlearning.com
Automate tests
• Automate user acceptance
tests (UAT)
• Identify and adapt test tools
• Build re-usable frameworks
UNICOM Presents
India Agile Week-2013
25. Where to Begin ?
www.unicomlearning.com
UNICOM Presents
India Agile Week-2013
26. Software Testing – Quality to stake holders
www.unicomlearning.com
For Engineers
To Customers
GUI Tests
GUI and System Tests
(Validation Group)
(High Access and
Visibility)
Functional Tests
(Product Units)
Functional
Tests (Medium
Visibility)
Unit Tests (Product
Units)
Unit Tests
(Low
Visibility)
26
UNICOM Presents
India Agile Week-2013
27. Partner for Tools and Tailor
www.unicomlearning.com
• Getting out of DIY syndrome
• Go for lightweight tools and Adapt
• Cover Risks
• Win-Win Partner relationship
UNICOM Presents
India Agile Week-2013
28. Tools Evaluation
www.unicomlearning.com
Feature
Developed into
Selenium
Sahi OS (Open
Source)
Java
Record and Play
Java
Only on
Firefox
Playback
Sahi Pro
TestingAnywh
ere
Watir
Java
Ruby
All browsers All browsers Only on IE
No
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Brower support
OS/Platform
support
All
All
All
IE
IE
All
All
All
Windows
All
All
Multiple
All
Javascript,
Java, Ruby
Windows
Language
All
Javascript,
Java, Ruby
VB
XML
Java,.Net,C++ Ruby
Easy
Easy
Easy
Easy
Easy
Easy
Easy
Easy
Easy
Exception handling Yes
Easy
Easy
Easy
Yes. Has
Yes. Has
recovery
recovery
feature & Call feature & Call
back function. back function. Yes
Yes
Yes
Yes
Parallel Testing
Yes
No
Yes
Yes
Yes
UNICOM Presents
India Agile Week-2013
Yes
.Net
Jameleon
Java
Usability
Easy
Automation/Maint
enance difficulty
level
Easy
Java
QTP
No
29. Partnerships – make vs buy
www.unicomlearning.com
UNICOM Presents
India Agile Week-2013
30. Web Test Automation - using sahi
www.unicomlearning.com
UNICOM Presents
India Agile Week-2013
33. Success Stories.. Published
www.unicomlearning.com
Unit
Solution
Test Scenarios
Manual
Execution
Automation
Execution
Savings
Unit-1
P1
1500
40.5 Person
Days
15 Hours
95%
Unit-2
P2
230
7 Person
Days
1 Hour 15
Minutes
97%
Unit-3
P3
142
4 Person
Days
40 Minutes
96%
Unit-4
P4
119
3 Person
Days
7 Minutes
99%
Unit-5
P5
25
1 Person Day
2 Minutes
99%
UNICOM Presents
India Agile Week-2013
36. Take Away - V
www.unicomlearning.com
Care for clean code
• Practice TDD (Red Green Clean
culture)
• Unit test for reusable modules
• Encourage constant refactoring
during change requests/bug fixes
UNICOM Presents
India Agile Week-2013
37. Adoption of TDD and Unit Testing - WIP
www.unicomlearning.com
Frameworks Used
Junit Framework for Java
check framework for C
CppUnit/XppUnit for applications
done in C++/PHP etc
Practice
Measuring code coverage
Test Driven Development for new
code written.
Refactoring of legacy code –
“Extract method” most widely
used
UNICOM Presents
India Agile Week-2013
38. Our Journey.. Cheetah way (Agile Hunter)
www.unicomlearning.com
Agility and rapid
acceleration vs. Speed.
Course Corrections and
adapting to context
during journey
UNICOM Presents
India Agile Week-2013
Source: New York Times
39. Recap - Key Take Away
www.unicomlearning.com
1. Understand Context
Of Operation
• Is there need for
being Agile ?
• How agile (non-agile)
are we today ?
• How do we measure
progress ?
2. Iterate Agile
adoption incrementally
• Focus on key
practices easy to
adopt
• Review the outcome
of adoption and
adapt
UNICOM Presents
India Agile Week-2013
3. Measure Quality
early– setup CI with
metrics system
• How healthy is the
code?
• How matured is the
agile practice ?
• Adopt tools that help
measure quality
4. Automate tests
5. Care for clean code
• Automate user
acceptance tests
(UAT)
• Identify and adapt
test tools
• Build re-usable
frameworks
• Practice TDD (Red
Green Clean culture)
• Unit test for reusable
modules
• Encourage constant
refactoring during
change requests/bug
fixes