SlideShare a Scribd company logo
1 of 106
Download to read offline
Agile Tool Hacking:
 Taking Your Agile Development
 Tools To The Next Level

   Craig Smith        Dr Paul King
   Suncorp                 ASERT
Overview




Welcome




          Images: http://1.bp.blogspot.com/_FNT-_PKRcfs/R-uigRW64pI/AAAAAAAAA7M/iLGM-vOzlRM/s400/vegemite.jpg
          http://www.sciencenews.net.au/images/kangaroo-and-baby-joey1.jpg        http://www.vtxpress.com/tripleheader-fluke-rigs/knife.jpg   I
          http://www.sail-world.com/photos/Alt_AustraliaII.jpg http://geology.com/world/map/map-of-australia.gif
According to the
                                                                                   Compact Oxford
                                                                                   Dictionary:

                                                                                   Tool (noun)
                                                                                   1. a device or implement
                                                                                      used to carry out a
                                                                                      particular function.
                                                                                   2. a thing used to help
                                                                                      perform a job.
                                                                                   3. a person used by another.



Image: http://i.ehow.com/images/GlobalPhoto/Articles/2065416/dictionary_Full.jpg
Image http://blog.theworkinggroup.ca/wp-content/uploads/2009/04/agile-manifesto1.gif




                                   Agile Manifesto on Tools…
Image http://i.pbase.com/g3/64/559164/2/55171028.Pictures0588047R103315.jpg   http://www.design-industry.com.au/en/wp-content/uploads/2007/07/fridge_01_400x400.jpg




                                Refridgerators vs Radiators
Image http://3.bp.blogspot.com/_qUcuMWvDsac/SLP8WaIAawI/AAAAAAAAA7U/OC_RU-BlB0M/s400/IMG_2682.jpg




                             Refridgerators vs Radiators
Image Beck, Kent – Extreme Programming Explained: Embrace Change




                                  XP Practices over Tooling
Image http://blogs.conchango.com/Admin/ImageGallery/blogs.conchango.com/Colin.Bird/Scrum%20Overview%20Diagram.png




                          Scrum Practices over Tooling
Concept                               Initiate                         Deliver             Deploy

                                                          Storycards & iteration management

                                                                               Collaboration

                                                                                                     Development environments

                                                                                                     Development tools

                                                                                                                Testing

                                                                                                       Continuous integration

                                                                                                                          Deployment

                                                                                                                             Monitoring
Image http://3.bp.blogspot.com/_H0iqHTCqRyo/RfQyLHm8POI/AAAAAAAAABQ/-ZGsV-p-aVs/s400/evolution.jpg




                                           Tools Usage Timeline
Tools
Hacking

 Think
Simple!


          Image http://www.appart.com/Blog/image.axd?picture=2009%2F6%2Fmacgyver.jpg
Tools
Hacking

 Great
 Team


          Image http://www.collider.com/uploads/imageGallery/A_Team/the_a-team_nbc_tv_show_image__1_.jpg
Storycards & iteration
                                                                                      management
                                                                           Storycards:
                                                                            Promise for a conversation
                                                                            INVEST
                                                                            Defect tracking
                                                                           Iteration / Release / Project tracking:
                                                                            Prioritised backlog
                                                                            Iteration story wall
                                                                            Burn-up & burn down charts
                                                                            Metrics / Velocity
                                                                            Estimation
Images http://www.concordion.org/image/example/online-shop/StoryCard.png
http://www.ugleah.com/img/2009/burndown_chart.gif
Stories
    &
Iterations

The Manual
   Way

             Images http://www.selfishprogramming.com/wp-content/uploads/2008/10/building-kanban-board.jpg
              http://ssmirnov.files.wordpress.com/2009/02/still-life.jpg
Example Storycards & iteration
          management tools
Open Source / Free:
 XPlanner: http://www.xplanner.org
 Agilefant: http://www.agilefant.org
 IceScrum: http://www.icescrum.org
 Agilo: http://www.agile42.com/cms/pages/agilo/
Commercial:
 Jira + GreenHopper
     http://www.atlassian.com/software/jira/
     http://www.atlassian.com/greenhopper/
 Mingle: http://studios.thoughtworks.com/
   mingle-agile-project-management
 VersionOne: http://www.versionone.com/
 Rally: http://www.rallydev.com
Iteration Tool Maturity
     Beginner               Intermediate              Advanced

     Start with a          Introduce tool if:     Connect tools eg.
  manual story wall        Team members /            IDE, VCS
(index cards, markers    stakeholders remote
     & stickies)        Reporting requirements    Extend tool with
                           Easier stats / BVC    0wn / community /
Keep manual BVC’s                                commercial plugins
  & burn charts           Keep a manual wall
                           of relevant level     Electronic estimation
Breakdown stories &                                   & planning
 estimates (INVEST)     Manual planning poker
Agilo
Mingle
Jira + GreenHopper
Hacking Jira: know the features
Hacking tool integration
Hacking planning poker
Collaboration

                                                                              Team:
                                                                               Daily Scrum / Standup
                                                                               Retrospective
                                                                               Kickoff / Demo / Showcase
                                                                               Collective team ownership
                                                                               Pair Programming
                                                                              Output:
                                                                               Project Documentation
                                                                               Email / telephone / IM

Images http://fabiopereira.me/blog/wp-content/uploads/2008/11/walldc93a7f3-
2d9d-4525-8301-d40ad993e66f.jpg
http://www.idea.gov.uk/idk/aio/8172457
Collaboration

The Manual
   Way
Example Collaboration Tools
Open Source / Free:
 MediaWiki: http://www.mediawiki.org
 Open Atrium: http://openatrium.com/
 Google Docs: http://docs.google.com
 Skype: http://www.skype.com
 Eclipse Communications Framework
    (D0cShare): http://www.eclipse.org/ecf/

Commercial:
 Confluence: http://www.atlassian.com/
     software/confluence/
 SharePoint / Office Communicator:
      http://sharepoint.microsoft.com
 PBWorks: http://pbworks.com
Collaboration Tool Maturity
       Beginner               Intermediate            Advanced
Basic agile / XP / Scrum:   Combined kickoff /      Connect tools eg.
 Daily scrum / standup,      retrospective for   iteration management,
     retrospective,            small projects           build tools
    kickoff / demo /
        showcase               Advanced XP         Extend tool with
                             techniques: pair
                            programming, team     0wn / community /
  Basic wiki / shared
document environment            ownership         commercial plugins

    Digital camera /          Intranet / CMS          Distributed
      whiteboard                 capability          collaboration

                             Wiki gardening
Confluence
SharePoint
Eclipse DocShare
IntelliJ Code Consultant
Hacking Wiki + Iteration Mgmt
Hacking Distributed Retros
Hacking Intranets (Atrium)
Development
                                                            Environments
                                                  Developers:
                                                   Pragmatic programmers
                                                   Continuous improvement
                                                   Efficient / repeatable
                                                  Outcomes:
                                                   Co-location
                                                   Productive hardware
                                                   Consistent environments
                                                   Scripted machine builds
Image http://imgs.xkcd.com/comics/compiling.png


                                                   Environment testing
 http://api.ning.com/files/mc-
mk7rMBrQx2Jpql3boKhn9N2cHmubcFN6hyDrikT8FIz-
2EhEwcbpzSWjqQ8VdjxBVgOTgSs31-
sL2oBoifORkpQ680Iu0/appleiphonesdklogo.jpg
Development
Environments

The Manual
   Way


               Image http://www.xtrasens.com/support/manual/install%20flow.png
               http://img.dailymail.co.uk/i/pix/2007/07_01/hammerDM0607_468x584.jpg
Example Environment Tools

