SlideShare uma empresa Scribd logo
1 de 32
An Agile Engineering Environment
          (in 59 minutes or less)


             October 24, 2009


  Presented by: Vernon Stinebaker (   )
Agenda

   Ground rules
   Purpose and expected outcomes
   About the presenter
   An agile engineering environment
   Summary
   Q&A




                                       2
Ground Rules

 Mute   your cell phone
 Participate   – ask and answer questions




                                        Do   Don’t




                                                     3
Purpose and expected outcomes


Purpose:
    – To describe an agile engineering environment and share some
       options for establishing such an environment


Outcomes:
    – Understand many of the key components that can be used to
       establish an agile engineering environment
    – Gain exposure to various tools which can be used to build out an
       agile engineering environment
    – Hopefully everyone will walk away with knowledge of at least one
       new tool (that you can go back and think about putting into use
       on Monday)
About Me

 Vernon Stinebaker (
   http://www.linkedin.com/in/vernonstinebaker
   – Director of Technology/Principal Architect
   – 20+ years software development and process experience
      •   CMMI, SDLC/waterfall, and agile methodologies
   – Certified ScrumMaster/Certified Scrum Practitioner
   – 9+ years experience with Feature Driven Development
   – Founding member of the open source FDD Tools project




                                                             5
About Perficient

  Established  presence in Hangzhou in 2004
  150 people in Hangzhou/1500 across Perficient
  Early adapter of agile methodologies
  17 offices in the US
  Public company (NASDAQ: PRFT)
  20 CSMs in China
  CMMI Level 5 using agile methodology
  Track record of success delivering distributed projects
   using agile




                                                             6
Today’s Focus




  Establishing and Agile Engineering Environment




                                                   7
Agile Engineering Environment




                                8
Agile Engineering Environment

  What   comprises an agile engineering environment?




                                                        8
Agile Engineering Environment

  What   comprises an agile engineering environment?
    – The environment itself




                                                        8
Agile Engineering Environment

  What    comprises an agile engineering environment?
    – The environment itself
       •   Open environment -- bring your screwdriver




                                                         8
Agile Engineering Environment

  What    comprises an agile engineering environment?
    – The environment itself
       •   Open environment -- bring your screwdriver
       •   No walls, open, whiteboards




                                                         8
Agile Engineering Environment

  What    comprises an agile engineering environment?
    – The environment itself
       •   Open environment -- bring your screwdriver
       •   No walls, open, whiteboards
       •   Open minds/open culture




                                                         8
Agile Engineering Environment

  What    comprises an agile engineering environment?
    – The environment itself
       •   Open environment -- bring your screwdriver
       •   No walls, open, whiteboards
       •   Open minds/open culture
    – Tools




                                                         8
Agile Engineering Environment

  What    comprises an agile engineering environment?
    – The environment itself
       •   Open environment -- bring your screwdriver
       •   No walls, open, whiteboards
       •   Open minds/open culture
    – Tools
       •   This is what we’ll focus on today




                                                         8
Agile Engineering Environment

  What    comprises an agile engineering environment?
    – The environment itself
       •   Open environment -- bring your screwdriver
       •   No walls, open, whiteboards
       •   Open minds/open culture
    – Tools
       •   This is what we’ll focus on today
       •   What do you use?




                                                         8
First things first

  If you have a chance to do so, start off right
  If you don’t have a chance to start right, set a plan to
   make things right




                                                              9
Pieces of the puzzle

  Where   do we start?




                          10
Pieces of the puzzle

                             Hudson
                              – Simple, single WAR (JAR)
                                installation
                              – Up and running in one
                                command
                              – Excellent plug-in support
          Co
             ntin             – Advanced features
                 u
            Inte ous         Not
                 gra                the only option
                     tion




                                                            11
Pieces of the puzzle
  Mercurial
    – Distributed version control
    – Works well on-the-go and with distributed teams




                       Ver
                           sion
                                  Co
                                    ntr
                                       ol



  Not   the only option



                                                        12
Pieces of the puzzle



                           IDE




  NetBeans
    – Strong support for a variety of languages
    – Excellent plug-in support for other components presented
    – Looks great on the Mac :-)
  Not   the only option




                                                                 13
