SlideShare a Scribd company logo
Agile & ALM Tools

Larry Cai
larry.caiyu@gmail.com
Profile
 Larry, an open source, collaboration & Agile evangelist
 Software Practice Pioneer to discover the best suitable
 methods and tools to improve the efficiency of software
 development
Agenda
 ALM (Application Lifecycle Management) tools and Agile
 in quick view
 Whether ALM system support Agile software
 development
   Does tools really matter ?
   Does tools improve agile deployment ?
 One Scrum way to deploy ALM system
Reminds before details
  Does not say open source is the only solution
  Does not say we solve all the problems using open
  source tools

  Open source are better choice ;-)
Introduction for Agile & ALM
History of Agile
                                                                     Agile practices comes out
                                 Collective Ownership
                                 Collective Ownership
           Customer tests
           Customer tests
                                        Continuous integration
                                        Continuous integration        Prove it With Code
                                                                      Prove it With Code
Pair programming
                     Daily short meeting
                     Daily short meeting
                                                                                  …
                                                                                  …



                                                    Agile Modeling                 …..
       Extreme Programming
                                        SCRUM
                                                          Feature Driven Development



Different agile approach share
    common agile practices



                   In 2001, form Agile alliance
                      create Agile Manifesto
Manifesto for Agile Software Development

         We are uncovering better ways of developing
         software by doing it and helping others do it.
          Through this work we have come to value:

   Individuals and interactions over processes and tools
    Working software over comprehensive documentation
     Customer collaboration over contract negotiation
       Responding to change over following a plan

          That is, while there is value in the items on
         the right, we value the items on the left more.


                                                     http://agilemanifesto.org
ALM
ALM (Application Lifecycle Management) is the marriage of business
management to software engineering made possible by tools that
facilitate and integrate requirements management, architecture,
coding, testing, tracking, and release management.




                  Source http://www.manning.com/huettermann/
ALM in reality (one example)


            quality       build


       Requirement/tracking management



               IDE          code
ALM Tools in Agile
Issues in agile development
  How to change from long integration phase to short
  iteration and decrease repeating manual work ?
  How to manage the backlog, tasks, internal TR ?
  How to do quality control & keep track the work status ?
  When to do code review ?
  Can team to have a separate branch ?
  …
Builds – Continuously Integration
           Basic automation steps in CI
                  Developers commit the codes, trigger the build
                  CI run Compile, Unit level testing (code)
                  CI Acceptance Testing (verification)
                  Feedback to develop team (fail/success)


           CI changes from big/long integration phase to
           frequent/short integration.




Ref: http://martinfowler.com/articles/continuousIntegration.html
Hudson vs. Jenkins
                                          Hudson is a de-facto CI
                                          standard used for lots of
                                          products
                                          Easy to start, configure
                                          and extending (300+
                    Jenkins (community)
Hudson 1.394                              plugins)
(Sun + community)
                                          Easy to handle your legacy
                                          system
                      Hudson (oracle)

                         Since 2011
Sonar for java products




              Numbers to rank the product




 Visualize the quality result
 to everyone in CI loop
More for CI
  Key issues
    Let CI running , ALWAYS
    Stop if CI turns red


  More features around it
    Continuous deployment (Package, Install)
    Regression testing (System testing)
    Continuous delivery for SaaS/Cloud system


 CI’s job is to remove waste
 for the things can be auto
Conclusion
1.   CI is fundamental for agile deployment, focus on how to
     effectively improve it step by step
Issue management
 Requirement management (Planning meeting, Release,
 Product backlog) – Product owner
 Task management (Daily standup meeting, sprint
 backlog)
 - Team
 Internal Bugs (trouble report inside sprint) - Team
Existing ALM cover issue tracks
  So far no good ALM system cover them all in excellent
  way.
    $ JIRA
    $ ScrumWorks Pro
    Trac (Agilo)
    redmine
    $ IBM Rational Jazz based
    $ Intland Codebeamer
    …
Issue management system
 Redmine is a flexible project management web
  application for issue management




                                http://www.redmine.org/