Open Source / Free:
 VirtualBox: http://www.virtualbox.org
 NSIS: http://nsis.sourceforge.net
 Linux distributions (various)
     http://www.linux.org
     http://distrowatch.com


Commercial:
 VMWare: http://www.vmware.com
 Cloud computing options
     http://code.google.com/appengine/
     http://aws.amazon.com/ec2/
     http://github.com
Environment Tool Maturity
      Beginner                 Intermediate                 Advanced

    Instructions for        Automated builds for       Automated build for
                          application environments     developer machines
building environments
manually / consistently
                          Automated environment       Testers, team members
                             tests on demand         using similar environment
  Plan for pragmatic
programmer techniques
                            Required hardware /          Consider cloud
                                  software           computing opportunities
   Manual tests for
checking environments
                           Physical environment       Zero cubicles, pairing
                               renovations             stations, breakout /
   Co-located team                                          team area
VMWare
Google App Engine
Physical Environment
Hacking Dev. Machine Builds
Hacking Corporate SOE
Development Tools

                                                                Developers:
                                                                 Craftsmanship / clean code
                                                                 Quality non-negotiable
                                                                Tool Types:
                                                                 Integrated Development
                                                                  Environment (IDE)
                                                                 Database SQL clients
                                                                 Version control
                                                                 Web Service / SOAP tools
                                                                 File & operating system tools
Image http://www.cornetdesign.com/images/bowling_all2s.jpg
                                                                 Metrics
http://cybernetnews.com/wp-content/uploads/2007/07/hacker.jpg
Development
Environments

The Manual
   Way


               Image http://www.domainlanguage.com/_library/images_people_working/designing_at_whiteboard.jpg
               http://4.bp.blogspot.com/_9kQQgQD35rY/SaV5p8YBGhI/AAAAAAAAAkg/HOvlhIo7yGI/s1600-
               h/06_Red_Green_Refactor.JPG
Example Development Tools

Open Source / Free:
IDE’s (multiple language support)
 Eclipse: http://www.eclipse.org
 NetBeans: http://www.netbeans.org
 SharpDevelop: http://www.icsharpcode.net
 RadRails: http://www.aptana.com/rails
 Visual Studio Express:
    http://www.microsoft.com/express/
Database Clients
 DBVisualizer: http://www.dbvis.com/
 SQuirreL: http://squirrel-sql.sourceforge.net
Web Service / SOAP Tools
 soapUI: http://www.soapui.org
Example Development Tools

Open Source / Free:
Version Control Systems
 Subversion: http://subversion.tigris.org
 Git: http://git-scm.com
 Bazaar: http://bazaar-vcs.org
 Mercurial: http://mercurial.selenic.com
File & operating system tools
 PowerShell: http://www.microsoft.com/
    windowsserver2003/technologies/
    management/powershell/default.mspx fish:
   http://fishshell.org
 Cygwin: http://www.cygwin.com
 Miscellaneous OS tools
Example Development Tools

Open Source / Free:
Metrics
 Checkstyle: http://checkstyle.sourceforge.net
 StyleCop: http://code.msdn.microsoft.com/
    sourceanalysis
   FindBugs: http://findbugs.sourceforge.net
   PMD: http://pmd.sourceforge.net
   Cobertura: http://cobertura.sourceforge.net
   JDepend:
     http://clarkware.com/software/JDepend.html
 Panopticode: http://www.panopticode.org
 CodeCity: http://www.inf.unisi.ch/phd/wettel/
     codecity.html
Example Development Tools
Commercial:
IDE’s (multiple language support)
 IntelliJ IDEA / RubyMine / ReSharper:
    http://www.jetbrains.com/
 Visual Studio:
    http://www.microsoft.com/visualstudio
Web Service / SOAP Tools
 Oxygen: http://www.oxygenxml.com/
Metrics
 Clover: http://www.atlassian.com/software/
      clover
 Simian: http://www.redhillconsulting.com.au
Profilers
 YourKit: http://www.yourkit.com
Development Tool Maturity
      Beginner                Intermediate                Advanced

Usage of IDE with team       Mastery of IDE          Mastery of advanced
    agreed setup          keystrokes / features /    IDE features / plugin
                                 plugins                development
 Awareness / use of                                  Usage of advanced
 basic tools / metrics    Team commitment to
                         react to metrics output    metrics tools & features
Use of version control                               Usage of distributed
                           Usage of advanced
                         version control features      version control
Team understanding of
       quality                                      Advanced clean code /
                         Quality non-negotiable /
                                                     software craftsman
                                clean code
Image http://alagad.com/upload/intellij_tests_21.gif
                                                       IntelliJ
Clover
Image http://www.inf.unisi.ch/phd/wettel/codecity-wof.html
                                                             Code City
Hacking IDE Plugins
Hacking RYO IDE Plugins
• d




Hacking VCS: FishEye/SVNStat
Testing Tools

                                                                       Testers:
                                                                        Automate
                                                                        Continuous feedback
                                                                        Bridge communication gaps
                                                                       Tool types:
                                                                        Test specification generation
                                                                        Test execution / record / log
                                                                        Test user interfaces
                                                                        Performance test
                                                                        Test / incident management
Image http://blogs.msdn.com/blogfiles/willy-
peter_schaub/WindowsLiveWriter/VSTSRangersProjectsWCFLoadTestToo.0Sh
ips_7D80/CLIPART_OF_13165_SM_2.jpg
http://2.bp.blogspot.com/_U08AbEz5lx4/Ra9UkCi4EeI/AAAAAAAAAAY/vLpsqL
                                                                        Reporting
3uqE0/s320/swisstoolcsopen.jpg
Testing

The Manual
   Way


             Image http://tell.fll.purdue.edu/JapanProj/FLClipart/Verbs/understand.gif
             http://thedailystandup.com/wp-content/uploads/2008/12/istock_000004776276xsmall.jpg
Example Testing Tools
Open Source / Free:
Test Specification – xUnit Tools
 JUnit: http://www.junit.org
 Nunit: http://www.nunit.org
Test Specification Tools – Expressive/BDD
 Spock: http://code.google.com/p/spock/
 FitNesse: http://fitnesse.org
 Concordion: http://www.concordion.org
 Cucumber: http://cukes.info
 easyb: http://www.easyb.org
Test Specification Tools – Mocking
 NMock: http://www.nmock.org
 EasyMock: http://easymock.org
Example Testing Tools
Open Source / Free:
Test Execution / Record / Log / UI
 Selenium: http://seleniumhq.org
 Watir: http://wtr.rubyforge.org
 Tellurium: http://kenai.com/projects/tellurium
 WebTest: http://webtest.canoo.com
Performance Test
 JMeter: http://jakarta.apache.org/jmeter/
 Grinder: http://grinder.sourceforge.net/
Test Management
 Radi: http://radi-testdir.sourceforge.net
 RTH: http://sourceforge.net/projects/rth/
Example Testing Tools

Commercial:
Test Execution / Record / Log / UI
 Twist: http://studios.thoughtworks.com/
      twist-agile-test-automation
 GreenPepper:
      http://www.greenpeppersoftware.com/en/
 Squish: http://www.froglogic.com
Integrated
 HP Quality Center / QTP / LoadRunner:
     https://h10078.www1.hp.com/cda/hpms/
      display/main/hpms_home.jsp
      ?zn=bto&cp=1_4011_100__
 SpiraTest: http://www.inflectra.com/SpiraTest/
Testing Tool Maturity
                 Beginner                                        Intermediate               Advanced

       Automated developer                                        Test driven          100% test coverage
            unit tests                                           development           (unit / acceptance /
                                                                                            functional)
         Some automated                                     BDD / mock testing
      acceptance / functional                                                           Developer / tester
              tests                                       Automated regression          pair programming
                                                           tests – new / legacy
       Developers / testers                                                          Automated performance
      working together plus                              All tests run in CI build    testing with functional
      combined definition of                              (unit / acceptance /               test reuse
              done                                              functional)
                                                                                        Risk based testing
          Usage of GUI test                               Usage of expressive /
               robots                                         DSL testing



