SlideShare a Scribd company logo
1 of 34
Optimizing (Agile) Testing in
  Complex Environment

    Dr. Ronen Bar-Nahor




                                1
The challenges in complex environment
  •   Legacy system
  •   Spaghetti code
  •   dependencies
  •   Technical debt (quality, architecture, etc)
  •   Minimal automation in system level (gui driven)
  •   Low level of unit testing
  •   “Integration hell”
  •   QA play defense
      –   Hunting defects
      –   Gates, sign-offs
      –   Documentation driven
      –   Keep automation for itself
                                                        22
Some of the most common challenges for QA in Agile

  • The manifesto
     – Working SW over documentation
     – Changes over following a plan
     – Interactions over process and tools
  • Shared team ownership on quality
  • How to be “part of the team” but still
     – maintaining testing as a center of expertise
                                                      Agile Team
     – Keep loyalty to the business
  • Lose of the “big picture”
                                                               QA
  • Testing on non-stable SW                     Business     group




                                                               3
What is one of the problems in waterfall testing ?




http://www.slideshare.net/nashjain/role-of-qa-and-testing-in-agile-presentation   4
in waterfall reality –                                  integration hell




                    So, Agile is all about early feedback

http://www.slideshare.net/nashjain/role-of-qa-and-testing-in-agile-presentation   5
How early we test ?


                                                                                                            PSP
Waterfall (Level 0)

                                                R       e           l   e   a      s         e

                                                                                                            PSP

Scrum Level 1
                      Sprint 1             Sprint 2                     Sprint 3                 Sprint 4

                                 PSP                          PSP                      PSP                  PSP

Scrum Level 2
                      Sprint 1             Sprint 2                     Sprint 3                 Sprint 4
                                 PSP                          PSP                      PSP                  PSP

Scrum Level 3
                      Sprint 1             Sprint 2                     Sprint 3                 Sprint 4
          R&D
          QA                 © Copyright of AgileSparks LTD                                            6
But, isn’t it more expensive to take many small chunks?
  It might be less locally efficient... But it’s cheaper
     overall!
  • the hidden cost of “holding” for too long is
     higher (1:10)
     –   Dev. context switch
     –   Defect reproduction
     –   Shaking the system
     –   management


  • Testing early exposes
    project risks and Increase business flexibility

                                                       7
So what is the real challenge ?


        effort




                          time

                                  8
So we want to get to this…


                            Burndown / Burnup
 120



 100



  80



  60                                                   DONE (BURNUP)
                                                       ACTUAL REMAINING EFFORT
                                                       PLANNED REMAINING EFFORT
  40



  20



   0
       1   2   3   4   5          6   7   8   9   10
                           Time




                                                                           9
And to avoid … the brown cloud



      Iteration     Iteration     Iteration     Iteration


      Product       Product       Product        Product



                       Stuff we defer:             From “Done”
                       Defects
                       refactoring
                                                   to “Done
                       Non Functional Testing
                       user documentation
                                                   Done”
                       UAT...
                                                  Shippable
                                                  Product
                                                      ?
                                                              10
So how we can avoid -




                                       effort
And achieve                                        time

                PSP              PSP              PSP              PSP




     Sprint 1         Sprint 2         Sprint 3         Sprint 4
                                                                          11
                                                                         11
Start with the user stories

 BIG Features




                              12
That take very long to get to testing…




                       Longer iterations?
                                         13
To smaller chunks that can quickly flow to test




                                                  14
And to make the story testable

  • INVEST
  • Break stories effectively
     – “Mona Lisa” (working system)
     – “Elephant Carpaccio” (working
       feature)
  • Ready-Ready stories !!!
  • Do not forget the “big
    picture”/integration test
    early as possible (Epic level)

                                       15
Make architecture testable

 • QA involved in this phase !
 • Every feature goes thru some high
   level design/architecture
 • Ensure architecture allows and support:
    – Automation
    – Good reporting for problem analysis
    – Isolation, componentization and low
      dependencies
    – Mocking framework
 • Discuss Strategy for Testing the
   architecture and the system



                                             16
Challenge the automation strategy

               Manual
                        GUI –
                        5-10%


                ATDD - Acceptance
                   Test Driven
                Development– 20%


                Unit and component
                (integration) – 70%



                                      17