Quick view
Requirement
  What tool supports managing large backlogs ? Use a
  simple spreadsheet. Not because a spreadsheet is so
  good; just because it is better than the alternatives
                                           - Book : Scaling Lean & Agile Development
                                              – Craig Larman/Bas Vodde



  We usually do this in an Excel document with sharing
  enabled (i.e. multiple users can edit simultaneously)
                                         - Book: Scrum and XP from the Trenches - Henrik Kniberg




Source : book - Scrum and XP from the Trenches
Task management & BUGS
 Task on
 whiteboard
 Bugs are on
 yellow sticks on
 whiteboard , Wiki
 system, Excel files




                   Source: http://www.infoq.com/minibooks/scrum-xp-from-the-trenches
Conclusion
1.   CI is fundamental for agile deployment, focus on how to
     effectively improve it step by step
2.   Don’t need to introduce electrical whiteboard in the
     beginning for agile development, Use e-whiteboard
     when your team really understand scrum
One case – find the changes
    One feature “Support Winstone” is used in hudson for
    auto start the web application ?
    How to do it in clearcase/svn ? How long time ?




Find the codes -> Blame (see history) -> Search “Winstone” -> Roll back to history
Git overview
                     distributed
 Git is an open source version control system designed
 for speed and efficiency
    Mercurial (hg) is distributed version control system
    Clearcase, svn are central version control system


 Initial development by
 Linus Torvalds
 Used by e.g. the Linux
 kernel and Ruby on
 Rails, Android
Code workflow
        In agile way of working, mostly centralized workflow is
        used, and ask developers to commit code frequently




        Git can open more workflow from it (distribution, big
        refactorying..)




Pictures from Pro Git site
Branch Strategy for git
Code Review
       What we do code review now ? Post or Pre
       Extra benefit
            Mentoring of new developers / contributors
            Good alternative to pair programming
            Coding standards (Keep overall readability & code quality high)


       Modern code review
            Goal is cooperation, not fault-finding
            Integral part of coding process




Source: Guido van Rossum, code review on the web in 2006
http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf
Gerrit Code review
  Gerrit serves as a git server adding access control and
  work flow.
  Gerrit is a Code Review system based on jgit
  Gerrit designed for collaboration in open source
  community
  http://code.google.com/p/gerrit/
 Used by
   Android:
   https://review.source.android.com/
   JGit/Egit: http://egit.eclipse.org/r/
   Google, Redhat
Standard Gerrit workflow
                                                                                Gerrit

                                  master
                                                                    git git
                                         change 12
                                                      submit accepted git   git
                         change 10                    change 12
                                          change 23 / separate branch
fetch master
to get
                          push improved                      1.        Pull from master branch
updates
                          change 10
                                                             2.        Push (submit) changes to one
                                                                       separate place in gerrit
             Developer PC
                                                             3.        Some checks are done in separate
                                                                       branch
                                                                   ›      Code Review are finished with vote + 2
            git                                                    ›      CI verify the codes and vote +1
                          git                                4.        Merge to master branch when
                                                                       approved by submitter
Source: http://www.slideshare.net/caniszczyk/effective-git-with-eclipse
Code Review
Conclusion
1.   CI is fundamental for agile deployment, focus on how to
     effectively improve it step by step, visible the quality
     inside CI loop.
2.   Don’t need to introduce electrical whiteboard in the
     beginning for agile development, Use e-whiteboard
     when your team really understand scrum
3.   Tools could promote your agile deployment, new tools
     like “Git/Gerrit”, it will change your agile thinking
Scrum Way to deploy tools
Scrum way to deploy tools
  Define the Vision/Goal
    Choose open source tools to reduce direct cost but keep the
    possibility for commercial tools in ALM selection
    E2E thinking to integrate with different existing system
  Iteratively (stepwise) introduce this to organization to
  benefit from beginning
  Lean thinking
    Find the bottleneck & waste to prioritize backlog
    Continuously improvement by retrospective.
Tools does matter for agile
  It is all about the people