Based on Elements of Enterprise CI
http://www.anthillpro.com/html/resources/elements_of_ci_A4.pdf
Quality Center
Selenium
NUnit
Hacking JMeter
Hacking Performance Tests
Hacking Expressive Tests
Continuous Integration

                                                   Advantages:
                                                    Early warning
                                                    Consistent test / integrate
                                                    Centrepiece for quality
                                                   Practices:
                                                    Version control / automated
                                                      build / automated test
                                                    Commit early & often
                                                    Fast feedback
                                                    Visible / audible results
                                                    Artefacts
Image http://www.michaelfransen.com/wp-
content/uploads/2008/02/wheresthebuild-small.jpg
Continuous
Integration

The Manual
   Way


              Image http://farm4.static.flickr.com/3122/3121915858_06a783e594.jpg?v=0
              http://www.michaelfransen.com/wp-content/uploads/2008/02/wheresthebuild-small.jpg
Example Continuous Integration
  Tools

Open Source / Free:
Continuous Integration Servers
 Hudson: https://hudson.dev.java.net
 Cruise Control:
     http://cruisecontrol.sourceforge.net
Build Tools
 Ant: http://ant.apache.org
 Nant: http://nant.sourceforge.net
 Maven: http://maven.apache.org
 Gradle: http://www.gradle.org
Example Continuous Integration
  Tools

Open Source / Free :
Dependency / Repositories
 Nexus: http://nexus.sonatype.org
 Archiva: http://archiva.apache.org
 Ivy: http://ant.apache.org/ivy

Commercial:
 Bamboo:
     http://www.atlassian.com/software/bamboo/
 Cruise: http://studios.thoughtworks.com/
     cruise-continuous-integration
 TeamCity: http://www.jetbrains.com/teamcity
Continuous Integration Maturity
      Beginner                Intermediate                  Advanced
 Implementation of          Implementation of        Usage of build clusters /
  core build steps       continuous integration       slaves / VM snapshots
                         server to auto-run build
 Frequent check-in to                               Dependency management
version control system      Dedicated build           & internal repository
                               machine
 Adequate hardware
    to run build         Advanced / refactored /    High frequency check-in
                             multiple builds           to version control
Team commitment to                                           system
 fixing broken builds     Broken build alerts &
                            team procedures          Builds for environment /
                                                      project impediments
Hudson
Hudson Plugins
Nexus
Hacking CI Data Migration
Hacking Hudson / Scoreboard
Hudson Swarms                            Plugin Growth
> java -jar swarm-client-jar-with-
dependencies.jar
Continuous Integration Game Plugin




Jira Plugin


Amazon EC2 Plugin




                                     Image http://weblogs.java.net/blog/kohsuke




                 Hacking Hudson Plugins
Deployment Tools
                                                                        Advantages:
                                                                         Repeatable from development
                                                                           to Production
                                                                         No “fight night” surprises
                                                                        Practices:
                                                                         Automated deployment script
                                                                         Environment management
                                                                         Environment tokens
                                                                         Automated & manual steps
                                                                         Smoke test / confirmation
Image http://www.serena.com/images/products/dimensions-deploy/deploy-
illustration2-286-23.jpg
 http://ciadvantage.com/cs/photos/storage/ctd.gif
Deployment

The Manual
   Way


             Image http://www.thekua.com/rant/wp-content/uploads/2006/03/RetrospectiveTimelineEvents.jpg
             http://farm4.static.flickr.com/3645/3340381990_fa9f004e5b.jpg
Example Deployment Tools

Open Source / Free:
 Roll your own (scripts / build / CI server)
 Cargo: http://cargo.codehaus.org
 Capistrano: http://www.capify.org
 SmartFrog: http://www.smartfrog.org

Commercial:
 Tableaux: http://www.incanica.com
 IBM Rational Suite:
      http://www-01.ibm.com/software/rational/
 BMC BladeLogic: http://www.bmc.com/
     products/offering/bmc-bladelogic-application-
     release-manager.html
Deployment Tool Maturity
                 Beginner                                        Intermediate           Advanced

       Documented manual                                     Fully scripted        Usage of deployment
      deployment & rollback                              deployment & rollback     tool (roll your own /
        process / checklist                                where applicable           open source /
                                                                                      commercial)
        Documented manual                                   Roll your own basic
           smoke tests                                      deployment to test    Repeatable deployment
                                                            environments using      to all environments
          Automated helper                                        CI server             (tokenized)
               scripts
                                                           Repeatable build for   Automated production
                                                            “go-live” processes     deployment (push
                                                                                   button or automatic)




Based on Elements of Enterprise CI
http://www.anthillpro.com/html/resources/elements_of_ci_A4.pdf
Tableaux
Tableaux Tokens
Tableaux Deployment
#/bin/bash

SCRIPT_DIR=`dirname $0`
. $SCRIPT_DIR/setup.sh

HOST=$1
PORT=$2
ACTION=$3

URLS=("gi/underwriting/ncd/calculator?brand=wally"
  "gi/underwriting/ncd/service/ws/GiNcdService?wsdl")

[ "${ACTION}" == "Test Installation" ] && {
   echo "Running test of the installation";
   TMPFILE=/tmp/wgetresult.$$
   for i in "${URLS[@]}"; do
      echo wget --no-proxy http://${HOST}:${PORT}/${i} >$TMPFILE 2>&1
      wget --no-proxy http://${HOST}:${PORT}/${i} >$TMPFILE 2>&1

      RESULT=`grep '200 OK' $TMPFILE`
              echo RESULT is [ $RESULT ]
              if [ -z "$RESULT" ] ; then
                  echo "ERROR: NCD ${i} did not start"
                  exit 1
              else
                  echo "SUCCESS: NCD ${i} started OK"
              fi
              rm $TMPFILE
  done;
exit 0;
}




                           Hacking Manual Scripts
[...]
<configuration>
  <container>
                                                                  > mvn cargo:deploy
     <containerId>tomcat5x</containerId>
     <type>remote</type>
   </container>
  <configuration>
    <type>runtime</type>
    <properties>
       <cargo.remote.username>username</cargo.remote.username>
       <cargo.remote.password>password</cargo.remote.password>
    </properties>
 </configuration>
<deployer>
  <type>remote</type>
  <deployables>
    <deployable>
      <groupId>war group id</groupId>
      <artifactId>war artifact id</artifactId>
      <type>war</type>
      <properties>
        <context>optional root context</context>
      </properties>
      <pingURL>opt. url to ping to know deployed</pingURL>
      <pingTimeout>opt. timeout (default 20000ms)</pingTimeout>
    </deployable>
    [...]



                            Hacking RYO Cargo
Cucumber Feature
Feature: Deployment
 In order to use the latest version of testApp
 A support officer should be able to
 Check that testApp.war has been deployed to the remote machine

Scenario: User deploys
 Given app testApp
 When I deploy
 Then the testApp.war file should be deployed to remote
 Cucumber / Capistrano Step Definition
[...]
When /^I deploy$/ do
  Dir.chdir(@app_dir) do
    system "cap deploy:setup"
    system "cap deploy"
  end
end

Then /^ the testApp.war file should be deployed
to remote$/ do
[...]


                 Hacking Deployment Tests
Monitoring Tools
                                                                               Advantages:
                                                                                Visible status of assets
                                                                                Pro-active maintenance
                                                                               Practices:
                                                                                Environment monitoring
                                                                                Process confirmation
                                                                                Fault monitoring
                                                                                Configuration monitoring
                                                                                Security monitoring
                                                                                Accounting monitoring