Practical Incremental Approach for automation

                     New Test                          Refactored                  Refactored
                     Coverage         New Features     Code         New Features   Code         New Features

                                                       New Test                    Refactored
                                                       Coverage     New Features   Code         New Features

                                                                                    New Test
                       Sanity and                                                   Coverage    New Features
                       risky
        1                  2
                       areas                               3                            4
   Legacy Systems   Legacy Systems                    Legacy Systems               Legacy Systems

                                Malfunctioning Code
                                Low quality code covered by automated tests
                                High quality code covered by automated tests




      Apply automation as new features added (minimize debt)
      Automate Sanity and risky areas by independent team
      Manual regression testing only after risk analysis.



                                                                                                        18
Integrate system Continuously – staged approach
                                                                  Early
                                                                  Drops
Developer              Product Build            Cross                     User
                                                Products                  Acceptance
                                                                          Test
   • Code + Build +     • Build and Package        • End to end              • Pickup &
     Unit Testing       • Unit Testing               flows                     Deploy
     until stable       • Deploy and Test                                    • Test
   • Get latest and       • Integration /
     Merge                  Acceptance /
   • Local Build +          System
     test + code
     analysis …         • Code Quality Checks
   • Check-in           • Profiling
                        • Log Analysis




                      Failure Report




                                                                                    19
Meanwhile -> make it manually


   mini-         I    I   h     I   I   h   I    H

   hardening




     Continuously
      Independent
   Integration Team


                                                 20
                                                20
ATDD - Tests represent expectations and drive out
ambiguity
  • turn your user stories into acceptance tests
    (ready ready story)




  • Preferably those tests will eventually become
    automatic within the sprint   no need for
    feature freeze
                                                     21
                                                    21
ATDD also make progress visible

 • Are we there yet?                     No need
                                           for
                                       traceability
  Track progress                        matrix !!!
  based on the
  testing
  progress
                         Implemented
                         Story




                                                 22
                                                22
what practices we use During Iteration ?

  • whole team approach
     – Practice Collective Test Ownership
     – Common goals
     – One team, partnership !




                                             23
                                            23
Dev-QA collaboration

 • Planning together
    – Identify Steel Thread –
      key slice through the
      story (Happy Path usually)
    – Continue to other slices
 • Sharing test plans
   (unit/functional)
 • Automation ...
 • Visualize defects
   status


                                   24
Stop and fix - Stop starting start finishing
 • When do we need to stop and fix defects ?
    –   Does it block somebody or break the system (CI) ?
    –   Can it goes to production ?
    –   Did we pass a Threshold/One page?
    –   Violate release criteria ?


 • Done is Done
    – Associate defect to the story
    – 70/100-100/80


 • All remaining test are in the backlog !
    – System flows on epic level                             25


 • Measure cycle time !!!                                   25
The key   to control the Dev-QA gap in release level



          Coding Feature
          Done   Freeze DONE
           RD C             T




                                 Hardening
         R D C           T
        RD C         T
      RD C       T
    RD C       T
  R D C  T
                                             Time


                                                    26
Kanban – managing the end to end flow
•Visualize the workflow       •Explicit policies
•Limit WIP                    •Measure & optimize flow
       WIP Limit!
       Can’t start
        new DEV
         work!

                      Dev        A lot
                                          Empty     Empty
                      Done        of
                                          Test    downstream
                     almost      WIP in
                                          Done     (Bubble)
                      Full       Test




• Classic “solution” - Add more testers
                                                       27
What LIMITED WIP Does
                           Fix open
                           defects
                            on our
                           Stories
     WIP Limit!
     Can’t start
                                              Help us
      new DEV
                                                with
       work!
                                              Blocker



                                       Help us
                                      automate
                    How can I         tests for
                   help current       this story
                     stories?




                                                        28
How do we Visualize the work status in more depth?
   120




   100

                    Total Scope
   80
                                  Average Cycle Time
             TODO
   60
                                      Work in
                                      Process       Burnup
   40                                  (WIP)

   20


                                                           Done
    0
         1     2      3    4      5       6     7      8      9        10



                                                                  29
Elaborating the WIP
  120




  100


                                          Heavy load on QA
  80        TODO
                            Dev
  60




  40                                      Test

  20Heavy load on Dev
                                                             Done
   0
        1     2         3   4     5   6         7        8     9     10


                                                                    30
120