use tools to support PEOPLE
Reference
 My blog: http://codeslife.com
 Mail: larry.caiyu@gmail.com
 (Chinese twitter): http://weibo.com/larrycaiyu
 (Chinese) Article at “Programmer” : Agile & Tools
 http://www.programmer.com.cn/8020/
Tools discussed in this slides
  CI: Jenkins (hudson)
  Quality: Sonar
  Version control: Git (svn, clearcase)
  Code review: Gerrit
  ALM (issues): Redmine
  Others: github, Balsamiq

More Related Content

What's hot

Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
Mikalai Alimenkou
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
Mohit Kumar
 
Teamwork and agile methodologies
Teamwork and agile methodologiesTeamwork and agile methodologies
Teamwork and agile methodologiesStefano Paluello
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Aspenware
 
ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)
Terry Cho
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
Marraju Bollapragada V
 
Scrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMScrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALM
Marco Silva
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overviewslides_teltools
 
End-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementEnd-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle Management
Hosam Kamel
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)
Muhammad Ahmed
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
vodQA
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
Stewart Rogers
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
Kaizenko
 
Team Foundation Server Process Templates For Effective Project Management
Team Foundation Server Process Templates For Effective Project ManagementTeam Foundation Server Process Templates For Effective Project Management
Team Foundation Server Process Templates For Effective Project Management
Aaron Bjork
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test Tools
Moataz Nabil
 
Introduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs WaterfallIntroduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs Waterfall
Prateek Shrivastava
 
Agile at scale
Agile at scaleAgile at scale
Agile at scale
Eric Cattoir
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
Eran Kinsbrunner
 
Between Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologiesBetween Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologies
suwalki24.pl
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Angelin R
 

What's hot (20)

Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
 
Teamwork and agile methodologies
Teamwork and agile methodologiesTeamwork and agile methodologies
Teamwork and agile methodologies
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)Implementing Scrum with Microsoft Team Foundation Service (TFS)
Implementing Scrum with Microsoft Team Foundation Service (TFS)
 
ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
 
Scrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMScrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALM
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
 
End-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementEnd-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle Management
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
Team Foundation Server Process Templates For Effective Project Management
Team Foundation Server Process Templates For Effective Project ManagementTeam Foundation Server Process Templates For Effective Project Management
Team Foundation Server Process Templates For Effective Project Management
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test Tools
 
Introduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs WaterfallIntroduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs Waterfall
 
Agile at scale
Agile at scaleAgile at scale
Agile at scale
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
Between Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologiesBetween Scrum and Kanban - define test process for Agile methodologies
Between Scrum and Kanban - define test process for Agile methodologies
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 

Viewers also liked

ALM 101: An introduction to application lifecycle management
ALM 101: An introduction to application lifecycle managementALM 101: An introduction to application lifecycle management
ALM 101: An introduction to application lifecycle management
nonlinear creations
 
Agile Application Lifecycle Management (ALM)
Agile Application Lifecycle Management (ALM)Agile Application Lifecycle Management (ALM)
Agile Application Lifecycle Management (ALM)
Jurgen Appelo
 
Agile ALM Tool Comparison
Agile ALM Tool ComparisonAgile ALM Tool Comparison
Agile ALM Tool Comparison
Venkat Janardhanam, MS, MBA
 
Agile tools
Agile toolsAgile tools
Agile tools
royvandewater
 
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Continuous Testing and New Tools for Automation - Presentation from StarWest ...Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Sauce Labs
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
 
Ci tools Introduce
Ci tools IntroduceCi tools Introduce
Ci tools Introduce
Yin-Hong Hsu
 
Selenium and Sauce Labs
Selenium and Sauce LabsSelenium and Sauce Labs
Selenium and Sauce Labs
hugs
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
Artem Nagornyi
 
Test cases and bug report v3.2
Test cases and bug report v3.2Test cases and bug report v3.2
Test cases and bug report v3.2
Andrey Oleynik
 
Front-End Testing: Demystified
Front-End Testing: DemystifiedFront-End Testing: Demystified
Front-End Testing: Demystified
Seth McLaughlin
 