Image
http://www.monitoringsoftwareonline.com/files/QuickSiteImages/computer_plus_
                                                                                Log monitoring
                                                                                            Image http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png
magnifying.jpg
 http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png
Monitoring

The Manual
   Way


             Image http://upload.wikimedia.org/wikipedia/commons/5/52/Unix-process-list.png
              http://www.petri.co.il/images/virtual_vmware_files_explained_03.jpg
              http://trubke.net/_nw/1/17916.png
Example Monitoring Tools

Open Source / Free:
 Roll your own (scripts / CI server)
 Cacti: http://www.cacti.net
 Zabbix: http://www.zabbix.com
 Nagios: http://www.nagios.org
 Monit: http://mmonit.com/monit/

Commercial:
 Splunk: http://www.splunk.com
 IBM Tivoli: http://www.ibm.com/software/tivoli
 Hyperic: http://www.hyperic.com
 NetIQ: http://www.netiq.com
Monitoring Tool Maturity
        Beginner                  Intermediate                Advanced

 Base level / centralised      Roll your own basic      Usage of monitoring
  monitoring on critical         monitoring for           tools at all levels
       components               processes / logs /      including application
(eg. hardware, operating        environments at                  level
   system, web server,          application level
        database)                                      Monitoring alert process
                                  Refactored logs
  Useful logs (logging          (central location,       Visual display of
levels, log rolling, known      redundant details      monitoring tool / status
  support procedures)            fixed / removed)
                                                       Monitoring of advanced
Ad-hoc usage of tools /      Ad-hoc usage of tools /   items (eg. configuration,
   procedures for                procedures for              accounting)
  reactive support             proactive support
Tivoli
Cacti
Splunk
Hacking RYO Visual Monitoring
2009-07-14 17:10:00,028 [ERROR,au.com.suncorp.ldocs.web.AbstractAction] Unhandled exception caught in action: null
java.lang.NullPointerException
                at au.com.suncorp.ldocs.web.RetrieveSADSAction.retrieveRtf(RetrieveSADSAction.java:98)
                at au.com.suncorp.ldocs.web.RetrieveSADSAction.executePost(RetrieveSADSAction.java:59)
                at au.com.suncorp.ldocs.web.AbstractAction.performIt(AbstractAction.java:66)
                at au.com.suncorp.ldocs.web.AbstractAction.performPost(AbstractAction.java:60)
                at com.thoughtworks.web.AbstractAction.execute(AbstractAction.java:58)
                at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
                at com.thoughtworks.web.struts.CustomRequestProcessor.process(CustomRequestProcessor.java:159)
                at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
                at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
                at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
                at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
                at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
                at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
                at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
                at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356)
                at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
                at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
                at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
                at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
                at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
                at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
2009-07-14 17:10:00,028 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] END REQUEST
2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] Processing a 'GET' for path '/ChibaSADS'
2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] BEGIN REQUEST
2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.command.Command] BEGIN COMMAND au.com.suncorp.ldocs.command.DocumentGenerationServiceCommand
2009-07-14 17:10:02,856 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] FETCH EFFECTIVE TEMPLATE
2009-07-14 17:10:02,856 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] FETCH TEMPLATE VERSION
2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [END] FETCH TEMPLATE VERSION
2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [END] FETCH EFFECTIVE TEMPLATE
2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] DEEPEN THE QUERY




                                        Hacking Log Files
Wrap Up:

Plan your
 tools &
approach


            Image http://jenn98.com/bugs/images/bugs-elmer-daffy.jpg
Wrap Up:

                                                                                    Manual
                                                                                     first



Image http://jellyflux.files.wordpress.com/2008/11/woman-surrounded-by-robots.jpg
Wrap Up:

 Refactor
processes &
   tools


              Image http://33epua.blu.livefilestore.com/y1pF8NaSRUp9Ge4uyvRJLXucalRXqNYGecfm2RUe_VN8Es7rSSe7N-
              WaQdBnHbgYc8jAr3O_NiZ_P4ZMzhh9vo7Ag/Project2.jpg
Wrap Up:

                                 Learn from
                               retrospectives



Image http://www.dilbert.com
Wrap Up:

Eliminate
  waste



            Image http://www.cartoonstudio.co.uk/images/kmeters/ABBwaste.jpg
Wrap Up: Tools Maturity
    Beginner        Intermediate   Advanced
  Collaboration     Storycards &   Deployment
                      iteration
Development tools   management     Monitoring

     Testing        Development
                    environments

                    Continuous
                    integration
Wrap Up:

Think like
Macgyver



             Image http://jira.atlassian.com/secure/attachment/16943/macgyver.gif
Wrap Up:

Act like an
 A-Team



              Image http://www.popartuk.com/g/l/lgpp31670+i-love-it-when-a-plan-comes-together-weenicons-a-team-poster.jpg
Want More Information?
Craig Smith
http://www.suncorp.com.au
http://www.agileacademy.com.au
craig.smith@suncorp.com.au
@smithcdau

Dr. Paul King
http://www.asert.com.au
paulk@asert.com.au
@paulk_asert

Download this presentation at:
http://www.agile2009.org/node/2840
http://www.agileacademy.com.au/knowledgehub/downloa
ds
Acknowledgments
    Suncorp is one of Australia and New Zealand's largest diversified
 financial services providers, supplying banking, insurance and wealth
  management products to around 7 million customers through well-
established and recognised brands such as AAMI, Australian Pensioners
   Insurance Agency, Shannons, Vero, Asteron and Tyndall, as well as
 Suncorp and GIO. Today, Suncorp is Australia's fifth largest bank and
  second largest domestic general insurance group, with over 16,000
staff. Suncorp has representation in 450 offices, branches and agencies
                 throughout Australia and New Zealand.

 ASERT is one of Australia’s leading suppliers of development services,
mentoring and training in Agile, Web Services, Web Applications, Java,
                           Groovy and Grails.

More Related Content

Similar to Craig Smith & Paul King Agile Tool Hacking Taking Your Agile Development Tools To The Next Level

The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)Thomas Krause
 
The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)Thomas Krause
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2Pascal Rapicault
 
Embedded User Assistance Marc Speyer
Embedded User Assistance    Marc SpeyerEmbedded User Assistance    Marc Speyer
Embedded User Assistance Marc Speyersperotech
 
Creating_Installers_for_Java_Applications-report
Creating_Installers_for_Java_Applications-reportCreating_Installers_for_Java_Applications-report
Creating_Installers_for_Java_Applications-reporttutorialsruby
 
Creating_Installers_for_Java_Applications-report
Creating_Installers_for_Java_Applications-reportCreating_Installers_for_Java_Applications-report
Creating_Installers_for_Java_Applications-reporttutorialsruby
 
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...DevOps_Fest
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationAndrii Dzynia
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrJohn Allspaw
 
SplunkLive! Zurich 2018: The Evolution of Splunk at Helvetia Insurance
SplunkLive! Zurich 2018: The Evolution of Splunk at Helvetia InsuranceSplunkLive! Zurich 2018: The Evolution of Splunk at Helvetia Insurance
SplunkLive! Zurich 2018: The Evolution of Splunk at Helvetia InsuranceSplunk
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Ajay Danait
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementJames Turnbull
 
Going All XP On Your Business
Going All XP On Your BusinessGoing All XP On Your Business
Going All XP On Your BusinessCraig Smith
 
Going All XP On Your Business
Going All XP On Your BusinessGoing All XP On Your Business
Going All XP On Your BusinessCraig Smith
 
The Speed to Cool - Valuing Testing & Quality in Agile Teams
The Speed to Cool - Valuing Testing & Quality in Agile TeamsThe Speed to Cool - Valuing Testing & Quality in Agile Teams
The Speed to Cool - Valuing Testing & Quality in Agile TeamsCraig Smith
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Docker, Inc.
 