Pieces of the puzzle

                          xUnit
           Tes              – The granddaddy of Unit Testing
               t
           Fra ing          – Great IDE support
              me
                 wo
                   rks    Fit/Fitnesse
                            – The granddaddy of Functional
                              Testing
                          Selenium
                            – Solid web-UI testing tool
                            – Recording/scripting capabilities
                          Not   the only options




                                                                 14
Pieces of the puzzle
  Review   Board
    – Web based code review
    – Scalable
    – Works well for distributed Teams
  Not   the only option

                                     Co
                                         de
                                              Rev
                                                 iew




                                                       15
Pieces of the puzzle
  Sonar
    – Integrates numerous open source projects
    – Excellent dashboard
  Not   the only option




             Co
               de
                    Qu
                         alit
                              y


                                                 16
Putting it all together


            Tes
                t
            Fra ing                     IDE
               me
                  wo
                    rks


           Co                   Ver
              ntin                  s                 Co
                  u                  ion                de
             Inte ous                      Co                Rev
                  gra                         ntr               iew
                      tion                       ol



           Co
             de
                  Qu
                       alit
                            y


                                                                      17
More pieces?


   Req               Tes
                         t
      uire
          me         Fra ing                   IDE
            nts         me
                           wo
                             rks


    Tes             Co                 Ver
       tC              ntin                s                    Co
     Ma ase                u                ion                   de
        nag           Inte ous                    Co                   Rev
           em              gra                       ntr                  iew
              ent              tion                     o   l


  Co Proj           Co
    mm ect              de
      uni                    Qu
    (W catio                   alit
      iki)  ns                     y



                                                                                18
A deployment-time view

                                                                              Organizational


                                                                                        Requirements
                                                                                       Management &
                                                                                       Defect Tracking




  Developer's Desktop                 Workgroup/Team                 Organizational


                          DVCS                           DVCS                              DVCS
         IDE
                        (Mercurial)                    (Mercurial)                       (Mercurial)




        Web                CI              Web            CI                Web              CI
       Server           (Hudson)          Server       (Hudson)            Server         (Hudson)




                         Quality                        Quality                            Quality
                         (Sonar)                        (Sonar)                            (Sonar)




                                                                                                         19
Why this toolset?

  Cross platform
  High degree of integration/interoperability
  Scalable
  Supported/rapidly developing
  Simple
    – Require little or no configuration
    – Can be started with just a single command
  They    ‘just work’

  But   don’t forget. There are other options!




                                                  20
A quick demo

  Iftime permits
  Script
    – Mercurial
        •   sudo easy_install mercurial
    – Download hudson.war
        •   nohup java -jar hudson.war &
        •   Verify and add plug-ins -- Mercurial and Sonar
    – Download Sonar
        •   unzip, and change to root of unzipped archive
        •   ./bin/macosx-universal-32/sonar.sh start
    – Download NetBeans, install and run
        •   Create simple Maven app
        •   Configure Hudson in NetBeans
        •   Kick off Hudson build
    – Verify build in Hudson and review Sonar results
                                                             21
 Q&A




        22
References


Tools discussed
   – Hudson -- http://hudson-ci.org/
   – Mercurial -- http://mercurial.selenic.com/wiki/
   – NetBeans -- http://www.netbeans.org
   – JUnit -- http://www.junit.org/
   – Review Board --http://www.reviewboard.org/
   – Sonar -- http://sonar.codehaus.org/
   – Maven -- http://maven.apache.org/
References


Alternatives (one for each, but there are many)
   – CI
      •   Luntbuild -- http://luntbuild.javaforge.com/
   – Version Control
      •   Bazaar -- http://bazaar-vcs.org/en/
   – IDE
      •   IDEA -- http://www.jetbrains.com/idea/index.html
   – Testing Frameworks
      •   TestNG -- http://testng.org/doc/index.html
   – Code Review
      •   Rietveld -- http://code.google.com/p/rietveld/
   – Code Analysis
      •   Checkstyle -- http://checkstyle.sourceforge.net/

Mais conteúdo relacionado

Destaque (6)

Presentation watershed
Presentation watershedPresentation watershed
Presentation watershed
 