Agile/Lean Induction
Agile/Lean InductionAgile/Lean Induction
Agile/Lean Induction
Giuseppe Sorrentino
 
FAIR Data and Model Management for Systems Biology (and SOPs too!)
FAIR Data and Model Management for Systems Biology(and SOPs too!)FAIR Data and Model Management for Systems Biology(and SOPs too!)
FAIR Data and Model Management for Systems Biology (and SOPs too!)
Carole Goble
 
DAMA International Symposium San Diego CA 03-17-2008
DAMA International Symposium San Diego CA 03-17-2008DAMA International Symposium San Diego CA 03-17-2008
DAMA International Symposium San Diego CA 03-17-2008Robert J. Abate, CBIP, CDMP
 
The Chief Data Officer's Agenda: What a CDO Needs to Know about Data Quality
The Chief Data Officer's Agenda: What a CDO Needs to Know about Data QualityThe Chief Data Officer's Agenda: What a CDO Needs to Know about Data Quality
The Chief Data Officer's Agenda: What a CDO Needs to Know about Data Quality
DATAVERSITY
 
Real-World Data Governance: Build Your Own Data Governance Tools
Real-World Data Governance: Build Your Own Data Governance ToolsReal-World Data Governance: Build Your Own Data Governance Tools
Real-World Data Governance: Build Your Own Data Governance Tools
DATAVERSITY
 
XStudio
XStudioXStudio
Pair Programming - a pratical guide
Pair Programming - a pratical guidePair Programming - a pratical guide
Pair Programming - a pratical guide
Giuseppe Sorrentino
 
LS 708 Agile Tools for Everyone
LS 708 Agile Tools for EveryoneLS 708 Agile Tools for Everyone
LS 708 Agile Tools for Everyone
Don Bolen
 

Viewers also liked (20)

ALM 101: An introduction to application lifecycle management
ALM 101: An introduction to application lifecycle managementALM 101: An introduction to application lifecycle management
ALM 101: An introduction to application lifecycle management
 
Agile Application Lifecycle Management (ALM)
Agile Application Lifecycle Management (ALM)Agile Application Lifecycle Management (ALM)
Agile Application Lifecycle Management (ALM)
 
Agile ALM Tool Comparison
Agile ALM Tool ComparisonAgile ALM Tool Comparison
Agile ALM Tool Comparison
 
Agile tools
Agile toolsAgile tools
Agile tools
 
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Continuous Testing and New Tools for Automation - Presentation from StarWest ...Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
Ci tools Introduce
Ci tools IntroduceCi tools Introduce
Ci tools Introduce
 
Selenium and Sauce Labs
Selenium and Sauce LabsSelenium and Sauce Labs
Selenium and Sauce Labs
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
 
Test cases and bug report v3.2
Test cases and bug report v3.2Test cases and bug report v3.2
Test cases and bug report v3.2
 
Front-End Testing: Demystified
Front-End Testing: DemystifiedFront-End Testing: Demystified
Front-End Testing: Demystified
 
Agile/Lean Induction
Agile/Lean InductionAgile/Lean Induction
Agile/Lean Induction
 
3Cs for Agile Project Success
3Cs for Agile Project Success3Cs for Agile Project Success
3Cs for Agile Project Success
 
FAIR Data and Model Management for Systems Biology (and SOPs too!)
FAIR Data and Model Management for Systems Biology(and SOPs too!)FAIR Data and Model Management for Systems Biology(and SOPs too!)
FAIR Data and Model Management for Systems Biology (and SOPs too!)
 
DAMA International Symposium San Diego CA 03-17-2008
DAMA International Symposium San Diego CA 03-17-2008DAMA International Symposium San Diego CA 03-17-2008
DAMA International Symposium San Diego CA 03-17-2008
 
The Chief Data Officer's Agenda: What a CDO Needs to Know about Data Quality
The Chief Data Officer's Agenda: What a CDO Needs to Know about Data QualityThe Chief Data Officer's Agenda: What a CDO Needs to Know about Data Quality
The Chief Data Officer's Agenda: What a CDO Needs to Know about Data Quality
 
