Life Has Not Been That Rosy With Agile : Rahul Sudame
-
Upload
discuss-agile -
Category
Engineering
-
view
159 -
download
0
Transcript of Life Has Not Been That Rosy With Agile : Rahul Sudame
We are going Agile!
I heard it is something amazing
- VP Agile must be the silver spoon!
Agile is Faster! Better!!
Cheaper!!!We need to have
Agile in our service offering!
Everyone else is talking about
Agile
Agile won’t work for us
We cannot ship Storage array hardware in
phases
We cannot skip compliance in our Banking
environment
How can we plan a Sprint
for production support?
Agile in compliance
driven environment
We have been anyways doing
incremental delivery
Project 1
Product Dev
VersionOne
PO in USSeleni
um based framework
Multiple
Parallel Releas
es
Multiple
Product lines
One Product line on Agile and others on conventional model
Cross-team dependency resulted in delays
Home-grown framework vs. external automation product
Detached ops team and production timelines
Implementation as per PMs interpretation
Flood of Agile Tools!
Who handles P1 tickets?“Scrum Work”
(items from the Product Backlog
that the team has committed
to do)
“P1 Bugs”(emergency
requeststhat need to beresponded toimmediately)
“Product Backlog Work”
“P1 Bugs”
Commits in this Sprint
Commits to fit P1 bugs.
Scrum Team D.R.
Sprint Tester & System Tester model
Dedicated team for building automation framework as well as tests across applications
Scrum-of-Scrum worked in multi-location environments
Travel budget worked well
Release timeframe changed from 1.5 years to 3 months
Customer feedback after 1st release candidate revealed customer grievances on UX – big win due to Agile!
• 3 + 1 sprints
RC1• 3 + 1 • sprints
RC2• 3 + 1• sprints
RC3
Release Candidate Model
Project 2
Product Dev
Multiple
Product
Lines
Multiple POsMultip
le Technologie
s
Village for collavoratio
n
UrbanDeploy
/ TeamCity tools
Synchronization across multi-location feature & system teams
Conflicting priorities amongst 3 product lines and technical debt
Common backlog or Separate?
Product 1 Product 2 Product 3 UX Features Tech Features / Defects
Sprint 0
Sprint 0 activities & status: WBS & Effort estimation [Module 1]: Done WBS & Effort estimation [Module 2]: Done WBS & Effort estimation [Module 3]: <Partial> WBS & Effort estimation [QA]: Done WBS & Effort estimation [BO/BS]: <Partial> Requirements/UI Clarification – In Progress Design/Architecture – In Progress Environment Setup – In Progress
◦ JRuby setup: Done
◦ QA environment setup: Done
◦ Web server Instance setup: Done
◦ Migrate from Ruby version 1.8.6 to 1.9: In Progress
Risks: Availability of resources full time for the project duration Requirement of additional manual QA resource
You don’t need a software tester on your agile team!
If we have BDD, ATDD, TDD, UI Automation, Test Automation, Unit Testing, why do we need manual testing?
Facebook has no testers!
Lets replace manual testing with automation!
Repeating regression every sprint is not possible and an overhead!
Do we need Testers?
Module Auto Deploy
Auto Sanity tests
Auto Staging Deployment
Auto Production Deploy
Module 1 ü
Module 2
Module 3
- to be done -
started ü - done
- not required
CI Targets
Project 3
Startup
New product idea
Dynamic
featuresBudg
et constraints
Open
source
Lean(!)
processes
Product Backlog? What is that?
I cannot afford a BA/Product owner
Change Request? Come on guys, we are Agile!
Time-to-market pressure
Continuous change in plans
Fix budget & timeline contract due to bootstrapping
Test case Management
Defect Management
Automation Performance Testing
DevOps
OpenSource
Commercial
We cannot afford licenses
Dev team gives build on last day of Sprint! QA is behind Dev!
Agile welcomes change in requirements, WHY
Should I focus on manual or automation?
When would I get time for regression?
Life is stressful in Agile
Continuous change in scope widely impacted the timelines
‘Agile’ was a great excuse for changes
Agile was great for startup, considering dynamic business environment, but over-Agility created chaos
Absence of Product Backlog & agreement on scope resulted in delays & losses
No budget for Agile tools, Additional environment and licenses
Final result – FAILURE!
Failure!
Project 4
Services
Storage
Client
Need for
system integra
tion
Kanban
Embedded + Plugin
s + APIs
Hardware certification
Client’s unawareness about Agile
Defined hardware certification cycle mandatory
Incremental cycles for APIs, UI and feature development
Frequent integration and demo cycles
Technical environment mapped with Agile
Who would do my appraisal?
Whom should I listen?
What if there are conflicting directions from these people?
Should I follow QA processes or Project Processes or Scrum?
Whom should I report to?
Shorter delivery cycles significantly helped for frequent integration
Early visibility to customers through UAT environment
Frequent customer feedback helped the client to make course correction quickly
T&M engagement with 20% efforts reserved for automation, resulted in better quality
Frequent demos helped in building client confidence and open new business opportunities
Helped the organization to convert short-term contract to long-term partnership
It ‘can’ work for hardware projects
Project 5
Services
Multi-vendo
r environment
Faster time to
respond
TFS
Automation with Coded
UI
End-Client certification cycle
Dev & QA with separate vendors
Challenge due to multi-location, multi-time zone environment
Team split based on technology instead of feature teams
Dictating manager Velocity needs to double
every sprint!
Continuous pressure for frequent deliveries
Manual Testing knowledge
Coding knowledge (C# / .net)
Chef / Puppet knowledge
Linux admin knowledge
Database knowledge
Superman JD
Manual regression testing efforts: 5 days
Automated regression testing efforts: 4 hours
90% effort reduction
Continuous Integration tool runs automated tests everyday!
Automated quality assurance per Sprint
Why should I pay for Manual Testing?
I don’t have programming background!
Are you converting QA to developers?
Which Tool should I learn?
I am a developer, I won’t do QA!
I don’t know C#
Should I learn:◦ Automation Testing?◦ Performance Testing?◦ Load/Stress Testing?◦ Usability Testing?◦ API Testing?◦ Which Tool?
Selenium RC / IDE / Webdriver
LoadRunner / WinRunner
SoapUI / TestNG / Soasta
Chef / Puppet
There is no end to it
Manual Tester is not alone!
What is role of QA Manager?
What is role of Project/Functional/ People Manager?
What happens to hierarchical organization?
What happens to reporting / appraisals?
Agile and -◦ Project Management?◦ Risk Management?◦ Design?◦ Documentation?◦ CMMI?◦ Fix Price, Fix duration
projects?◦ Compliance?◦ Control Limits?◦ Maintenance / Tech
Support Projects?◦ Servant Leadership?
Laundry list is big
QualityManagement
CostManagement
CommunicationManagement
TimeManagement
Human ResourceManagement
ProcurementManagement
RiskManagement
IntegrationManagement
ScopeManagement
Team 1
System
Team
Team 5
Team 4
Team 3
Team 2
Cross Team Interactions
27
Produc
t Owner
Project Managers
Architects
Program Managers
PMO
Quality Master – QM
Scrum Master – SM
Test Master – TSM
Tech Master - TM