SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Xavier Warzee
        Email: xavier@warzee.fr
            Blog: http://warzee.fr
Site: http://www.agilescale.com
Insurance applications
Talk based on one year engagement
 In an insurance company
 A subsidiary of one of the largest french bank


6 insurance applications
 Used by several networks of regional insurance
   agencies
 Running in a datacenter (Mainframes, Unix servers)
Legacy systems
Applications
  Implemented in Java/J2EE running on Unix
   servers
  No dependency injection, no cool frameworks
   (Spring, Hibernate, …)
  Various size and maturity


Business rules and services
 Implemented in Cobol running on IBM
  mainframes
 IBM MQ to communicate with applications
Tools & practices
Building and deployment of J2EE
 applications
  with IBM RAD6 (based on Eclipse 3.0.1)


Software Configuration Management
 with IBM Rational Clearcase LT 2003 for
  Java/J2EE
 Nothing for Cobol developments


No tests (unit & acceptance tests)
Objectives
Main objectives
 To develop the code really expected for
  each release
 To prepare adoption of agile methods :-)


Short terms objectives based on the
 “follow the pain” principle
  Shrink time to release new versions of J2EE
   applications
  Ease deployment of applications
  Provide adapted testing solutions to the legacy
Bottom-up Approach
> pragmatic metrics : RTFs
Monitor projects progress with RTFs (Running,
 Tested Features)
  Running means here deployed to a Websphere
   server (we have J2EE applications) =>
   continuous deployment

  Tested means a development is done when
   tested => automated tests during projects
   building

  Features means make the latest
   developments available at any time =>
Adoption strategy/audit
> Identify steps to improve the
development
No scripted building
  Manual building under RAD6/Eclipse
  Checkout code, check dependencies, package correctly
   EAR/WAR
  1 to 3 days needed to check an application is correctly
   packaged !

No scripted deployment
  manual deployment with the Websphere console
  Error prone, need to know Websphere Application Server
  Need 1 or 2 days to deploy an application under WAS6.1


No code review to measure quality
Adoption plan proposed
(1/3)
 Use Maven to build applications/projects
  No longer use an IDE to build apps/projects
   (error prone)
  Better traceability of packaged components


 Develop scripts to deploy applications
  Jython Scripts used both by production and
   development teams to deploy to Websphere
   AS 6.1
      Avoid behavior gaps between dev and prod
  
      environments
  Scripts called from Maven to automate