Real-World Data Governance: Build Your Own Data Governance Tools
Real-World Data Governance: Build Your Own Data Governance ToolsReal-World Data Governance: Build Your Own Data Governance Tools
Real-World Data Governance: Build Your Own Data Governance Tools
 
XStudio
XStudioXStudio
XStudio
 
Pair Programming - a pratical guide
Pair Programming - a pratical guidePair Programming - a pratical guide
Pair Programming - a pratical guide
 
LS 708 Agile Tools for Everyone
LS 708 Agile Tools for EveryoneLS 708 Agile Tools for Everyone
LS 708 Agile Tools for Everyone
 

Similar to Agile & ALM tools

Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
cPrime | Project Management | Agile | Consulting | Staffing | Training
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
Jasmine Conseil
 
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
Product Marketing Services
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
Jérôme Kehrli
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
Sunil Dalal
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Dynatrace
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Michael Palotas
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loop
Wajih Aslam
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
Sunil Dalal
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
cfry
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile ME
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
Denis Santos
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
Dynatrace
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
Andrea Tino
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
Abdullah al Mamun
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
Linards Liep
 
Automating the Quality
Automating the QualityAutomating the Quality
Automating the Quality
Dejan Vukmirovic
 

Similar to Agile & ALM tools (20)

Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
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
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loop
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
 
Automating the Quality
Automating the QualityAutomating the Quality
Automating the Quality
 

More from Larry Cai

Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutes
Larry Cai
 
Learn jobDSL for Jenkins
Learn jobDSL for JenkinsLearn jobDSL for Jenkins
Learn jobDSL for Jenkins
Larry Cai
 
Learn RabbitMQ with Python in 90mins
Learn RabbitMQ with Python in 90minsLearn RabbitMQ with Python in 90mins
Learn RabbitMQ with Python in 90mins
Larry Cai
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90mins
Larry Cai
 
Learn ELK in docker
Learn ELK in dockerLearn ELK in docker
Learn ELK in docker
Larry Cai
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
Larry Cai
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90mins
Larry Cai
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using docker
Larry Cai
 
Build service with_docker_in_90mins
Build service with_docker_in_90minsBuild service with_docker_in_90mins
Build service with_docker_in_90mins
Larry Cai
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutes
Larry Cai
 
Learn Dashing Widget in 90 minutes
Learn Dashing Widget in 90 minutesLearn Dashing Widget in 90 minutes
Learn Dashing Widget in 90 minutes
Larry Cai
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with PythonLarry Cai
 
Jenkins Scriptler in 90mins
Jenkins Scriptler in 90minsJenkins Scriptler in 90mins
Jenkins Scriptler in 90mins
Larry Cai
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutes
Larry Cai
 
Lead changes in software development
Lead changes in software developmentLead changes in software development
Lead changes in software development
Larry Cai
 
Python in 90mins
Python in 90minsPython in 90mins
Python in 90mins
Larry Cai
 
Practical way to experience of Specification by Example
Practical way to experience of Specification by ExamplePractical way to experience of Specification by Example
Practical way to experience of Specification by ExampleLarry Cai
 
Experience from specification_by_examples
Experience from specification_by_examplesExperience from specification_by_examples
Experience from specification_by_examplesLarry Cai
 
Write book in markdown
Write book in markdownWrite book in markdown
Write book in markdown
Larry Cai
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration Introduction
Larry Cai
 

More from Larry Cai (20)

Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutes
 
Learn jobDSL for Jenkins
Learn jobDSL for JenkinsLearn jobDSL for Jenkins
Learn jobDSL for Jenkins
 
Learn RabbitMQ with Python in 90mins
Learn RabbitMQ with Python in 90minsLearn RabbitMQ with Python in 90mins
Learn RabbitMQ with Python in 90mins
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90mins
 
Learn ELK in docker
Learn ELK in dockerLearn ELK in docker
Learn ELK in docker
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90mins
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using docker
 
Build service with_docker_in_90mins
Build service with_docker_in_90minsBuild service with_docker_in_90mins
Build service with_docker_in_90mins
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutes
 