Watershed management
Watershed managementWatershed management
Watershed management
 
Remote Sensing PPT
Remote Sensing PPTRemote Sensing PPT
Remote Sensing PPT
 
Use of plastic waste in road construction
Use of plastic waste in road constructionUse of plastic waste in road construction
Use of plastic waste in road construction
 
Environment ppt
Environment pptEnvironment ppt
Environment ppt
 
Save Environment PPT
Save Environment PPTSave Environment PPT
Save Environment PPT
 

Semelhante a Agile Engineering Environment (Agile Tour 2009 Chengdu)

SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA
 

Semelhante a Agile Engineering Environment (Agile Tour 2009 Chengdu) (20)

Optimizing DevOps strategy in a large enterprise
Optimizing DevOps strategy in a large enterpriseOptimizing DevOps strategy in a large enterprise
Optimizing DevOps strategy in a large enterprise
 
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red HatOptimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
 
Velocity 2010: Scalable Internet Architectures
Velocity 2010: Scalable Internet ArchitecturesVelocity 2010: Scalable Internet Architectures
Velocity 2010: Scalable Internet Architectures
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Introduction to OSLC
Introduction to OSLCIntroduction to OSLC
Introduction to OSLC
 
Development Environment Tips
Development Environment TipsDevelopment Environment Tips
Development Environment Tips
 
ANIn Pune March 2023 | XP 2023 – XP Where Are You? by Christian Hujer
ANIn Pune March 2023 | XP 2023 – XP Where Are You? by Christian HujerANIn Pune March 2023 | XP 2023 – XP Where Are You? by Christian Hujer
ANIn Pune March 2023 | XP 2023 – XP Where Are You? by Christian Hujer
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Container Soup for Your Soul: The Microservice Edition, Building Deployment ...
 Container Soup for Your Soul: The Microservice Edition, Building Deployment ... Container Soup for Your Soul: The Microservice Edition, Building Deployment ...
Container Soup for Your Soul: The Microservice Edition, Building Deployment ...
 
SDLC Smashup
SDLC SmashupSDLC Smashup
SDLC Smashup
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
 
Lean Kanban India 2015 | Branching for Continuous Delivery? Think Again! | De...
Lean Kanban India 2015 | Branching for Continuous Delivery? Think Again! | De...Lean Kanban India 2015 | Branching for Continuous Delivery? Think Again! | De...
Lean Kanban India 2015 | Branching for Continuous Delivery? Think Again! | De...
 
Applying the Unix Philosophy to Django projects: a report from the real world
Applying the Unix Philosophy to Django projects: a report from the real worldApplying the Unix Philosophy to Django projects: a report from the real world
Applying the Unix Philosophy to Django projects: a report from the real world
 
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared ContextSwitch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
 
Rolling Out An Enterprise Source Code Review Program
Rolling Out An Enterprise Source Code Review ProgramRolling Out An Enterprise Source Code Review Program
Rolling Out An Enterprise Source Code Review Program
 
DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1DockerCon SF 2015: Keynote Day 1
DockerCon SF 2015: Keynote Day 1
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 

Mais de Vernon Stinebaker

Agile 101 Agile Essentials In The Scrum Framework
Agile 101 Agile Essentials In The Scrum FrameworkAgile 101 Agile Essentials In The Scrum Framework
Agile 101 Agile Essentials In The Scrum Framework
Vernon Stinebaker
 

Mais de Vernon Stinebaker (17)

Building real value from your coaching certification
Building real value from your coaching certificationBuilding real value from your coaching certification
Building real value from your coaching certification
 
Leader as coach
Leader as coachLeader as coach
Leader as coach
 
Leadership in a VUCA world
Leadership in a VUCA worldLeadership in a VUCA world
Leadership in a VUCA world
 
Agile engineering environment 50 minutes or less
Agile engineering environment   50 minutes or lessAgile engineering environment   50 minutes or less
Agile engineering environment 50 minutes or less
 
Agile leadership beyond the development team
Agile leadership beyond the development teamAgile leadership beyond the development team
Agile leadership beyond the development team
 
Agile organizations and transformation
Agile organizations and transformationAgile organizations and transformation
Agile organizations and transformation
 