Adoption plan proposed
(2/3)
 Review projects with Maven to measure
 code quality
  Simple declarative approach to configure code
  review tools
      PMD, Checkstyle, FindBugs Maven plugins!
  

  Integrate code review reporting during nightly
  builds
      Just simply use the Maven build lifecycle
  




 Implement Builds Management with
 Cruisecontrol
 Continuous integration of changes (build, unit
Adoption plan proposed
(3/3)
 Implement unit tests with Junit, XMLUnit and
 JMockIt
  Check code behaves as expected by developers !
  JMockit helps
       to disconnect J2EE applications from MAINFRAME
   

       To test in isolation without modifying application codes
   
       (bytecode rewriting)


 Use acceptance tests with Fit/FitNesse
  check code behaves as expected by users for each
   release
  Use FitNesse plugin for RAD/Eclipse and for
   Maven
  Post deployment tests to ensure full testability by
In a legacy context
Mike Cohn tests pyramid
  adoption
  >> current practices!
                                      • Simple
                    Manual
                                      • usual approach
                  Acceptance
                                      • manual and error-prone
                    testing
                                      • traceability with requirements?
                   Using the
                      GUI
                                   • Technical solution
                  Automated
                                   • Quick to run since automated
                   tests of
                                   • numerous similar tests to write
                   the GUI
                                   • fragile tests (HTML may change)
                    Unit
                    Tests
                               • What do we test ? Priorities ?
                               • How to identify tests to run ?
                               • How to identify failing tests ?

Start Stop Look
Start Stop ?
Mike Cohn tests pyramid adoption
  > target practices: the pyramid of Mike Cohn
                            • Small number of tests
                            • Try automate these tests
            Acceptance
           tests with the
                GUI
                              • Define accurate functional tests

           FitNesse


                                    • Unit tests generalized
                                    • Adopt a TDD approach
           Unit Tests




Start Stop Look
Start Stop ?
Mike Cohn tests pyramid
  adoption
  > pragmatic target practices!

               Acceptance
                                       • Try to reduce the number of tests
              tests with the
                   GUI
                                       (if any, use FitNesse + Selenium)
                  Automated
                  acceptance
                               • Use Fit/FitNesse
                     tests




             Unit Tests            • reach a high coverage of code
                                   • improve capacities of test with
                                   supporting tools (xUnit tools such as
                                   JMockIt, DbUnit, XMLUnit, JUnitPerf,
                                   JsUnit, …)

Start Stop Look
Presentation layer                                                        Mainframe layer
                                             Business layer (EAR)
     (EAR)
                          Business Component
                                                                             Business
                                                                     MQ
                                                          DAS                Service
                                                                             (Cobol)
                                                 DAO
                          Business Service




 EIARD Application
                                                                             Business
                          Business Component
                                                            DAS              Service
                                                                     MQ
  Application                                     DAO
                            Business Process                                 (Cobol)
   Process
                                 Service
    Service
HTML/JS/JSP
                                    Business Service
  Pages


                                         Business Component




                     xml/http                                   mq
Functional testing with FitNesse
> Business layer
Black box approach
Wiki to easy functional data injection!
                                                                     Mainframe layer
                                               Business layer

                        Dossier component
                                               DAO     DAS             Functional
                                                                MQ
                          PMListeDossiers                               Service
                               SUT                                      (Cobol)


                                            Business
                                             Service
      PMColumnFixture




                        Personne component
                                                                       Functional
                                                DAO    DAS      MQ
                                                                        Service
                         PMGestionCompte
                                                                        (Cobol)
                              SUT


                                        Business
                                         Service

                               ElementStructure component
Functional testing with FitNesse
    > Presentation layer with Selenium
      Selenium is powerful
      Issues to set timeout when MQ access not mocked!
        (JDBC/DB2) layer                                                                       Mainframe layer
                                                                       Business layer
             Presentation

                                               Dossier component
                                                                                                 Functional
                                                                                          MQ      Service
                                                                               SAD
                                                                                                  (Cobol)

                                                     OM            CAD
                                                   DevisA4




              SeleniumRunner
                                               Personne component
                                                                                                 Functional
                                                                       CAD
                                                                                          MQ      Service
                       PUPerteMdp                 PMGestionCompte                                 (Cobol)
Selenium RC

                    Pages
                                                                  OM
                                                 Request
                 HTML/JS/JSP

                   EIARD application
                                                             ElementStructure component


                                       Other systems
Testing scenarios
> Car insurance quote scenario
 Write scenario in natural language with the FitNesse wiki
 Use the SeleniumRunner fixture to translate natural
  languages into Selenium verbs (open, click, select, …)
 The SeleniumRunner fixture invokes a Selenium instance
 The Selenium instance interacts with the application !
FitNesse Tests & Continuous integration
   1/3
                                                    3

                                                            4       5
                          6

                                                                                Deployment Platform
                              Continuous integration server machine
                              - Windows Service : Selenium-RC
                              - Windows Service : FitNesse Server (port 9987)

          1           2
                                                   1 – Check in (restitution)
                                                   2 – Projects updated on the continuous
                                                      integration server
                                                   3 – Projects built :
                                                      compilation, application and tests resources
                                                      generation, unit tests and components tests
                                                      execution, code review,
                                                   4 – Projects deployment (when needed : EAR)
 SCM repository
                                                   5 – Acceptation tests executed using FitNesse
(Clearcase, SVN, …)
                                                      (and Selenium)
                                                   6 – Notification by email
FitNesse Tests & Continuous integration
 2/3
 > Maven command called by Cruisecontrol
Definition of a Maven profile:
 “fitnesse”
  To declare and configure Fitnesse
    plugin
  To set FitNesse parameters to use
           Here for the Dossier project:
       
           <fitNesseServerName>s00sic001.ca-pacifica.fr</fitNesseServerName>
       

           <fitNesseServerPort>8081</fitNesseServerPort>
       

           <fitNesseServerPage>TestsAcceptation.TestsNm.TestsDossier</fitNe
       

           sseServerPage>

Select a Maven project phase
 After “package”:
    ear applications are deployed to
   

   Websphere App Server during this phase !!!                              (création du jar)


Command to launch FitNesse tests
FitNesse Tests & Continuous integration 3/3
Cruisecontrol builds applications with Maven
      Maven launches FitNesse tests (if present) after
    
      application deployment
     Cruisecontrol webapp adapted to collect FitNesse
      results in a new tab !
     Adaptation de Cruisecontrol
         Ajout d’un onglet Fit (FitNesse est la surcouche

          Wiki à Fit)
How to define scenarios? (1/3)
Launch an application with Firefox (here e-
 IARD)
Select Tools -> “Selenium IDE”
How to define scenarios? (2/3)
 Complete forms for Car Insurance
  Quote (“Simulation Assurance
  Automobile”)
        Events captures by Selenium IDE
    
How to define scenarios? (3/3)
 FitNesse
  Page
FitNesse reports
  > included in the web site generated by
  Maven




   Integration of
The FitNesse report
Eclipse/RAD plugins
  > Plugin Eclipse FitNesse (Band XI)
Boutons d’accés aux serveurs Fitnesse
     En local
   

    En remote
Incremental releases




   Iterative releases
Adopting Agile Tools & Methods In A Legacy Context

Más contenido relacionado

La actualidad más candente

Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectAgileSparks
 
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft AjaxThe Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft AjaxDarren Sim
 
BenchmarkQA Performance Testing Quality Forum March 2012
BenchmarkQA Performance Testing Quality Forum March 2012BenchmarkQA Performance Testing Quality Forum March 2012
BenchmarkQA Performance Testing Quality Forum March 2012BenchmarkQA
 
Introduction to RamLog
Introduction to RamLogIntroduction to RamLog
Introduction to RamLogCorrieTaljaard
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructurezslmarketing
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asAgileSparks
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
Dfr Presentation
Dfr   PresentationDfr   Presentation
Dfr Presentationeraz
 
Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Oguzhan Ozavar
 
Pragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesPragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesRody Middelkoop
 
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your applicationjavablend
 
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Marko Taipale
 
Teams progress presenation
Teams progress presenationTeams progress presenation
Teams progress presenationOleg Seriaga
 
Agile Evolution with Kanban
Agile Evolution with KanbanAgile Evolution with Kanban
Agile Evolution with KanbanChris McDermott
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Test Objects -- They Just Work
Test Objects -- They Just WorkTest Objects -- They Just Work
Test Objects -- They Just WorkBob Binder
 
JDXA, The KISS ORM for Android
JDXA, The KISS ORM for AndroidJDXA, The KISS ORM for Android
JDXA, The KISS ORM for AndroidDamodar Periwal
 
Correlation of simulation_models_using_concept_modeling
Correlation of simulation_models_using_concept_modelingCorrelation of simulation_models_using_concept_modeling
Correlation of simulation_models_using_concept_modelingSalvatore Scalera
 

La actualidad más candente (20)

Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defect
 
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft AjaxThe Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
 
20111007 activiti
20111007 activiti20111007 activiti
20111007 activiti
 
BenchmarkQA Performance Testing Quality Forum March 2012
BenchmarkQA Performance Testing Quality Forum March 2012BenchmarkQA Performance Testing Quality Forum March 2012
BenchmarkQA Performance Testing Quality Forum March 2012
 
Introduction to RamLog
Introduction to RamLogIntroduction to RamLog
Introduction to RamLog
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Dfr Presentation
Dfr   PresentationDfr   Presentation
Dfr Presentation
 
Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012
 
Pragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesPragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use Cases
 
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
 
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
 
Teams progress presenation
Teams progress presenationTeams progress presenation
Teams progress presenation
 
Agile Evolution with Kanban
Agile Evolution with KanbanAgile Evolution with Kanban
Agile Evolution with Kanban
 
RABIT
RABITRABIT
RABIT
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Test Objects -- They Just Work
Test Objects -- They Just WorkTest Objects -- They Just Work
Test Objects -- They Just Work
 
JDXA, The KISS ORM for Android
JDXA, The KISS ORM for AndroidJDXA, The KISS ORM for Android
JDXA, The KISS ORM for Android
 
Correlation of simulation_models_using_concept_modeling
Correlation of simulation_models_using_concept_modelingCorrelation of simulation_models_using_concept_modeling
Correlation of simulation_models_using_concept_modeling
 

Destacado

AWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases OptionsAWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases OptionsAmazon Web Services
 
Jeux d'Innovation (FLUPA UX Day 2013)
Jeux d'Innovation (FLUPA UX Day 2013)Jeux d'Innovation (FLUPA UX Day 2013)
Jeux d'Innovation (FLUPA UX Day 2013)Francis Rowland
 
Innovation games + agile in retail banking
Innovation games + agile in retail bankingInnovation games + agile in retail banking
Innovation games + agile in retail bankingXavier Warzee
 
Htaccess with Cookies
Htaccess with Cookies Htaccess with Cookies
Htaccess with Cookies kristine2011
 
Atelier "SOS du Titanic, perdu dans l'Atlantique" - leadership des talents
Atelier "SOS du Titanic, perdu dans l'Atlantique" - leadership des talentsAtelier "SOS du Titanic, perdu dans l'Atlantique" - leadership des talents
Atelier "SOS du Titanic, perdu dans l'Atlantique" - leadership des talentsXavier Warzee
 

Destacado (9)

AWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases OptionsAWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases Options
 
Lightning talk flupa ux day
Lightning talk flupa ux dayLightning talk flupa ux day
Lightning talk flupa ux day
 
Leadership talents
Leadership talentsLeadership talents
Leadership talents
 
Jeux d'Innovation (FLUPA UX Day 2013)
Jeux d'Innovation (FLUPA UX Day 2013)Jeux d'Innovation (FLUPA UX Day 2013)
Jeux d'Innovation (FLUPA UX Day 2013)
 
Innovation games + agile in retail banking
Innovation games + agile in retail bankingInnovation games + agile in retail banking
Innovation games + agile in retail banking
 
Peter Keating Dec2008
Peter Keating Dec2008Peter Keating Dec2008
Peter Keating Dec2008
 
Lightning Talk - Damien Thouvenin
Lightning Talk - Damien ThouveninLightning Talk - Damien Thouvenin
Lightning Talk - Damien Thouvenin
 
Htaccess with Cookies
Htaccess with Cookies Htaccess with Cookies
Htaccess with Cookies
 
Atelier "SOS du Titanic, perdu dans l'Atlantique" - leadership des talents
Atelier "SOS du Titanic, perdu dans l'Atlantique" - leadership des talentsAtelier "SOS du Titanic, perdu dans l'Atlantique" - leadership des talents
Atelier "SOS du Titanic, perdu dans l'Atlantique" - leadership des talents
 

Similar a Adopting Agile Tools & Methods In A Legacy Context

Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
Quality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise FlexQuality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise FlexFrançois Le Droff
 
Software Measurement for Lean Application Management
Software Measurement for Lean Application ManagementSoftware Measurement for Lean Application Management
Software Measurement for Lean Application ManagementCAST
 
10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFishNuxeo
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case StudyADC Austin Tech
 
Session #1: Development Practices And The Microsoft Approach
Session #1: Development Practices And The Microsoft ApproachSession #1: Development Practices And The Microsoft Approach
Session #1: Development Practices And The Microsoft ApproachSteve Lange
 
Gredy - test automation management and team collaboration
Gredy - test automation management and team collaborationGredy - test automation management and team collaboration
Gredy - test automation management and team collaborationGredy
 
Dot Net Frame Work
Dot Net Frame WorkDot Net Frame Work
Dot Net Frame WorkLiquidHub
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsSanjeev Sharma
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented ArchitectureBob Rhubart
 
"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii KalinetsFwdays
 
Aras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras
 
Cast Application Intelligence Platform
Cast Application Intelligence PlatformCast Application Intelligence Platform
Cast Application Intelligence PlatformJohn Fotiadis ✔️
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process ModelsCarles Farré
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009Stefane Fermigier
 
San Jose Selenium Meet-up PushToTest TestMaker Presentation
San Jose Selenium Meet-up PushToTest TestMaker PresentationSan Jose Selenium Meet-up PushToTest TestMaker Presentation
San Jose Selenium Meet-up PushToTest TestMaker PresentationClever Moe
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanRack Lin
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayKris Verlaenen
 

Similar a Adopting Agile Tools & Methods In A Legacy Context (20)

Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
Quality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise FlexQuality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise Flex
 
Software Measurement for Lean Application Management
Software Measurement for Lean Application ManagementSoftware Measurement for Lean Application Management
Software Measurement for Lean Application Management
 
10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
 
Session #1: Development Practices And The Microsoft Approach
Session #1: Development Practices And The Microsoft ApproachSession #1: Development Practices And The Microsoft Approach
Session #1: Development Practices And The Microsoft Approach
 
Gredy - test automation management and team collaboration
Gredy - test automation management and team collaborationGredy - test automation management and team collaboration
Gredy - test automation management and team collaboration
 
Dot Net Frame Work
Dot Net Frame WorkDot Net Frame Work
Dot Net Frame Work
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets
 
Aras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment Methodology
 
Cast Application Intelligence Platform
Cast Application Intelligence PlatformCast Application Intelligence Platform
Cast Application Intelligence Platform
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
San Jose Selenium Meet-up PushToTest TestMaker Presentation
San Jose Selenium Meet-up PushToTest TestMaker PresentationSan Jose Selenium Meet-up PushToTest TestMaker Presentation
San Jose Selenium Meet-up PushToTest TestMaker Presentation
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss way
 

Más de Xavier Warzee

SOS TITANIC - Be a highly performant team to save your life!
SOS TITANIC - Be a highly performant team to save your life!SOS TITANIC - Be a highly performant team to save your life!
SOS TITANIC - Be a highly performant team to save your life!Xavier Warzee
 
Le Management à l'ère des organisations Agiles
Le Management à l'ère des organisations AgilesLe Management à l'ère des organisations Agiles
Le Management à l'ère des organisations AgilesXavier Warzee
 
Be very efficient and innovative thanks to disorder!
Be very efficient and innovative thanks to disorder!Be very efficient and innovative thanks to disorder!
Be very efficient and innovative thanks to disorder!Xavier Warzee
 
L'Agilité - breakfast IDC devops, 18 septembre 2014
L'Agilité  - breakfast IDC devops, 18 septembre 2014L'Agilité  - breakfast IDC devops, 18 septembre 2014
L'Agilité - breakfast IDC devops, 18 septembre 2014Xavier Warzee
 
Advanced infrastructure for pan european collaborative engineering - E-colleg
Advanced infrastructure for pan european collaborative engineering - E-collegAdvanced infrastructure for pan european collaborative engineering - E-colleg
Advanced infrastructure for pan european collaborative engineering - E-collegXavier Warzee
 
Retour expérience Agilité & Données fonction finances risques - Agile Tour ...
Retour expérience Agilité & Données fonction finances risques - Agile Tour ...Retour expérience Agilité & Données fonction finances risques - Agile Tour ...
Retour expérience Agilité & Données fonction finances risques - Agile Tour ...Xavier Warzee
 
Faciliter une transformation agile avec les Innovation Games dans une banque ...
Faciliter une transformation agile avec les Innovation Games dans une banque ...Faciliter une transformation agile avec les Innovation Games dans une banque ...
Faciliter une transformation agile avec les Innovation Games dans une banque ...Xavier Warzee
 
Scrum day 2013 sponsoring package
Scrum day 2013 sponsoring packageScrum day 2013 sponsoring package
Scrum day 2013 sponsoring packageXavier Warzee
 
Annonces du french scrum user group v1.2
Annonces du french scrum user group   v1.2Annonces du french scrum user group   v1.2
Annonces du french scrum user group v1.2Xavier Warzee
 
Annonces du french scrum user group - rencontre du 24 juin 2011
Annonces du french scrum user group - rencontre du 24 juin 2011Annonces du french scrum user group - rencontre du 24 juin 2011
Annonces du french scrum user group - rencontre du 24 juin 2011Xavier Warzee
 
Journées NEPTUNE - Keynote Modélisation chez Microsoft
Journées NEPTUNE - Keynote Modélisation chez MicrosoftJournées NEPTUNE - Keynote Modélisation chez Microsoft
Journées NEPTUNE - Keynote Modélisation chez MicrosoftXavier Warzee
 
Enquête 2011 - Vous, votre organisation et Agile
Enquête 2011 - Vous, votre organisation et Agile Enquête 2011 - Vous, votre organisation et Agile
Enquête 2011 - Vous, votre organisation et Agile Xavier Warzee
 
Scrum Day France 2011 : ouverture avec Xavier Warzee
Scrum Day France 2011 : ouverture avec Xavier WarzeeScrum Day France 2011 : ouverture avec Xavier Warzee
Scrum Day France 2011 : ouverture avec Xavier WarzeeXavier Warzee
 
Embedding a Scrum culture avec Harvey Wheaton, Scrum Alliance
Embedding a Scrum culture avec Harvey Wheaton, Scrum AllianceEmbedding a Scrum culture avec Harvey Wheaton, Scrum Alliance
Embedding a Scrum culture avec Harvey Wheaton, Scrum AllianceXavier Warzee
 
Path to agility, Ken Schwaber
Path to agility, Ken SchwaberPath to agility, Ken Schwaber
Path to agility, Ken SchwaberXavier Warzee
 
Bilan 2010-2011 du FSUG
Bilan 2010-2011 du FSUGBilan 2010-2011 du FSUG
Bilan 2010-2011 du FSUGXavier Warzee
 
Quand mon produit est un système d information
Quand mon produit est un système d informationQuand mon produit est un système d information
Quand mon produit est un système d informationXavier Warzee
 
Un format dynamique de rétrospective, Jean-Charles Meyrignac
Un format dynamique de rétrospective, Jean-Charles Meyrignac Un format dynamique de rétrospective, Jean-Charles Meyrignac
Un format dynamique de rétrospective, Jean-Charles Meyrignac Xavier Warzee
 
Le Product Owner proxy, Bertrand Dour
Le Product Owner proxy, Bertrand DourLe Product Owner proxy, Bertrand Dour
Le Product Owner proxy, Bertrand DourXavier Warzee
 
Scrum au-delà du projet, pour des produits et des organisations
Scrum au-delà du projet, pour des produits et des organisationsScrum au-delà du projet, pour des produits et des organisations
Scrum au-delà du projet, pour des produits et des organisationsXavier Warzee
 

Más de Xavier Warzee (20)

SOS TITANIC - Be a highly performant team to save your life!
SOS TITANIC - Be a highly performant team to save your life!SOS TITANIC - Be a highly performant team to save your life!
SOS TITANIC - Be a highly performant team to save your life!
 
Le Management à l'ère des organisations Agiles
Le Management à l'ère des organisations AgilesLe Management à l'ère des organisations Agiles
Le Management à l'ère des organisations Agiles
 
Be very efficient and innovative thanks to disorder!
Be very efficient and innovative thanks to disorder!Be very efficient and innovative thanks to disorder!
Be very efficient and innovative thanks to disorder!
 
L'Agilité - breakfast IDC devops, 18 septembre 2014
L'Agilité  - breakfast IDC devops, 18 septembre 2014L'Agilité  - breakfast IDC devops, 18 septembre 2014
L'Agilité - breakfast IDC devops, 18 septembre 2014
 
Advanced infrastructure for pan european collaborative engineering - E-colleg
Advanced infrastructure for pan european collaborative engineering - E-collegAdvanced infrastructure for pan european collaborative engineering - E-colleg
Advanced infrastructure for pan european collaborative engineering - E-colleg
 
Retour expérience Agilité & Données fonction finances risques - Agile Tour ...
Retour expérience Agilité & Données fonction finances risques - Agile Tour ...Retour expérience Agilité & Données fonction finances risques - Agile Tour ...
Retour expérience Agilité & Données fonction finances risques - Agile Tour ...
 
Faciliter une transformation agile avec les Innovation Games dans une banque ...
Faciliter une transformation agile avec les Innovation Games dans une banque ...Faciliter une transformation agile avec les Innovation Games dans une banque ...
Faciliter une transformation agile avec les Innovation Games dans une banque ...
 
Scrum day 2013 sponsoring package
Scrum day 2013 sponsoring packageScrum day 2013 sponsoring package
Scrum day 2013 sponsoring package
 
Annonces du french scrum user group v1.2
Annonces du french scrum user group   v1.2Annonces du french scrum user group   v1.2
Annonces du french scrum user group v1.2
 
Annonces du french scrum user group - rencontre du 24 juin 2011
Annonces du french scrum user group - rencontre du 24 juin 2011Annonces du french scrum user group - rencontre du 24 juin 2011
Annonces du french scrum user group - rencontre du 24 juin 2011
 
Journées NEPTUNE - Keynote Modélisation chez Microsoft
Journées NEPTUNE - Keynote Modélisation chez MicrosoftJournées NEPTUNE - Keynote Modélisation chez Microsoft
Journées NEPTUNE - Keynote Modélisation chez Microsoft
 
Enquête 2011 - Vous, votre organisation et Agile
Enquête 2011 - Vous, votre organisation et Agile Enquête 2011 - Vous, votre organisation et Agile
Enquête 2011 - Vous, votre organisation et Agile
 
Scrum Day France 2011 : ouverture avec Xavier Warzee
Scrum Day France 2011 : ouverture avec Xavier WarzeeScrum Day France 2011 : ouverture avec Xavier Warzee
Scrum Day France 2011 : ouverture avec Xavier Warzee
 
Embedding a Scrum culture avec Harvey Wheaton, Scrum Alliance
Embedding a Scrum culture avec Harvey Wheaton, Scrum AllianceEmbedding a Scrum culture avec Harvey Wheaton, Scrum Alliance
Embedding a Scrum culture avec Harvey Wheaton, Scrum Alliance
 
Path to agility, Ken Schwaber
Path to agility, Ken SchwaberPath to agility, Ken Schwaber
Path to agility, Ken Schwaber
 
Bilan 2010-2011 du FSUG
Bilan 2010-2011 du FSUGBilan 2010-2011 du FSUG
Bilan 2010-2011 du FSUG
 
Quand mon produit est un système d information
Quand mon produit est un système d informationQuand mon produit est un système d information
Quand mon produit est un système d information
 
Un format dynamique de rétrospective, Jean-Charles Meyrignac
Un format dynamique de rétrospective, Jean-Charles Meyrignac Un format dynamique de rétrospective, Jean-Charles Meyrignac
Un format dynamique de rétrospective, Jean-Charles Meyrignac
 
Le Product Owner proxy, Bertrand Dour
Le Product Owner proxy, Bertrand DourLe Product Owner proxy, Bertrand Dour
Le Product Owner proxy, Bertrand Dour
 
Scrum au-delà du projet, pour des produits et des organisations
Scrum au-delà du projet, pour des produits et des organisationsScrum au-delà du projet, pour des produits et des organisations
Scrum au-delà du projet, pour des produits et des organisations
 

Último

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Adopting Agile Tools & Methods In A Legacy Context

  • 1. Xavier Warzee Email: xavier@warzee.fr Blog: http://warzee.fr Site: http://www.agilescale.com
  • 2.
  • 3. Insurance applications Talk based on one year engagement In an insurance company A subsidiary of one of the largest french bank 6 insurance applications Used by several networks of regional insurance agencies Running in a datacenter (Mainframes, Unix servers)
  • 4. Legacy systems Applications Implemented in Java/J2EE running on Unix servers No dependency injection, no cool frameworks (Spring, Hibernate, …) Various size and maturity Business rules and services Implemented in Cobol running on IBM mainframes IBM MQ to communicate with applications
  • 5. Tools & practices Building and deployment of J2EE applications with IBM RAD6 (based on Eclipse 3.0.1) Software Configuration Management with IBM Rational Clearcase LT 2003 for Java/J2EE Nothing for Cobol developments No tests (unit & acceptance tests)
  • 6. Objectives Main objectives To develop the code really expected for each release To prepare adoption of agile methods :-) Short terms objectives based on the “follow the pain” principle Shrink time to release new versions of J2EE applications Ease deployment of applications Provide adapted testing solutions to the legacy
  • 7. Bottom-up Approach > pragmatic metrics : RTFs Monitor projects progress with RTFs (Running, Tested Features) Running means here deployed to a Websphere server (we have J2EE applications) => continuous deployment Tested means a development is done when tested => automated tests during projects building Features means make the latest developments available at any time =>
  • 8.
  • 9. Adoption strategy/audit > Identify steps to improve the development No scripted building  Manual building under RAD6/Eclipse  Checkout code, check dependencies, package correctly EAR/WAR  1 to 3 days needed to check an application is correctly packaged ! No scripted deployment  manual deployment with the Websphere console  Error prone, need to know Websphere Application Server  Need 1 or 2 days to deploy an application under WAS6.1 No code review to measure quality
  • 10. Adoption plan proposed (1/3) Use Maven to build applications/projects  No longer use an IDE to build apps/projects (error prone)  Better traceability of packaged components Develop scripts to deploy applications  Jython Scripts used both by production and development teams to deploy to Websphere AS 6.1 Avoid behavior gaps between dev and prod  environments  Scripts called from Maven to automate
  • 11. Adoption plan proposed (2/3) Review projects with Maven to measure code quality  Simple declarative approach to configure code review tools PMD, Checkstyle, FindBugs Maven plugins!   Integrate code review reporting during nightly builds Just simply use the Maven build lifecycle  Implement Builds Management with Cruisecontrol Continuous integration of changes (build, unit
  • 12. Adoption plan proposed (3/3) Implement unit tests with Junit, XMLUnit and JMockIt  Check code behaves as expected by developers !  JMockit helps to disconnect J2EE applications from MAINFRAME  To test in isolation without modifying application codes  (bytecode rewriting) Use acceptance tests with Fit/FitNesse  check code behaves as expected by users for each release  Use FitNesse plugin for RAD/Eclipse and for Maven  Post deployment tests to ensure full testability by
  • 13. In a legacy context
  • 14.
  • 15. Mike Cohn tests pyramid adoption >> current practices! • Simple Manual • usual approach Acceptance • manual and error-prone testing • traceability with requirements? Using the GUI • Technical solution Automated • Quick to run since automated tests of • numerous similar tests to write the GUI • fragile tests (HTML may change) Unit Tests • What do we test ? Priorities ? • How to identify tests to run ? • How to identify failing tests ? Start Stop Look Start Stop ?
  • 16. Mike Cohn tests pyramid adoption > target practices: the pyramid of Mike Cohn • Small number of tests • Try automate these tests Acceptance tests with the GUI • Define accurate functional tests FitNesse • Unit tests generalized • Adopt a TDD approach Unit Tests Start Stop Look Start Stop ?
  • 17. Mike Cohn tests pyramid adoption > pragmatic target practices! Acceptance • Try to reduce the number of tests tests with the GUI (if any, use FitNesse + Selenium) Automated acceptance • Use Fit/FitNesse tests Unit Tests • reach a high coverage of code • improve capacities of test with supporting tools (xUnit tools such as JMockIt, DbUnit, XMLUnit, JUnitPerf, JsUnit, …) Start Stop Look
  • 18. Presentation layer Mainframe layer Business layer (EAR) (EAR) Business Component Business MQ DAS Service (Cobol) DAO Business Service EIARD Application Business Business Component DAS Service MQ Application DAO Business Process (Cobol) Process Service Service HTML/JS/JSP Business Service Pages Business Component xml/http mq
  • 19. Functional testing with FitNesse > Business layer Black box approach Wiki to easy functional data injection! Mainframe layer Business layer Dossier component DAO DAS Functional MQ PMListeDossiers Service SUT (Cobol) Business Service PMColumnFixture Personne component Functional DAO DAS MQ Service PMGestionCompte (Cobol) SUT Business Service ElementStructure component
  • 20.
  • 21.
  • 22.
  • 23. Functional testing with FitNesse > Presentation layer with Selenium  Selenium is powerful  Issues to set timeout when MQ access not mocked! (JDBC/DB2) layer Mainframe layer Business layer Presentation Dossier component Functional MQ Service SAD (Cobol) OM CAD DevisA4 SeleniumRunner Personne component Functional CAD MQ Service PUPerteMdp PMGestionCompte (Cobol) Selenium RC Pages OM Request HTML/JS/JSP EIARD application ElementStructure component Other systems
  • 24. Testing scenarios > Car insurance quote scenario  Write scenario in natural language with the FitNesse wiki  Use the SeleniumRunner fixture to translate natural languages into Selenium verbs (open, click, select, …)  The SeleniumRunner fixture invokes a Selenium instance  The Selenium instance interacts with the application !
  • 25. FitNesse Tests & Continuous integration 1/3 3 4 5 6 Deployment Platform Continuous integration server machine - Windows Service : Selenium-RC - Windows Service : FitNesse Server (port 9987) 1 2 1 – Check in (restitution) 2 – Projects updated on the continuous integration server 3 – Projects built : compilation, application and tests resources generation, unit tests and components tests execution, code review, 4 – Projects deployment (when needed : EAR) SCM repository 5 – Acceptation tests executed using FitNesse (Clearcase, SVN, …) (and Selenium) 6 – Notification by email
  • 26. FitNesse Tests & Continuous integration 2/3 > Maven command called by Cruisecontrol Definition of a Maven profile: “fitnesse” To declare and configure Fitnesse plugin To set FitNesse parameters to use Here for the Dossier project:  <fitNesseServerName>s00sic001.ca-pacifica.fr</fitNesseServerName>  <fitNesseServerPort>8081</fitNesseServerPort>  <fitNesseServerPage>TestsAcceptation.TestsNm.TestsDossier</fitNe  sseServerPage> Select a Maven project phase After “package”: ear applications are deployed to  Websphere App Server during this phase !!! (création du jar) Command to launch FitNesse tests
  • 27. FitNesse Tests & Continuous integration 3/3 Cruisecontrol builds applications with Maven Maven launches FitNesse tests (if present) after  application deployment  Cruisecontrol webapp adapted to collect FitNesse results in a new tab !  Adaptation de Cruisecontrol  Ajout d’un onglet Fit (FitNesse est la surcouche Wiki à Fit)
  • 28. How to define scenarios? (1/3) Launch an application with Firefox (here e- IARD) Select Tools -> “Selenium IDE”
  • 29. How to define scenarios? (2/3)  Complete forms for Car Insurance Quote (“Simulation Assurance Automobile”) Events captures by Selenium IDE 
  • 30. How to define scenarios? (3/3)  FitNesse Page
  • 31. FitNesse reports > included in the web site generated by Maven Integration of The FitNesse report
  • 32. Eclipse/RAD plugins > Plugin Eclipse FitNesse (Band XI) Boutons d’accés aux serveurs Fitnesse En local   En remote
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Incremental releases Iterative releases