If we use a WIP Limit...
 100




 80




                TODO
 60



                             Dev
 40
                                   Test
           Work Cycle Time
            Average                           Done
 20
              in
           Proce
  0
             ss
           (WIP)
       1    2     3     4    5      6     7   8      9        10

                                                         31
The next level – Tracking also the upstream




                                               32
                                              32
Good luck !!!

        ronen@agilesparks.com
            052-5522749



                                 33
                                33
summary


 So how we can avoid -




                                        effort
And achieve                                         time

                 PSP              PSP              PSP              PSP




      Sprint 1         Sprint 2         Sprint 3         Sprint 4
                                                                           34
                                                                          34

More Related Content

What's hot

Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionProduct Marketing Services
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consultTomas Riha
 
Why Test Driven Development?
Why Test Driven Development?Why Test Driven Development?
Why Test Driven Development?Naresh Jain
 
Test driven development
Test driven developmentTest driven development
Test driven developmentShalabh Saxena
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deploymentDaniel
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approachMichael Kopp
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing PyramidNaresh Jain
 
Karate API Testing-Complete Guidance by Testrig
Karate API Testing-Complete Guidance by TestrigKarate API Testing-Complete Guidance by Testrig
Karate API Testing-Complete Guidance by TestrigPritiFGaikwad
 
Continuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedContinuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedAsh Maurya
 
Scrum process powerpoint presentation templates
Scrum process powerpoint presentation templatesScrum process powerpoint presentation templates
Scrum process powerpoint presentation templatesSlideTeam.net
 
SaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSoftServe
 
Pivotal Labs Open View Presentation Continuous Build
Pivotal Labs Open View Presentation Continuous BuildPivotal Labs Open View Presentation Continuous Build
Pivotal Labs Open View Presentation Continuous Buildguestc8adce
 

What's hot (19)

Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consult
 
Why Test Driven Development?
Why Test Driven Development?Why Test Driven Development?
Why Test Driven Development?
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
 
Creating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda LankalapalliCreating value using Agile Methods- Nanda Lankalapalli
Creating value using Agile Methods- Nanda Lankalapalli
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Karate API Testing-Complete Guidance by Testrig
Karate API Testing-Complete Guidance by TestrigKarate API Testing-Complete Guidance by Testrig
Karate API Testing-Complete Guidance by Testrig
 
Continuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons LearnedContinuous Deployment: Startup Lessons Learned
Continuous Deployment: Startup Lessons Learned
 
Scrum process powerpoint presentation templates
Scrum process powerpoint presentation templatesScrum process powerpoint presentation templates
Scrum process powerpoint presentation templates
 
SaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOpsSaaS Operations Practice Overview SoftServe DevOps
SaaS Operations Practice Overview SoftServe DevOps
 
Pivotal Labs Open View Presentation Continuous Build
Pivotal Labs Open View Presentation Continuous BuildPivotal Labs Open View Presentation Continuous Build
Pivotal Labs Open View Presentation Continuous Build
 
Vaidyanathan Ramalingam Agile Testing Leadership Lessons Softec 2 July2011
Vaidyanathan Ramalingam Agile Testing Leadership Lessons Softec 2 July2011Vaidyanathan Ramalingam Agile Testing Leadership Lessons Softec 2 July2011
Vaidyanathan Ramalingam Agile Testing Leadership Lessons Softec 2 July2011
 
Vaidyanathan Ramalingam Agile Conference Speech
Vaidyanathan Ramalingam Agile Conference SpeechVaidyanathan Ramalingam Agile Conference Speech
Vaidyanathan Ramalingam Agile Conference Speech
 
Vaidyanathan Ramalingam Rca In Testing Conference Speech
Vaidyanathan Ramalingam Rca In Testing Conference SpeechVaidyanathan Ramalingam Rca In Testing Conference Speech
Vaidyanathan Ramalingam Rca In Testing Conference Speech
 
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference SpeechVaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
Vaidyanathan Ramalingam Waterfall Vs Agile Testing Conference Speech
 
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference SpeechVaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
Vaidyanathan Ramalingam Trade Off Economics In Testing Conference Speech
 

Similar to Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments

Agile Fundamental Skill Set
Agile Fundamental Skill SetAgile Fundamental Skill Set
Agile Fundamental Skill SetTsuyoshi Ushio
 
Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009guest19a937
 
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...manssandstrom
 