Scrum for business (seattle scrum gathering 2011)
Scrum   for business (seattle scrum gathering 2011)Scrum   for business (seattle scrum gathering 2011)
Scrum for business (seattle scrum gathering 2011)
 
Agile values
Agile valuesAgile values
Agile values
 
Continuous improvement
Continuous improvementContinuous improvement
Continuous improvement
 
Healthy Scrum - The Agile Heartbeat
Healthy Scrum - The Agile HeartbeatHealthy Scrum - The Agile Heartbeat
Healthy Scrum - The Agile Heartbeat
 
Agile 101 Agile Essentials In The Scrum Framework
Agile 101 Agile Essentials In The Scrum FrameworkAgile 101 Agile Essentials In The Scrum Framework
Agile 101 Agile Essentials In The Scrum Framework
 
Essential Elements Of Distributed Agile
Essential Elements Of Distributed AgileEssential Elements Of Distributed Agile
Essential Elements Of Distributed Agile
 
Agile Modeling In Color (Agile China 2009)
Agile Modeling In Color (Agile China 2009)Agile Modeling In Color (Agile China 2009)
Agile Modeling In Color (Agile China 2009)
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Outsourcing With Agile
Outsourcing With AgileOutsourcing With Agile
Outsourcing With Agile
 
Realizing CMMI Spirit in Agile Form
Realizing CMMI Spirit in Agile FormRealizing CMMI Spirit in Agile Form
Realizing CMMI Spirit in Agile Form
 