JWT-To-Activiti
JWT-To-ActivitiJWT-To-Activiti
JWT-To-ActivitiE P
 
Ensuring Better Quality With Docker
Ensuring Better Quality With DockerEnsuring Better Quality With Docker
Ensuring Better Quality With DockerJagannath Vaikuntham
 

Similar to Craig Smith & Paul King Agile Tool Hacking Taking Your Agile Development Tools To The Next Level (20)

The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)
 
The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2
 
Embedded User Assistance Marc Speyer
Embedded User Assistance    Marc SpeyerEmbedded User Assistance    Marc Speyer
Embedded User Assistance Marc Speyer
 
Creating_Installers_for_Java_Applications-report
Creating_Installers_for_Java_Applications-reportCreating_Installers_for_Java_Applications-report
Creating_Installers_for_Java_Applications-report
 
Creating_Installers_for_Java_Applications-report
Creating_Installers_for_Java_Applications-reportCreating_Installers_for_Java_Applications-report
Creating_Installers_for_Java_Applications-report
 
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
 
ShwetaKBijay-resume
ShwetaKBijay-resumeShwetaKBijay-resume
ShwetaKBijay-resume
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive Documentation
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and Flickr
 
SplunkLive! Zurich 2018: The Evolution of Splunk at Helvetia Insurance
SplunkLive! Zurich 2018: The Evolution of Splunk at Helvetia InsuranceSplunkLive! Zurich 2018: The Evolution of Splunk at Helvetia Insurance
SplunkLive! Zurich 2018: The Evolution of Splunk at Helvetia Insurance
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration Management
 
Going All XP On Your Business
Going All XP On Your BusinessGoing All XP On Your Business
Going All XP On Your Business
 
Going All XP On Your Business
Going All XP On Your BusinessGoing All XP On Your Business
Going All XP On Your Business
 
The Speed to Cool - Valuing Testing & Quality in Agile Teams
The Speed to Cool - Valuing Testing & Quality in Agile TeamsThe Speed to Cool - Valuing Testing & Quality in Agile Teams
The Speed to Cool - Valuing Testing & Quality in Agile Teams
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
 
JWT-To-Activiti
JWT-To-ActivitiJWT-To-Activiti
JWT-To-Activiti
 
Ensuring Better Quality With Docker
Ensuring Better Quality With DockerEnsuring Better Quality With Docker
Ensuring Better Quality With Docker
 

More from Paul King

awesome groovy
awesome groovyawesome groovy
awesome groovyPaul King
 
groovy databases
groovy databasesgroovy databases
groovy databasesPaul King
 
groovy transforms
groovy transformsgroovy transforms
groovy transformsPaul King
 
concurrency gpars
concurrency gparsconcurrency gpars
concurrency gparsPaul King
 
tictactoe groovy
tictactoe groovytictactoe groovy
tictactoe groovyPaul King
 
groovy rules
groovy rulesgroovy rules
groovy rulesPaul King
 
functional groovy
functional groovyfunctional groovy
functional groovyPaul King
 
Make Testing Groovy
Make Testing GroovyMake Testing Groovy
Make Testing GroovyPaul King
 
Agile Testing Practices
Agile Testing PracticesAgile Testing Practices
Agile Testing PracticesPaul King
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expertPaul King
 
concurrency with GPars
concurrency with GParsconcurrency with GPars
concurrency with GParsPaul King
 
groovy and concurrency
groovy and concurrencygroovy and concurrency
groovy and concurrencyPaul King
 
Atlassian Groovy Plugins
Atlassian Groovy PluginsAtlassian Groovy Plugins
Atlassian Groovy PluginsPaul King
 
Dynamic Language Practices
Dynamic Language PracticesDynamic Language Practices
Dynamic Language PracticesPaul King
 
Make Your Builds More Groovy
Make Your Builds More GroovyMake Your Builds More Groovy
Make Your Builds More GroovyPaul King
 
Groovy Power Features
Groovy Power FeaturesGroovy Power Features
Groovy Power FeaturesPaul King
 
Make Your Testing Groovy
Make Your Testing GroovyMake Your Testing Groovy
Make Your Testing GroovyPaul King
 
Groovy Testing Sep2009
Groovy Testing Sep2009Groovy Testing Sep2009
Groovy Testing Sep2009Paul King
 
Groovy Tutorial
Groovy TutorialGroovy Tutorial
Groovy TutorialPaul King
 

More from Paul King (20)

awesome groovy
awesome groovyawesome groovy
awesome groovy
 
groovy databases
groovy databasesgroovy databases
groovy databases
 
groovy transforms
groovy transformsgroovy transforms
groovy transforms
 
concurrency gpars
concurrency gparsconcurrency gpars
concurrency gpars
 
tictactoe groovy
tictactoe groovytictactoe groovy
tictactoe groovy
 
groovy rules
groovy rulesgroovy rules
groovy rules
 
functional groovy
functional groovyfunctional groovy
functional groovy
 
Make Testing Groovy
Make Testing GroovyMake Testing Groovy
Make Testing Groovy
 
Agile Testing Practices
Agile Testing PracticesAgile Testing Practices
Agile Testing Practices
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expert
 
concurrency with GPars
concurrency with GParsconcurrency with GPars
concurrency with GPars
 
groovy and concurrency
groovy and concurrencygroovy and concurrency
groovy and concurrency
 
GroovyDSLs
GroovyDSLsGroovyDSLs
GroovyDSLs
 
Atlassian Groovy Plugins
Atlassian Groovy PluginsAtlassian Groovy Plugins
Atlassian Groovy Plugins
 
Dynamic Language Practices
Dynamic Language PracticesDynamic Language Practices
Dynamic Language Practices
 
Make Your Builds More Groovy
Make Your Builds More GroovyMake Your Builds More Groovy
Make Your Builds More Groovy
 
Groovy Power Features
Groovy Power FeaturesGroovy Power Features
Groovy Power Features
 
Make Your Testing Groovy
Make Your Testing GroovyMake Your Testing Groovy
Make Your Testing Groovy
 
Groovy Testing Sep2009
Groovy Testing Sep2009Groovy Testing Sep2009
Groovy Testing Sep2009
 
Groovy Tutorial
Groovy TutorialGroovy Tutorial
Groovy Tutorial
 

Recently uploaded

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 

Recently uploaded (20)

Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 