Faster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairFaster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairCompuware ASEAN
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012Prathan Dansakulcharoenkit
 
Value driven continuous delivery
Value driven continuous deliveryValue driven continuous delivery
Value driven continuous deliveryGabriel Prat
 
QA is dead long live the new QA - Agile Dev and QA Conference Israel
QA is dead long live the new QA - Agile Dev and QA Conference IsraelQA is dead long live the new QA - Agile Dev and QA Conference Israel
QA is dead long live the new QA - Agile Dev and QA Conference IsraelYuval Yeret
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsEliane Collins
 
Scrum Introduction
Scrum IntroductionScrum Introduction
Scrum IntroductionJames Brett
 
Agile Innovation - Product Management in Turbulent times
Agile Innovation - Product Management in Turbulent timesAgile Innovation - Product Management in Turbulent times
Agile Innovation - Product Management in Turbulent timesVasco Duarte
 
A Year of Scrum
A Year of ScrumA Year of Scrum
A Year of Scrumtwh
 
Agile testing for agile sparks kanban clients
Agile testing for agile sparks kanban clientsAgile testing for agile sparks kanban clients
Agile testing for agile sparks kanban clientsYuval Yeret
 
Agile Anti-Patterns. Yes your agile projects can and will fail too.
Agile Anti-Patterns. Yes your agile projects can and will fail too.Agile Anti-Patterns. Yes your agile projects can and will fail too.
Agile Anti-Patterns. Yes your agile projects can and will fail too.Sander Hoogendoorn
 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primerAgora Group
 

Similar to Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments (20)

Agile Fundamental Skill Set
Agile Fundamental Skill SetAgile Fundamental Skill Set
Agile Fundamental Skill Set
 
Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009
 
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
 
Faster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairFaster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repair
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 
Presentation agile with Blueprint Requirements Center
Presentation   agile with Blueprint Requirements CenterPresentation   agile with Blueprint Requirements Center
Presentation agile with Blueprint Requirements Center
 
How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012
 
Value driven continuous delivery
Value driven continuous deliveryValue driven continuous delivery
Value driven continuous delivery
 
QA is dead long live the new QA - Agile Dev and QA Conference Israel
QA is dead long live the new QA - Agile Dev and QA Conference IsraelQA is dead long live the new QA - Agile Dev and QA Conference Israel
QA is dead long live the new QA - Agile Dev and QA Conference Israel
 
Agiletools
AgiletoolsAgiletools
Agiletools
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
 
Intro to Agile
Intro to AgileIntro to Agile
Intro to Agile
 
Scrum Introduction
Scrum IntroductionScrum Introduction
Scrum Introduction
 
Agile Innovation - Product Management in Turbulent times
Agile Innovation - Product Management in Turbulent timesAgile Innovation - Product Management in Turbulent times
Agile Innovation - Product Management in Turbulent times
 
A Year of Scrum
A Year of ScrumA Year of Scrum
A Year of Scrum
 
Scrum and Lean - Om Band
Scrum and Lean - Om BandScrum and Lean - Om Band
Scrum and Lean - Om Band
 
Agile testing for agile sparks kanban clients
Agile testing for agile sparks kanban clientsAgile testing for agile sparks kanban clients
Agile testing for agile sparks kanban clients
 
Agile Anti-Patterns. Yes your agile projects can and will fail too.
Agile Anti-Patterns. Yes your agile projects can and will fail too.Agile Anti-Patterns. Yes your agile projects can and will fail too.
Agile Anti-Patterns. Yes your agile projects can and will fail too.
 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primer
 

More from AgileSparks

What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner AgileSparks
 
Distributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithDistributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithAgileSparks
 
A Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiA Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiAgileSparks
 
Jira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamJira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamAgileSparks
 
Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman AgileSparks
 
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...AgileSparks
 
Honest Experimentation by Jonathan Bertfield
 Honest Experimentation by Jonathan Bertfield Honest Experimentation by Jonathan Bertfield
Honest Experimentation by Jonathan BertfieldAgileSparks
 
Pango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloPango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloAgileSparks
 
ClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekAgileSparks
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi AgileSparks
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisAgileSparks
 
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...AgileSparks
 
Real Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshReal Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshAgileSparks
 
True Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegTrue Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegAgileSparks
 
