SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPTMohit 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 - ALMMarco 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 ManagementHosam 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 OverviewStewart Rogers
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Kaizenko
 
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 ManagementAaron Bjork
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsMoataz 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 WaterfallPrateek Shrivastava
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran 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 methodologiessuwalki24.pl
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Angelin R
 

Tendances (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)
 

En vedette

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 managementnonlinear creations
 
Agile Application Lifecycle Management (ALM)
Agile Application Lifecycle Management (ALM)Agile Application Lifecycle Management (ALM)
Agile Application Lifecycle Management (ALM)Jurgen Appelo
 
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-20Michael Lihs
 
Ci tools Introduce
Ci tools IntroduceCi tools Introduce
Ci tools IntroduceYin-Hong Hsu
 
Selenium and Sauce Labs
Selenium and Sauce LabsSelenium and Sauce Labs
Selenium and Sauce Labshugs
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instrumentsArtem 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.2Andrey Oleynik
 
Front-End Testing: Demystified
Front-End Testing: DemystifiedFront-End Testing: Demystified
Front-End Testing: DemystifiedSeth McLaughlin
 
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 QualityDATAVERSITY
 
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 ToolsDATAVERSITY
 
Pair Programming - a pratical guide
Pair Programming - a pratical guidePair Programming - a pratical guide
Pair Programming - a pratical guideGiuseppe Sorrentino
 
LS 708 Agile Tools for Everyone
LS 708 Agile Tools for EveryoneLS 708 Agile Tools for Everyone
LS 708 Agile Tools for EveryoneDon Bolen
 

En vedette (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
 

Similaire à 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 youAmbientia
 
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.0Jasmine 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 SubversionProduct Marketing Services
 
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 applicationsSunil 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 DeploysDynatrace
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi 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 loopWajih 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 applicationsSunil Dalal
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposalcfry
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
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 DevOpsAgile 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 CarrefourDenis 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 EverythingAndrea Tino
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsLinards Liep
 

Similaire à 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
 

Plus de Larry Cai

Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLarry Cai
 
Learn jobDSL for Jenkins
Learn jobDSL for JenkinsLearn jobDSL for Jenkins
Learn jobDSL for JenkinsLarry Cai
 
Learn RabbitMQ with Python in 90mins
Learn RabbitMQ with Python in 90minsLearn RabbitMQ with Python in 90mins
Learn RabbitMQ with Python in 90minsLarry Cai
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90minsLarry Cai
 
Learn ELK in docker
Learn ELK in dockerLearn ELK in docker
Learn ELK in dockerLarry Cai
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer TalkLarry Cai
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90minsLarry Cai
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using dockerLarry Cai
 
Build service with_docker_in_90mins
Build service with_docker_in_90minsBuild service with_docker_in_90mins
Build service with_docker_in_90minsLarry Cai
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutesLarry Cai
 
Learn Dashing Widget in 90 minutes
Learn Dashing Widget in 90 minutesLearn Dashing Widget in 90 minutes
Learn Dashing Widget in 90 minutesLarry 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 90minsLarry Cai
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesLarry Cai
 
Lead changes in software development
Lead changes in software developmentLead changes in software development
Lead changes in software developmentLarry Cai
 
Python in 90mins
Python in 90minsPython in 90mins
Python in 90minsLarry 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 markdownLarry Cai
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration IntroductionLarry Cai
 

Plus de 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
 

Dernier

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Dernier (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

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