Craig Smith & Paul King Agile Tool Hacking Taking Your Agile Development Tools To The Next Level

  • 1. Agile Tool Hacking: Taking Your Agile Development Tools To The Next Level Craig Smith Dr Paul King Suncorp ASERT
  • 2. Overview Welcome Images: http://1.bp.blogspot.com/_FNT-_PKRcfs/R-uigRW64pI/AAAAAAAAA7M/iLGM-vOzlRM/s400/vegemite.jpg http://www.sciencenews.net.au/images/kangaroo-and-baby-joey1.jpg http://www.vtxpress.com/tripleheader-fluke-rigs/knife.jpg I http://www.sail-world.com/photos/Alt_AustraliaII.jpg http://geology.com/world/map/map-of-australia.gif
  • 3. According to the Compact Oxford Dictionary: Tool (noun) 1. a device or implement used to carry out a particular function. 2. a thing used to help perform a job. 3. a person used by another. Image: http://i.ehow.com/images/GlobalPhoto/Articles/2065416/dictionary_Full.jpg
  • 5. Image http://i.pbase.com/g3/64/559164/2/55171028.Pictures0588047R103315.jpg http://www.design-industry.com.au/en/wp-content/uploads/2007/07/fridge_01_400x400.jpg Refridgerators vs Radiators
  • 7. Image Beck, Kent – Extreme Programming Explained: Embrace Change XP Practices over Tooling
  • 9. Concept  Initiate  Deliver  Deploy Storycards & iteration management Collaboration Development environments Development tools Testing Continuous integration Deployment Monitoring Image http://3.bp.blogspot.com/_H0iqHTCqRyo/RfQyLHm8POI/AAAAAAAAABQ/-ZGsV-p-aVs/s400/evolution.jpg Tools Usage Timeline
  • 10. Tools Hacking Think Simple! Image http://www.appart.com/Blog/image.axd?picture=2009%2F6%2Fmacgyver.jpg
  • 11. Tools Hacking Great Team Image http://www.collider.com/uploads/imageGallery/A_Team/the_a-team_nbc_tv_show_image__1_.jpg
  • 12. Storycards & iteration management Storycards:  Promise for a conversation  INVEST  Defect tracking Iteration / Release / Project tracking:  Prioritised backlog  Iteration story wall  Burn-up & burn down charts  Metrics / Velocity  Estimation Images http://www.concordion.org/image/example/online-shop/StoryCard.png http://www.ugleah.com/img/2009/burndown_chart.gif
  • 13. Stories & Iterations The Manual Way Images http://www.selfishprogramming.com/wp-content/uploads/2008/10/building-kanban-board.jpg http://ssmirnov.files.wordpress.com/2009/02/still-life.jpg
  • 14. Example Storycards & iteration management tools Open Source / Free:  XPlanner: http://www.xplanner.org  Agilefant: http://www.agilefant.org  IceScrum: http://www.icescrum.org  Agilo: http://www.agile42.com/cms/pages/agilo/ Commercial:  Jira + GreenHopper http://www.atlassian.com/software/jira/ http://www.atlassian.com/greenhopper/  Mingle: http://studios.thoughtworks.com/ mingle-agile-project-management  VersionOne: http://www.versionone.com/  Rally: http://www.rallydev.com
  • 15. Iteration Tool Maturity Beginner Intermediate Advanced Start with a Introduce tool if: Connect tools eg. manual story wall Team members / IDE, VCS (index cards, markers stakeholders remote & stickies) Reporting requirements Extend tool with Easier stats / BVC 0wn / community / Keep manual BVC’s commercial plugins & burn charts Keep a manual wall of relevant level Electronic estimation Breakdown stories & & planning estimates (INVEST) Manual planning poker
  • 16. Agilo
  • 19. Hacking Jira: know the features
  • 22. Collaboration Team:  Daily Scrum / Standup  Retrospective  Kickoff / Demo / Showcase  Collective team ownership  Pair Programming Output:  Project Documentation  Email / telephone / IM Images http://fabiopereira.me/blog/wp-content/uploads/2008/11/walldc93a7f3- 2d9d-4525-8301-d40ad993e66f.jpg http://www.idea.gov.uk/idk/aio/8172457
  • 24. Example Collaboration Tools Open Source / Free:  MediaWiki: http://www.mediawiki.org  Open Atrium: http://openatrium.com/  Google Docs: http://docs.google.com  Skype: http://www.skype.com  Eclipse Communications Framework (D0cShare): http://www.eclipse.org/ecf/ Commercial:  Confluence: http://www.atlassian.com/ software/confluence/  SharePoint / Office Communicator: http://sharepoint.microsoft.com  PBWorks: http://pbworks.com
  • 25. Collaboration Tool Maturity Beginner Intermediate Advanced Basic agile / XP / Scrum: Combined kickoff / Connect tools eg. Daily scrum / standup, retrospective for iteration management, retrospective, small projects build tools kickoff / demo / showcase Advanced XP Extend tool with techniques: pair programming, team 0wn / community / Basic wiki / shared document environment ownership commercial plugins Digital camera / Intranet / CMS Distributed whiteboard capability collaboration Wiki gardening
  • 30. Hacking Wiki + Iteration Mgmt
  • 33. Development Environments Developers:  Pragmatic programmers  Continuous improvement  Efficient / repeatable Outcomes:  Co-location  Productive hardware  Consistent environments  Scripted machine builds Image http://imgs.xkcd.com/comics/compiling.png  Environment testing http://api.ning.com/files/mc- mk7rMBrQx2Jpql3boKhn9N2cHmubcFN6hyDrikT8FIz- 2EhEwcbpzSWjqQ8VdjxBVgOTgSs31- sL2oBoifORkpQ680Iu0/appleiphonesdklogo.jpg
  • 34. Development Environments The Manual Way Image http://www.xtrasens.com/support/manual/install%20flow.png http://img.dailymail.co.uk/i/pix/2007/07_01/hammerDM0607_468x584.jpg
  • 35. Example Environment Tools Open Source / Free:  VirtualBox: http://www.virtualbox.org  NSIS: http://nsis.sourceforge.net  Linux distributions (various) http://www.linux.org http://distrowatch.com Commercial:  VMWare: http://www.vmware.com  Cloud computing options http://code.google.com/appengine/ http://aws.amazon.com/ec2/ http://github.com
  • 36. Environment Tool Maturity Beginner Intermediate Advanced Instructions for Automated builds for Automated build for application environments developer machines building environments manually / consistently Automated environment Testers, team members tests on demand using similar environment Plan for pragmatic programmer techniques Required hardware / Consider cloud software computing opportunities Manual tests for checking environments Physical environment Zero cubicles, pairing renovations stations, breakout / Co-located team team area
  • 42. Development Tools Developers:  Craftsmanship / clean code  Quality non-negotiable Tool Types:  Integrated Development Environment (IDE)  Database SQL clients  Version control  Web Service / SOAP tools  File & operating system tools Image http://www.cornetdesign.com/images/bowling_all2s.jpg  Metrics http://cybernetnews.com/wp-content/uploads/2007/07/hacker.jpg
  • 43. Development Environments The Manual Way Image http://www.domainlanguage.com/_library/images_people_working/designing_at_whiteboard.jpg http://4.bp.blogspot.com/_9kQQgQD35rY/SaV5p8YBGhI/AAAAAAAAAkg/HOvlhIo7yGI/s1600- h/06_Red_Green_Refactor.JPG
  • 44. Example Development Tools Open Source / Free: IDE’s (multiple language support)  Eclipse: http://www.eclipse.org  NetBeans: http://www.netbeans.org  SharpDevelop: http://www.icsharpcode.net  RadRails: http://www.aptana.com/rails  Visual Studio Express: http://www.microsoft.com/express/ Database Clients  DBVisualizer: http://www.dbvis.com/  SQuirreL: http://squirrel-sql.sourceforge.net Web Service / SOAP Tools  soapUI: http://www.soapui.org
  • 45. Example Development Tools Open Source / Free: Version Control Systems  Subversion: http://subversion.tigris.org  Git: http://git-scm.com  Bazaar: http://bazaar-vcs.org  Mercurial: http://mercurial.selenic.com File & operating system tools  PowerShell: http://www.microsoft.com/ windowsserver2003/technologies/ management/powershell/default.mspx fish: http://fishshell.org  Cygwin: http://www.cygwin.com  Miscellaneous OS tools
  • 46. Example Development Tools Open Source / Free: Metrics  Checkstyle: http://checkstyle.sourceforge.net  StyleCop: http://code.msdn.microsoft.com/ sourceanalysis  FindBugs: http://findbugs.sourceforge.net  PMD: http://pmd.sourceforge.net  Cobertura: http://cobertura.sourceforge.net  JDepend: http://clarkware.com/software/JDepend.html  Panopticode: http://www.panopticode.org  CodeCity: http://www.inf.unisi.ch/phd/wettel/ codecity.html
  • 47. Example Development Tools Commercial: IDE’s (multiple language support)  IntelliJ IDEA / RubyMine / ReSharper: http://www.jetbrains.com/  Visual Studio: http://www.microsoft.com/visualstudio Web Service / SOAP Tools  Oxygen: http://www.oxygenxml.com/ Metrics  Clover: http://www.atlassian.com/software/ clover  Simian: http://www.redhillconsulting.com.au Profilers  YourKit: http://www.yourkit.com
  • 48. Development Tool Maturity Beginner Intermediate Advanced Usage of IDE with team Mastery of IDE Mastery of advanced agreed setup keystrokes / features / IDE features / plugin plugins development Awareness / use of Usage of advanced basic tools / metrics Team commitment to react to metrics output metrics tools & features Use of version control Usage of distributed Usage of advanced version control features version control Team understanding of quality Advanced clean code / Quality non-negotiable / software craftsman clean code
  • 53. Hacking RYO IDE Plugins
  • 54. • d Hacking VCS: FishEye/SVNStat
  • 55. Testing Tools Testers:  Automate  Continuous feedback  Bridge communication gaps Tool types:  Test specification generation  Test execution / record / log  Test user interfaces  Performance test  Test / incident management Image http://blogs.msdn.com/blogfiles/willy- peter_schaub/WindowsLiveWriter/VSTSRangersProjectsWCFLoadTestToo.0Sh ips_7D80/CLIPART_OF_13165_SM_2.jpg http://2.bp.blogspot.com/_U08AbEz5lx4/Ra9UkCi4EeI/AAAAAAAAAAY/vLpsqL  Reporting 3uqE0/s320/swisstoolcsopen.jpg
  • 56. Testing The Manual Way Image http://tell.fll.purdue.edu/JapanProj/FLClipart/Verbs/understand.gif http://thedailystandup.com/wp-content/uploads/2008/12/istock_000004776276xsmall.jpg
  • 57. Example Testing Tools Open Source / Free: Test Specification – xUnit Tools  JUnit: http://www.junit.org  Nunit: http://www.nunit.org Test Specification Tools – Expressive/BDD  Spock: http://code.google.com/p/spock/  FitNesse: http://fitnesse.org  Concordion: http://www.concordion.org  Cucumber: http://cukes.info  easyb: http://www.easyb.org Test Specification Tools – Mocking  NMock: http://www.nmock.org  EasyMock: http://easymock.org
  • 58. Example Testing Tools Open Source / Free: Test Execution / Record / Log / UI  Selenium: http://seleniumhq.org  Watir: http://wtr.rubyforge.org  Tellurium: http://kenai.com/projects/tellurium  WebTest: http://webtest.canoo.com Performance Test  JMeter: http://jakarta.apache.org/jmeter/  Grinder: http://grinder.sourceforge.net/ Test Management  Radi: http://radi-testdir.sourceforge.net  RTH: http://sourceforge.net/projects/rth/
  • 59. Example Testing Tools Commercial: Test Execution / Record / Log / UI  Twist: http://studios.thoughtworks.com/ twist-agile-test-automation  GreenPepper: http://www.greenpeppersoftware.com/en/  Squish: http://www.froglogic.com Integrated  HP Quality Center / QTP / LoadRunner: https://h10078.www1.hp.com/cda/hpms/ display/main/hpms_home.jsp ?zn=bto&cp=1_4011_100__  SpiraTest: http://www.inflectra.com/SpiraTest/
  • 60. Testing Tool Maturity Beginner Intermediate Advanced Automated developer Test driven 100% test coverage unit tests development (unit / acceptance / functional) Some automated BDD / mock testing acceptance / functional Developer / tester tests Automated regression pair programming tests – new / legacy Developers / testers Automated performance working together plus All tests run in CI build testing with functional combined definition of (unit / acceptance / test reuse done functional) Risk based testing Usage of GUI test Usage of expressive / robots DSL testing Based on Elements of Enterprise CI http://www.anthillpro.com/html/resources/elements_of_ci_A4.pdf
  • 63. NUnit
  • 67. Continuous Integration Advantages:  Early warning  Consistent test / integrate  Centrepiece for quality Practices:  Version control / automated build / automated test  Commit early & often  Fast feedback  Visible / audible results  Artefacts Image http://www.michaelfransen.com/wp- content/uploads/2008/02/wheresthebuild-small.jpg
  • 68. Continuous Integration The Manual Way Image http://farm4.static.flickr.com/3122/3121915858_06a783e594.jpg?v=0 http://www.michaelfransen.com/wp-content/uploads/2008/02/wheresthebuild-small.jpg
  • 69. Example Continuous Integration Tools Open Source / Free: Continuous Integration Servers  Hudson: https://hudson.dev.java.net  Cruise Control: http://cruisecontrol.sourceforge.net Build Tools  Ant: http://ant.apache.org  Nant: http://nant.sourceforge.net  Maven: http://maven.apache.org  Gradle: http://www.gradle.org
  • 70. Example Continuous Integration Tools Open Source / Free : Dependency / Repositories  Nexus: http://nexus.sonatype.org  Archiva: http://archiva.apache.org  Ivy: http://ant.apache.org/ivy Commercial:  Bamboo: http://www.atlassian.com/software/bamboo/  Cruise: http://studios.thoughtworks.com/ cruise-continuous-integration  TeamCity: http://www.jetbrains.com/teamcity
  • 71. Continuous Integration Maturity Beginner Intermediate Advanced Implementation of Implementation of Usage of build clusters / core build steps continuous integration slaves / VM snapshots server to auto-run build Frequent check-in to Dependency management version control system Dedicated build & internal repository machine Adequate hardware to run build Advanced / refactored / High frequency check-in multiple builds to version control Team commitment to system fixing broken builds Broken build alerts & team procedures Builds for environment / project impediments
  • 74. Nexus
  • 75. Hacking CI Data Migration
  • 76. Hacking Hudson / Scoreboard
  • 77. Hudson Swarms Plugin Growth > java -jar swarm-client-jar-with- dependencies.jar Continuous Integration Game Plugin Jira Plugin Amazon EC2 Plugin Image http://weblogs.java.net/blog/kohsuke Hacking Hudson Plugins
  • 78. Deployment Tools Advantages:  Repeatable from development to Production  No “fight night” surprises Practices:  Automated deployment script  Environment management  Environment tokens  Automated & manual steps  Smoke test / confirmation Image http://www.serena.com/images/products/dimensions-deploy/deploy- illustration2-286-23.jpg http://ciadvantage.com/cs/photos/storage/ctd.gif
  • 79. Deployment The Manual Way Image http://www.thekua.com/rant/wp-content/uploads/2006/03/RetrospectiveTimelineEvents.jpg http://farm4.static.flickr.com/3645/3340381990_fa9f004e5b.jpg
  • 80. Example Deployment Tools Open Source / Free:  Roll your own (scripts / build / CI server)  Cargo: http://cargo.codehaus.org  Capistrano: http://www.capify.org  SmartFrog: http://www.smartfrog.org Commercial:  Tableaux: http://www.incanica.com  IBM Rational Suite: http://www-01.ibm.com/software/rational/  BMC BladeLogic: http://www.bmc.com/ products/offering/bmc-bladelogic-application- release-manager.html
  • 81. Deployment Tool Maturity Beginner Intermediate Advanced Documented manual Fully scripted Usage of deployment deployment & rollback deployment & rollback tool (roll your own / process / checklist where applicable open source / commercial) Documented manual Roll your own basic smoke tests deployment to test Repeatable deployment environments using to all environments Automated helper CI server (tokenized) scripts Repeatable build for Automated production “go-live” processes deployment (push button or automatic) Based on Elements of Enterprise CI http://www.anthillpro.com/html/resources/elements_of_ci_A4.pdf
  • 85. #/bin/bash SCRIPT_DIR=`dirname $0` . $SCRIPT_DIR/setup.sh HOST=$1 PORT=$2 ACTION=$3 URLS=("gi/underwriting/ncd/calculator?brand=wally" "gi/underwriting/ncd/service/ws/GiNcdService?wsdl") [ "${ACTION}" == "Test Installation" ] && { echo "Running test of the installation"; TMPFILE=/tmp/wgetresult.$$ for i in "${URLS[@]}"; do echo wget --no-proxy http://${HOST}:${PORT}/${i} >$TMPFILE 2>&1 wget --no-proxy http://${HOST}:${PORT}/${i} >$TMPFILE 2>&1 RESULT=`grep '200 OK' $TMPFILE` echo RESULT is [ $RESULT ] if [ -z "$RESULT" ] ; then echo "ERROR: NCD ${i} did not start" exit 1 else echo "SUCCESS: NCD ${i} started OK" fi rm $TMPFILE done; exit 0; } Hacking Manual Scripts
  • 86. [...] <configuration> <container> > mvn cargo:deploy <containerId>tomcat5x</containerId> <type>remote</type> </container> <configuration> <type>runtime</type> <properties> <cargo.remote.username>username</cargo.remote.username> <cargo.remote.password>password</cargo.remote.password> </properties> </configuration> <deployer> <type>remote</type> <deployables> <deployable> <groupId>war group id</groupId> <artifactId>war artifact id</artifactId> <type>war</type> <properties> <context>optional root context</context> </properties> <pingURL>opt. url to ping to know deployed</pingURL> <pingTimeout>opt. timeout (default 20000ms)</pingTimeout> </deployable> [...] Hacking RYO Cargo
  • 87. Cucumber Feature Feature: Deployment In order to use the latest version of testApp A support officer should be able to Check that testApp.war has been deployed to the remote machine Scenario: User deploys Given app testApp When I deploy Then the testApp.war file should be deployed to remote Cucumber / Capistrano Step Definition [...] When /^I deploy$/ do Dir.chdir(@app_dir) do system "cap deploy:setup" system "cap deploy" end end Then /^ the testApp.war file should be deployed to remote$/ do [...] Hacking Deployment Tests
  • 88. Monitoring Tools Advantages:  Visible status of assets  Pro-active maintenance Practices:  Environment monitoring  Process confirmation  Fault monitoring  Configuration monitoring  Security monitoring  Accounting monitoring Image http://www.monitoringsoftwareonline.com/files/QuickSiteImages/computer_plus_  Log monitoring Image http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png magnifying.jpg http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png
  • 89. Monitoring The Manual Way Image http://upload.wikimedia.org/wikipedia/commons/5/52/Unix-process-list.png http://www.petri.co.il/images/virtual_vmware_files_explained_03.jpg http://trubke.net/_nw/1/17916.png
  • 90. Example Monitoring Tools Open Source / Free:  Roll your own (scripts / CI server)  Cacti: http://www.cacti.net  Zabbix: http://www.zabbix.com  Nagios: http://www.nagios.org  Monit: http://mmonit.com/monit/ Commercial:  Splunk: http://www.splunk.com  IBM Tivoli: http://www.ibm.com/software/tivoli  Hyperic: http://www.hyperic.com  NetIQ: http://www.netiq.com
  • 91. Monitoring Tool Maturity Beginner Intermediate Advanced Base level / centralised Roll your own basic Usage of monitoring monitoring on critical monitoring for tools at all levels components processes / logs / including application (eg. hardware, operating environments at level system, web server, application level database) Monitoring alert process Refactored logs Useful logs (logging (central location, Visual display of levels, log rolling, known redundant details monitoring tool / status support procedures) fixed / removed) Monitoring of advanced Ad-hoc usage of tools / Ad-hoc usage of tools / items (eg. configuration, procedures for procedures for accounting) reactive support proactive support
  • 93. Cacti
  • 95. Hacking RYO Visual Monitoring
  • 96. 2009-07-14 17:10:00,028 [ERROR,au.com.suncorp.ldocs.web.AbstractAction] Unhandled exception caught in action: null java.lang.NullPointerException at au.com.suncorp.ldocs.web.RetrieveSADSAction.retrieveRtf(RetrieveSADSAction.java:98) at au.com.suncorp.ldocs.web.RetrieveSADSAction.executePost(RetrieveSADSAction.java:59) at au.com.suncorp.ldocs.web.AbstractAction.performIt(AbstractAction.java:66) at au.com.suncorp.ldocs.web.AbstractAction.performPost(AbstractAction.java:60) at com.thoughtworks.web.AbstractAction.execute(AbstractAction.java:58) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at com.thoughtworks.web.struts.CustomRequestProcessor.process(CustomRequestProcessor.java:159) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) 2009-07-14 17:10:00,028 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] END REQUEST 2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] Processing a 'GET' for path '/ChibaSADS' 2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] BEGIN REQUEST 2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.command.Command] BEGIN COMMAND au.com.suncorp.ldocs.command.DocumentGenerationServiceCommand 2009-07-14 17:10:02,856 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] FETCH EFFECTIVE TEMPLATE 2009-07-14 17:10:02,856 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] FETCH TEMPLATE VERSION 2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [END] FETCH TEMPLATE VERSION 2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [END] FETCH EFFECTIVE TEMPLATE 2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] DEEPEN THE QUERY Hacking Log Files
  • 97. Wrap Up: Plan your tools & approach Image http://jenn98.com/bugs/images/bugs-elmer-daffy.jpg
  • 98. Wrap Up: Manual first Image http://jellyflux.files.wordpress.com/2008/11/woman-surrounded-by-robots.jpg
  • 99. Wrap Up: Refactor processes & tools Image http://33epua.blu.livefilestore.com/y1pF8NaSRUp9Ge4uyvRJLXucalRXqNYGecfm2RUe_VN8Es7rSSe7N- WaQdBnHbgYc8jAr3O_NiZ_P4ZMzhh9vo7Ag/Project2.jpg
  • 100. Wrap Up: Learn from retrospectives Image http://www.dilbert.com
  • 101. Wrap Up: Eliminate waste Image http://www.cartoonstudio.co.uk/images/kmeters/ABBwaste.jpg
  • 102. Wrap Up: Tools Maturity Beginner Intermediate Advanced Collaboration Storycards & Deployment iteration Development tools management Monitoring Testing Development environments Continuous integration
  • 103. Wrap Up: Think like Macgyver Image http://jira.atlassian.com/secure/attachment/16943/macgyver.gif
  • 104. Wrap Up: Act like an A-Team Image http://www.popartuk.com/g/l/lgpp31670+i-love-it-when-a-plan-comes-together-weenicons-a-team-poster.jpg
  • 105. Want More Information? Craig Smith http://www.suncorp.com.au http://www.agileacademy.com.au craig.smith@suncorp.com.au @smithcdau Dr. Paul King http://www.asert.com.au paulk@asert.com.au @paulk_asert Download this presentation at: http://www.agile2009.org/node/2840 http://www.agileacademy.com.au/knowledgehub/downloa ds
  • 106. Acknowledgments Suncorp is one of Australia and New Zealand's largest diversified financial services providers, supplying banking, insurance and wealth management products to around 7 million customers through well- established and recognised brands such as AAMI, Australian Pensioners Insurance Agency, Shannons, Vero, Asteron and Tyndall, as well as Suncorp and GIO. Today, Suncorp is Australia's fifth largest bank and second largest domestic general insurance group, with over 16,000 staff. Suncorp has representation in 450 offices, branches and agencies throughout Australia and New Zealand. ASERT is one of Australia’s leading suppliers of development services, mentoring and training in Agile, Web Services, Web Applications, Java, Groovy and Grails.