Homo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelHomo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelAgileSparks
 
Intel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraIntel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraAgileSparks
 
Leading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldLeading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldAgileSparks
 
Organization architecture autonomy and accountability
Organization architecture autonomy and accountability Organization architecture autonomy and accountability
Organization architecture autonomy and accountability AgileSparks
 
Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017AgileSparks
 
The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017AgileSparks
 

More from AgileSparks (20)

What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner
 
Distributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithDistributed Teams by Kevin Goldsmith
Distributed Teams by Kevin Goldsmith
 
A Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiA Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi Gostynski
 
Jira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamJira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-Noam
 
Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman
 
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
 
Honest Experimentation by Jonathan Bertfield
 Honest Experimentation by Jonathan Bertfield Honest Experimentation by Jonathan Bertfield
Honest Experimentation by Jonathan Bertfield
 
Pango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloPango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv Kalo
 
ClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny Duek
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
 
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
 
Real Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshReal Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat Enosh
 
True Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegTrue Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper Boeg
 
Homo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelHomo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior Frenkel
 
Intel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraIntel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen Ezra
 
Leading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldLeading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan Bertfield
 
Organization architecture autonomy and accountability
Organization architecture autonomy and accountability Organization architecture autonomy and accountability
Organization architecture autonomy and accountability
 
Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017
 
