Life Has Not Been That Rosy With Agile : Rahul Sudame

36

Transcript of Life Has Not Been That Rosy With Agile : Rahul Sudame

Life has not been that rosy with Agile!

-Rahul Sudame-SPC, CSP, PMI-ACP

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

Few things worked as well

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

Agility Assessment

Best Agile Implementation Award

Agile on-boarding Plan

Inspect & Adapt

Retros

Innovation Games

Thank You !- Rahul Sudame

[email protected]