Learn Dashing Widget in 90 minutes
Learn Dashing Widget in 90 minutesLearn Dashing Widget in 90 minutes
Learn Dashing Widget in 90 minutes
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with Python
 
Jenkins Scriptler in 90mins
Jenkins Scriptler in 90minsJenkins Scriptler in 90mins
Jenkins Scriptler in 90mins
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutes
 
Lead changes in software development
Lead changes in software developmentLead changes in software development
Lead changes in software development
 
Python in 90mins
Python in 90minsPython in 90mins
Python in 90mins
 
Practical way to experience of Specification by Example
Practical way to experience of Specification by ExamplePractical way to experience of Specification by Example
Practical way to experience of Specification by Example
 
Experience from specification_by_examples
Experience from specification_by_examplesExperience from specification_by_examples
Experience from specification_by_examples
 
Write book in markdown
Write book in markdownWrite book in markdown
Write book in markdown
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration Introduction
 

Recently uploaded

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 

Recently uploaded (20)

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

Agile & ALM tools

  • 1. Agile & ALM Tools Larry Cai larry.caiyu@gmail.com
  • 2. Profile Larry, an open source, collaboration & Agile evangelist Software Practice Pioneer to discover the best suitable methods and tools to improve the efficiency of software development
  • 3. Agenda ALM (Application Lifecycle Management) tools and Agile in quick view Whether ALM system support Agile software development Does tools really matter ? Does tools improve agile deployment ? One Scrum way to deploy ALM system
  • 4. Reminds before details Does not say open source is the only solution Does not say we solve all the problems using open source tools Open source are better choice ;-)
  • 6. History of Agile Agile practices comes out Collective Ownership Collective Ownership Customer tests Customer tests Continuous integration Continuous integration Prove it With Code Prove it With Code Pair programming Daily short meeting Daily short meeting … … Agile Modeling ….. Extreme Programming SCRUM Feature Driven Development Different agile approach share common agile practices In 2001, form Agile alliance create Agile Manifesto
  • 7. Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org
  • 8. ALM ALM (Application Lifecycle Management) is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management. Source http://www.manning.com/huettermann/
  • 9. ALM in reality (one example) quality build Requirement/tracking management IDE code
  • 10. ALM Tools in Agile
  • 11. Issues in agile development How to change from long integration phase to short iteration and decrease repeating manual work ? How to manage the backlog, tasks, internal TR ? How to do quality control & keep track the work status ? When to do code review ? Can team to have a separate branch ? …
  • 12. Builds – Continuously Integration Basic automation steps in CI Developers commit the codes, trigger the build CI run Compile, Unit level testing (code) CI Acceptance Testing (verification) Feedback to develop team (fail/success) CI changes from big/long integration phase to frequent/short integration. Ref: http://martinfowler.com/articles/continuousIntegration.html
  • 13. Hudson vs. Jenkins Hudson is a de-facto CI standard used for lots of products Easy to start, configure and extending (300+ Jenkins (community) Hudson 1.394 plugins) (Sun + community) Easy to handle your legacy system Hudson (oracle) Since 2011
  • 14. Sonar for java products Numbers to rank the product Visualize the quality result to everyone in CI loop
  • 15. More for CI Key issues Let CI running , ALWAYS Stop if CI turns red More features around it Continuous deployment (Package, Install) Regression testing (System testing) Continuous delivery for SaaS/Cloud system CI’s job is to remove waste for the things can be auto
  • 16. Conclusion 1. CI is fundamental for agile deployment, focus on how to effectively improve it step by step
  • 17. Issue management Requirement management (Planning meeting, Release, Product backlog) – Product owner Task management (Daily standup meeting, sprint backlog) - Team Internal Bugs (trouble report inside sprint) - Team
  • 18. Existing ALM cover issue tracks So far no good ALM system cover them all in excellent way. $ JIRA $ ScrumWorks Pro Trac (Agilo) redmine $ IBM Rational Jazz based $ Intland Codebeamer …
  • 19. Issue management system Redmine is a flexible project management web application for issue management http://www.redmine.org/
  • 21. Requirement What tool supports managing large backlogs ? Use a simple spreadsheet. Not because a spreadsheet is so good; just because it is better than the alternatives - Book : Scaling Lean & Agile Development – Craig Larman/Bas Vodde We usually do this in an Excel document with sharing enabled (i.e. multiple users can edit simultaneously) - Book: Scrum and XP from the Trenches - Henrik Kniberg Source : book - Scrum and XP from the Trenches
  • 22. Task management & BUGS Task on whiteboard Bugs are on yellow sticks on whiteboard , Wiki system, Excel files Source: http://www.infoq.com/minibooks/scrum-xp-from-the-trenches
  • 23. Conclusion 1. CI is fundamental for agile deployment, focus on how to effectively improve it step by step 2. Don’t need to introduce electrical whiteboard in the beginning for agile development, Use e-whiteboard when your team really understand scrum
  • 24. One case – find the changes One feature “Support Winstone” is used in hudson for auto start the web application ? How to do it in clearcase/svn ? How long time ? Find the codes -> Blame (see history) -> Search “Winstone” -> Roll back to history
  • 25. Git overview distributed Git is an open source version control system designed for speed and efficiency Mercurial (hg) is distributed version control system Clearcase, svn are central version control system Initial development by Linus Torvalds Used by e.g. the Linux kernel and Ruby on Rails, Android
  • 26. Code workflow In agile way of working, mostly centralized workflow is used, and ask developers to commit code frequently Git can open more workflow from it (distribution, big refactorying..) Pictures from Pro Git site
  • 28. Code Review What we do code review now ? Post or Pre Extra benefit Mentoring of new developers / contributors Good alternative to pair programming Coding standards (Keep overall readability & code quality high) Modern code review Goal is cooperation, not fault-finding Integral part of coding process Source: Guido van Rossum, code review on the web in 2006 http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf
  • 29. Gerrit Code review Gerrit serves as a git server adding access control and work flow. Gerrit is a Code Review system based on jgit Gerrit designed for collaboration in open source community http://code.google.com/p/gerrit/ Used by Android: https://review.source.android.com/ JGit/Egit: http://egit.eclipse.org/r/ Google, Redhat
  • 30. Standard Gerrit workflow Gerrit master git git change 12 submit accepted git git change 10 change 12 change 23 / separate branch fetch master to get push improved 1. Pull from master branch updates change 10 2. Push (submit) changes to one separate place in gerrit Developer PC 3. Some checks are done in separate branch › Code Review are finished with vote + 2 git › CI verify the codes and vote +1 git 4. Merge to master branch when approved by submitter Source: http://www.slideshare.net/caniszczyk/effective-git-with-eclipse
  • 32. Conclusion 1. CI is fundamental for agile deployment, focus on how to effectively improve it step by step, visible the quality inside CI loop. 2. Don’t need to introduce electrical whiteboard in the beginning for agile development, Use e-whiteboard when your team really understand scrum 3. Tools could promote your agile deployment, new tools like “Git/Gerrit”, it will change your agile thinking
  • 33. Scrum Way to deploy tools
  • 34. Scrum way to deploy tools Define the Vision/Goal Choose open source tools to reduce direct cost but keep the possibility for commercial tools in ALM selection E2E thinking to integrate with different existing system Iteratively (stepwise) introduce this to organization to benefit from beginning Lean thinking Find the bottleneck & waste to prioritize backlog Continuously improvement by retrospective.
  • 35. Tools does matter for agile It is all about the people use tools to support PEOPLE
  • 36. Reference My blog: http://codeslife.com Mail: larry.caiyu@gmail.com (Chinese twitter): http://weibo.com/larrycaiyu (Chinese) Article at “Programmer” : Agile & Tools http://www.programmer.com.cn/8020/
  • 37. Tools discussed in this slides CI: Jenkins (hudson) Quality: Sonar Version control: Git (svn, clearcase) Code review: Gerrit ALM (issues): Redmine Others: github, Balsamiq