The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Dr. Ronen Bar-Nahor - Optimizing Agile Testing in Complex Environments

  • 1. Optimizing (Agile) Testing in Complex Environment Dr. Ronen Bar-Nahor 1
  • 2. The challenges in complex environment • Legacy system • Spaghetti code • dependencies • Technical debt (quality, architecture, etc) • Minimal automation in system level (gui driven) • Low level of unit testing • “Integration hell” • QA play defense – Hunting defects – Gates, sign-offs – Documentation driven – Keep automation for itself 22
  • 3. Some of the most common challenges for QA in Agile • The manifesto – Working SW over documentation – Changes over following a plan – Interactions over process and tools • Shared team ownership on quality • How to be “part of the team” but still – maintaining testing as a center of expertise Agile Team – Keep loyalty to the business • Lose of the “big picture” QA • Testing on non-stable SW Business group 3
  • 4. What is one of the problems in waterfall testing ? http://www.slideshare.net/nashjain/role-of-qa-and-testing-in-agile-presentation 4
  • 5. in waterfall reality – integration hell So, Agile is all about early feedback http://www.slideshare.net/nashjain/role-of-qa-and-testing-in-agile-presentation 5
  • 6. How early we test ? PSP Waterfall (Level 0) R e l e a s e PSP Scrum Level 1 Sprint 1 Sprint 2 Sprint 3 Sprint 4 PSP PSP PSP PSP Scrum Level 2 Sprint 1 Sprint 2 Sprint 3 Sprint 4 PSP PSP PSP PSP Scrum Level 3 Sprint 1 Sprint 2 Sprint 3 Sprint 4 R&D QA © Copyright of AgileSparks LTD 6
  • 7. But, isn’t it more expensive to take many small chunks? It might be less locally efficient... But it’s cheaper overall! • the hidden cost of “holding” for too long is higher (1:10) – Dev. context switch – Defect reproduction – Shaking the system – management • Testing early exposes project risks and Increase business flexibility 7
  • 8. So what is the real challenge ? effort time 8
  • 9. So we want to get to this… Burndown / Burnup 120 100 80 60 DONE (BURNUP) ACTUAL REMAINING EFFORT PLANNED REMAINING EFFORT 40 20 0 1 2 3 4 5 6 7 8 9 10 Time 9
  • 10. And to avoid … the brown cloud Iteration Iteration Iteration Iteration Product Product Product Product Stuff we defer: From “Done” Defects refactoring to “Done Non Functional Testing user documentation Done” UAT... Shippable Product ? 10
  • 11. So how we can avoid - effort And achieve time PSP PSP PSP PSP Sprint 1 Sprint 2 Sprint 3 Sprint 4 11 11
  • 12. Start with the user stories BIG Features 12
  • 13. That take very long to get to testing… Longer iterations? 13
  • 14. To smaller chunks that can quickly flow to test 14
  • 15. And to make the story testable • INVEST • Break stories effectively – “Mona Lisa” (working system) – “Elephant Carpaccio” (working feature) • Ready-Ready stories !!! • Do not forget the “big picture”/integration test early as possible (Epic level) 15
  • 16. Make architecture testable • QA involved in this phase ! • Every feature goes thru some high level design/architecture • Ensure architecture allows and support: – Automation – Good reporting for problem analysis – Isolation, componentization and low dependencies – Mocking framework • Discuss Strategy for Testing the architecture and the system 16
  • 17. Challenge the automation strategy Manual GUI – 5-10% ATDD - Acceptance Test Driven Development– 20% Unit and component (integration) – 70% 17
  • 18. Practical Incremental Approach for automation New Test Refactored Refactored Coverage New Features Code New Features Code New Features New Test Refactored Coverage New Features Code New Features New Test Sanity and Coverage New Features risky 1 2 areas 3 4 Legacy Systems Legacy Systems Legacy Systems Legacy Systems Malfunctioning Code Low quality code covered by automated tests High quality code covered by automated tests Apply automation as new features added (minimize debt) Automate Sanity and risky areas by independent team Manual regression testing only after risk analysis. 18
  • 19. Integrate system Continuously – staged approach Early Drops Developer Product Build Cross User Products Acceptance Test • Code + Build + • Build and Package • End to end • Pickup & Unit Testing • Unit Testing flows Deploy until stable • Deploy and Test • Test • Get latest and • Integration / Merge Acceptance / • Local Build + System test + code analysis … • Code Quality Checks • Check-in • Profiling • Log Analysis Failure Report 19
  • 20. Meanwhile -> make it manually mini- I I h I I h I H hardening Continuously Independent Integration Team 20 20
  • 21. ATDD - Tests represent expectations and drive out ambiguity • turn your user stories into acceptance tests (ready ready story) • Preferably those tests will eventually become automatic within the sprint no need for feature freeze 21 21
  • 22. ATDD also make progress visible • Are we there yet? No need for traceability Track progress matrix !!! based on the testing progress Implemented Story 22 22
  • 23. what practices we use During Iteration ? • whole team approach – Practice Collective Test Ownership – Common goals – One team, partnership ! 23 23
  • 24. Dev-QA collaboration • Planning together – Identify Steel Thread – key slice through the story (Happy Path usually) – Continue to other slices • Sharing test plans (unit/functional) • Automation ... • Visualize defects status 24
  • 25. Stop and fix - Stop starting start finishing • When do we need to stop and fix defects ? – Does it block somebody or break the system (CI) ? – Can it goes to production ? – Did we pass a Threshold/One page? – Violate release criteria ? • Done is Done – Associate defect to the story – 70/100-100/80 • All remaining test are in the backlog ! – System flows on epic level 25 • Measure cycle time !!! 25
  • 26. The key to control the Dev-QA gap in release level Coding Feature Done Freeze DONE RD C T Hardening R D C T RD C T RD C T RD C T R D C T Time 26
  • 27. Kanban – managing the end to end flow •Visualize the workflow •Explicit policies •Limit WIP •Measure & optimize flow WIP Limit! Can’t start new DEV work! Dev A lot Empty Empty Done of Test downstream almost WIP in Done (Bubble) Full Test • Classic “solution” - Add more testers 27
  • 28. What LIMITED WIP Does Fix open defects on our Stories WIP Limit! Can’t start Help us new DEV with work! Blocker Help us automate How can I tests for help current this story stories? 28
  • 29. How do we Visualize the work status in more depth? 120 100 Total Scope 80 Average Cycle Time TODO 60 Work in Process Burnup 40 (WIP) 20 Done 0 1 2 3 4 5 6 7 8 9 10 29
  • 30. Elaborating the WIP 120 100 Heavy load on QA 80 TODO Dev 60 40 Test 20Heavy load on Dev Done 0 1 2 3 4 5 6 7 8 9 10 30
  • 31. 120 If we use a WIP Limit... 100 80 TODO 60 Dev 40 Test Work Cycle Time Average Done 20 in Proce 0 ss (WIP) 1 2 3 4 5 6 7 8 9 10 31
  • 32. The next level – Tracking also the upstream 32 32
  • 33. Good luck !!! ronen@agilesparks.com 052-5522749 33 33
  • 34. summary So how we can avoid - effort And achieve time PSP PSP PSP PSP Sprint 1 Sprint 2 Sprint 3 Sprint 4 34 34