Agile And Cmmi
Agile And CmmiAgile And Cmmi
Agile And Cmmi
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Agile Engineering Environment (Agile Tour 2009 Chengdu)

  • 1. An Agile Engineering Environment (in 59 minutes or less) October 24, 2009 Presented by: Vernon Stinebaker ( )
  • 2. Agenda  Ground rules  Purpose and expected outcomes  About the presenter  An agile engineering environment  Summary  Q&A 2
  • 3. Ground Rules  Mute your cell phone  Participate – ask and answer questions Do Don’t 3
  • 4. Purpose and expected outcomes Purpose: – To describe an agile engineering environment and share some options for establishing such an environment Outcomes: – Understand many of the key components that can be used to establish an agile engineering environment – Gain exposure to various tools which can be used to build out an agile engineering environment – Hopefully everyone will walk away with knowledge of at least one new tool (that you can go back and think about putting into use on Monday)
  • 5. About Me Vernon Stinebaker ( http://www.linkedin.com/in/vernonstinebaker – Director of Technology/Principal Architect – 20+ years software development and process experience • CMMI, SDLC/waterfall, and agile methodologies – Certified ScrumMaster/Certified Scrum Practitioner – 9+ years experience with Feature Driven Development – Founding member of the open source FDD Tools project 5
  • 6. About Perficient  Established presence in Hangzhou in 2004  150 people in Hangzhou/1500 across Perficient  Early adapter of agile methodologies  17 offices in the US  Public company (NASDAQ: PRFT)  20 CSMs in China  CMMI Level 5 using agile methodology  Track record of success delivering distributed projects using agile 6
  • 7. Today’s Focus Establishing and Agile Engineering Environment 7
  • 9. Agile Engineering Environment  What comprises an agile engineering environment? 8
  • 10. Agile Engineering Environment  What comprises an agile engineering environment? – The environment itself 8
  • 11. Agile Engineering Environment  What comprises an agile engineering environment? – The environment itself • Open environment -- bring your screwdriver 8
  • 12. Agile Engineering Environment  What comprises an agile engineering environment? – The environment itself • Open environment -- bring your screwdriver • No walls, open, whiteboards 8
  • 13. Agile Engineering Environment  What comprises an agile engineering environment? – The environment itself • Open environment -- bring your screwdriver • No walls, open, whiteboards • Open minds/open culture 8
  • 14. Agile Engineering Environment  What comprises an agile engineering environment? – The environment itself • Open environment -- bring your screwdriver • No walls, open, whiteboards • Open minds/open culture – Tools 8
  • 15. Agile Engineering Environment  What comprises an agile engineering environment? – The environment itself • Open environment -- bring your screwdriver • No walls, open, whiteboards • Open minds/open culture – Tools • This is what we’ll focus on today 8
  • 16. Agile Engineering Environment  What comprises an agile engineering environment? – The environment itself • Open environment -- bring your screwdriver • No walls, open, whiteboards • Open minds/open culture – Tools • This is what we’ll focus on today • What do you use? 8
  • 17. First things first  If you have a chance to do so, start off right  If you don’t have a chance to start right, set a plan to make things right 9
  • 18. Pieces of the puzzle  Where do we start? 10
  • 19. Pieces of the puzzle  Hudson – Simple, single WAR (JAR) installation – Up and running in one command – Excellent plug-in support Co ntin – Advanced features u Inte ous  Not gra the only option tion 11
  • 20. Pieces of the puzzle  Mercurial – Distributed version control – Works well on-the-go and with distributed teams Ver sion Co ntr ol  Not the only option 12
  • 21. Pieces of the puzzle IDE  NetBeans – Strong support for a variety of languages – Excellent plug-in support for other components presented – Looks great on the Mac :-)  Not the only option 13
  • 22. Pieces of the puzzle  xUnit Tes – The granddaddy of Unit Testing t Fra ing – Great IDE support me wo rks  Fit/Fitnesse – The granddaddy of Functional Testing  Selenium – Solid web-UI testing tool – Recording/scripting capabilities  Not the only options 14
  • 23. Pieces of the puzzle  Review Board – Web based code review – Scalable – Works well for distributed Teams  Not the only option Co de Rev iew 15
  • 24. Pieces of the puzzle  Sonar – Integrates numerous open source projects – Excellent dashboard  Not the only option Co de Qu alit y 16
  • 25. Putting it all together Tes t Fra ing IDE me wo rks Co Ver ntin s Co u ion de Inte ous Co Rev gra ntr iew tion ol Co de Qu alit y 17
  • 26. More pieces? Req Tes t uire me Fra ing IDE nts me wo rks Tes Co Ver tC ntin s Co Ma ase u ion de nag Inte ous Co Rev em gra ntr iew ent tion o l Co Proj Co mm ect de uni Qu (W catio alit iki) ns y 18
  • 27. A deployment-time view Organizational Requirements Management & Defect Tracking Developer's Desktop Workgroup/Team Organizational DVCS DVCS DVCS IDE (Mercurial) (Mercurial) (Mercurial) Web CI Web CI Web CI Server (Hudson) Server (Hudson) Server (Hudson) Quality Quality Quality (Sonar) (Sonar) (Sonar) 19
  • 28. Why this toolset?  Cross platform  High degree of integration/interoperability  Scalable  Supported/rapidly developing  Simple – Require little or no configuration – Can be started with just a single command  They ‘just work’  But don’t forget. There are other options! 20
  • 29. A quick demo  Iftime permits  Script – Mercurial • sudo easy_install mercurial – Download hudson.war • nohup java -jar hudson.war & • Verify and add plug-ins -- Mercurial and Sonar – Download Sonar • unzip, and change to root of unzipped archive • ./bin/macosx-universal-32/sonar.sh start – Download NetBeans, install and run • Create simple Maven app • Configure Hudson in NetBeans • Kick off Hudson build – Verify build in Hudson and review Sonar results 21
  • 30.  Q&A 22
  • 31. References Tools discussed – Hudson -- http://hudson-ci.org/ – Mercurial -- http://mercurial.selenic.com/wiki/ – NetBeans -- http://www.netbeans.org – JUnit -- http://www.junit.org/ – Review Board --http://www.reviewboard.org/ – Sonar -- http://sonar.codehaus.org/ – Maven -- http://maven.apache.org/
  • 32. References Alternatives (one for each, but there are many) – CI • Luntbuild -- http://luntbuild.javaforge.com/ – Version Control • Bazaar -- http://bazaar-vcs.org/en/ – IDE • IDEA -- http://www.jetbrains.com/idea/index.html – Testing Frameworks • TestNG -- http://testng.org/doc/index.html – Code Review • Rietveld -- http://code.google.com/p/rietveld/ – Code Analysis • Checkstyle -- http://checkstyle.sourceforge.net/