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
Images http://www.concordion.org/image/example/online-shop/StoryCard.png
                                                                            Estimation
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
Image http://imgs.xkcd.com/comics/compiling.png
                                                   Scripted machine builds
                                                   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
                                                                        Reporting
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
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_
magnifying.jpg
                                                                                Log monitoring
                                                                                          Image http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png

 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.slideshare.net/smithcdau
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

What's hot

F5’s VMware Horizon View Reference Architecture
F5’s VMware Horizon View Reference ArchitectureF5’s VMware Horizon View Reference Architecture
F5’s VMware Horizon View Reference ArchitectureF5 Networks
 
Disaster Recovery for SAP HANA with SUSE Linux
Disaster Recovery for SAP HANA with SUSE LinuxDisaster Recovery for SAP HANA with SUSE Linux
Disaster Recovery for SAP HANA with SUSE LinuxDirk Oppenkowski
 
Oracle Exadata Management with Oracle Enterprise Manager
Oracle Exadata Management with Oracle Enterprise ManagerOracle Exadata Management with Oracle Enterprise Manager
Oracle Exadata Management with Oracle Enterprise ManagerEnkitec
 
Disaster recovery solution
Disaster recovery solutionDisaster recovery solution
Disaster recovery solutionAnton An
 
Oracle Fleet Patching and Provisioning Deep Dive Webcast Slides
Oracle Fleet Patching and Provisioning Deep Dive Webcast SlidesOracle Fleet Patching and Provisioning Deep Dive Webcast Slides
Oracle Fleet Patching and Provisioning Deep Dive Webcast SlidesLudovico Caldara
 
Disaster Recovery: Understanding Trend, Methodology, Solution, and Standard
Disaster Recovery:  Understanding Trend, Methodology, Solution, and StandardDisaster Recovery:  Understanding Trend, Methodology, Solution, and Standard
Disaster Recovery: Understanding Trend, Methodology, Solution, and StandardPT Datacomm Diangraha
 
Presentation data domain advanced features and functions
Presentation   data domain advanced features and functionsPresentation   data domain advanced features and functions
Presentation data domain advanced features and functionsxKinAnx
 
Oracle databáze – Konsolidovaná Data Management Platforma
Oracle databáze – Konsolidovaná Data Management PlatformaOracle databáze – Konsolidovaná Data Management Platforma
Oracle databáze – Konsolidovaná Data Management PlatformaMarketingArrowECS_CZ
 
Présentation VDI - Virtual Desktop Infrastucture
Présentation VDI - Virtual Desktop InfrastucturePrésentation VDI - Virtual Desktop Infrastucture
Présentation VDI - Virtual Desktop InfrastucturePatricia NENZI
 
15 hacks for better ITAM with ServiceDesk Plus
15 hacks for better ITAM with ServiceDesk Plus15 hacks for better ITAM with ServiceDesk Plus
15 hacks for better ITAM with ServiceDesk PlusLeeben Amirthavasagam
 
Disaster Recovery, Continuity of Operations, Backup, and Archive on AWS
Disaster Recovery, Continuity of Operations, Backup, and Archive on AWSDisaster Recovery, Continuity of Operations, Backup, and Archive on AWS
Disaster Recovery, Continuity of Operations, Backup, and Archive on AWSAmazon Web Services
 
SAP S/4 HANA Disaster Recovery Confidence
SAP S/4 HANA Disaster Recovery ConfidenceSAP S/4 HANA Disaster Recovery Confidence
SAP S/4 HANA Disaster Recovery ConfidenceDirk Oppenkowski
 
Oracle DBA Competency Roadmap
Oracle DBA Competency RoadmapOracle DBA Competency Roadmap
Oracle DBA Competency RoadmapMahesh Vallampati
 
Mes 概論 第三週
Mes 概論   第三週Mes 概論   第三週
Mes 概論 第三週信宏 陳
 
Tivoli Update Ws2008 Netcool
Tivoli Update Ws2008 NetcoolTivoli Update Ws2008 Netcool
Tivoli Update Ws2008 Netcoolguestac3117c
 
IT Service Management (ITSM) Model for Business & IT Alignement
IT Service Management (ITSM) Model for Business & IT AlignementIT Service Management (ITSM) Model for Business & IT Alignement
IT Service Management (ITSM) Model for Business & IT AlignementRick Lemieux
 

What's hot (20)

F5’s VMware Horizon View Reference Architecture
F5’s VMware Horizon View Reference ArchitectureF5’s VMware Horizon View Reference Architecture
F5’s VMware Horizon View Reference Architecture
 
Disaster Recovery for SAP HANA with SUSE Linux
Disaster Recovery for SAP HANA with SUSE LinuxDisaster Recovery for SAP HANA with SUSE Linux
Disaster Recovery for SAP HANA with SUSE Linux
 
Oracle Exadata Management with Oracle Enterprise Manager
Oracle Exadata Management with Oracle Enterprise ManagerOracle Exadata Management with Oracle Enterprise Manager
Oracle Exadata Management with Oracle Enterprise Manager
 
Disaster recovery solution
Disaster recovery solutionDisaster recovery solution
Disaster recovery solution
 
User stories
User storiesUser stories
User stories
 
Oracle Fleet Patching and Provisioning Deep Dive Webcast Slides
Oracle Fleet Patching and Provisioning Deep Dive Webcast SlidesOracle Fleet Patching and Provisioning Deep Dive Webcast Slides
Oracle Fleet Patching and Provisioning Deep Dive Webcast Slides
 
Disaster Recovery: Understanding Trend, Methodology, Solution, and Standard
Disaster Recovery:  Understanding Trend, Methodology, Solution, and StandardDisaster Recovery:  Understanding Trend, Methodology, Solution, and Standard
Disaster Recovery: Understanding Trend, Methodology, Solution, and Standard
 
BPMN for REST
BPMN for RESTBPMN for REST
BPMN for REST
 
Presentation data domain advanced features and functions
Presentation   data domain advanced features and functionsPresentation   data domain advanced features and functions
Presentation data domain advanced features and functions
 
Oracle databáze – Konsolidovaná Data Management Platforma
Oracle databáze – Konsolidovaná Data Management PlatformaOracle databáze – Konsolidovaná Data Management Platforma
Oracle databáze – Konsolidovaná Data Management Platforma
 
Présentation VDI - Virtual Desktop Infrastucture
Présentation VDI - Virtual Desktop InfrastucturePrésentation VDI - Virtual Desktop Infrastucture
Présentation VDI - Virtual Desktop Infrastucture
 
DRaaS for SAP
DRaaS for SAPDRaaS for SAP
DRaaS for SAP
 
15 hacks for better ITAM with ServiceDesk Plus
15 hacks for better ITAM with ServiceDesk Plus15 hacks for better ITAM with ServiceDesk Plus
15 hacks for better ITAM with ServiceDesk Plus
 
Overview of SharePoint Server 2019 Public Preview
Overview of SharePoint Server 2019 Public PreviewOverview of SharePoint Server 2019 Public Preview
Overview of SharePoint Server 2019 Public Preview
 
Disaster Recovery, Continuity of Operations, Backup, and Archive on AWS
Disaster Recovery, Continuity of Operations, Backup, and Archive on AWSDisaster Recovery, Continuity of Operations, Backup, and Archive on AWS
Disaster Recovery, Continuity of Operations, Backup, and Archive on AWS
 
SAP S/4 HANA Disaster Recovery Confidence
SAP S/4 HANA Disaster Recovery ConfidenceSAP S/4 HANA Disaster Recovery Confidence
SAP S/4 HANA Disaster Recovery Confidence
 
Oracle DBA Competency Roadmap
Oracle DBA Competency RoadmapOracle DBA Competency Roadmap
Oracle DBA Competency Roadmap
 
Mes 概論 第三週
Mes 概論   第三週Mes 概論   第三週
Mes 概論 第三週
 
Tivoli Update Ws2008 Netcool
Tivoli Update Ws2008 NetcoolTivoli Update Ws2008 Netcool
Tivoli Update Ws2008 Netcool
 
IT Service Management (ITSM) Model for Business & IT Alignement
IT Service Management (ITSM) Model for Business & IT AlignementIT Service Management (ITSM) Model for Business & IT Alignement
IT Service Management (ITSM) Model for Business & IT Alignement
 

Viewers also liked

Can We Assess Creativity?
Can We Assess Creativity?Can We Assess Creativity?
Can We Assess Creativity?John Spencer
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Agile Tool Hacking - Taking Your Agile Development Tools To The Next Level
Agile Tool Hacking - Taking Your Agile Development Tools To The Next LevelAgile Tool Hacking - Taking Your Agile Development Tools To The Next Level
Agile Tool Hacking - Taking Your Agile Development Tools To The Next LevelCraig Smith
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkVolker Hirsch
 
Capacity Planning Free Solution
Capacity Planning Free SolutionCapacity Planning Free Solution
Capacity Planning Free Solutionluanrjesus
 
Infrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiInfrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiFrédéric FAURE
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile EstimatingMike Cohn
 
Atlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software CompanyAtlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software CompanyMike Cannon-Brookes
 
Apple iPhone 4S
Apple iPhone 4SApple iPhone 4S
Apple iPhone 4SJJ Wu
 
Picture presentation 10 sec
Picture presentation 10 secPicture presentation 10 sec
Picture presentation 10 secdcaliyah
 
GISImplementationInDesignWorkflows
GISImplementationInDesignWorkflowsGISImplementationInDesignWorkflows
GISImplementationInDesignWorkflowsZeev Somer
 
ONLINE E-WASTE COLLECTION SYSTEM project Report (Approved)
ONLINE E-WASTE COLLECTION SYSTEM project Report (Approved)ONLINE E-WASTE COLLECTION SYSTEM project Report (Approved)
ONLINE E-WASTE COLLECTION SYSTEM project Report (Approved)Amit Mangukiya
 
Status of soil resources in Ethiopia and priorities for sustainable managemen...
Status of soil resources in Ethiopia and priorities for sustainable managemen...Status of soil resources in Ethiopia and priorities for sustainable managemen...
Status of soil resources in Ethiopia and priorities for sustainable managemen...FAO
 

Viewers also liked (20)

Ethical hacking presentation
Ethical hacking presentationEthical hacking presentation
Ethical hacking presentation
 
Can We Assess Creativity?
Can We Assess Creativity?Can We Assess Creativity?
Can We Assess Creativity?
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Agile Tool Hacking - Taking Your Agile Development Tools To The Next Level
Agile Tool Hacking - Taking Your Agile Development Tools To The Next LevelAgile Tool Hacking - Taking Your Agile Development Tools To The Next Level
Agile Tool Hacking - Taking Your Agile Development Tools To The Next Level
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 
Capacity Planning Free Solution
Capacity Planning Free SolutionCapacity Planning Free Solution
Capacity Planning Free Solution
 
Cacti
CactiCacti
Cacti
 
Infrastructure - Monitoring - Cacti
Infrastructure - Monitoring - CactiInfrastructure - Monitoring - Cacti
Infrastructure - Monitoring - Cacti
 
Agile Estimating
Agile EstimatingAgile Estimating
Agile Estimating
 
Cacti overview
Cacti overviewCacti overview
Cacti overview
 
Atlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software CompanyAtlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software Company
 
Ahmedcv32
Ahmedcv32Ahmedcv32
Ahmedcv32
 
Http Kultaevo Ru
Http Kultaevo RuHttp Kultaevo Ru
Http Kultaevo Ru
 
Apple iPhone 4S
Apple iPhone 4SApple iPhone 4S
Apple iPhone 4S
 
Picture presentation 10 sec
Picture presentation 10 secPicture presentation 10 sec
Picture presentation 10 sec
 
GISImplementationInDesignWorkflows
GISImplementationInDesignWorkflowsGISImplementationInDesignWorkflows
GISImplementationInDesignWorkflows
 
Ethiopia reba paper
Ethiopia reba paperEthiopia reba paper
Ethiopia reba paper
 
ONLINE E-WASTE COLLECTION SYSTEM project Report (Approved)
ONLINE E-WASTE COLLECTION SYSTEM project Report (Approved)ONLINE E-WASTE COLLECTION SYSTEM project Report (Approved)
ONLINE E-WASTE COLLECTION SYSTEM project Report (Approved)
 
Status of soil resources in Ethiopia and priorities for sustainable managemen...
Status of soil resources in Ethiopia and priorities for sustainable managemen...Status of soil resources in Ethiopia and priorities for sustainable managemen...
Status of soil resources in Ethiopia and priorities for sustainable managemen...
 
How to Discipline Effectively
How to Discipline Effectively   How to Discipline Effectively
How to Discipline Effectively
 

Similar to Agile Tool Hacking - Taking Your Agile Development Tools To The Next Level

Craig Smith & Paul King Agile Tool Hacking Taking Your Agile Development ...
Craig Smith & Paul King   Agile Tool Hacking   Taking Your Agile Development ...Craig Smith & Paul King   Agile Tool Hacking   Taking Your Agile Development ...
Craig Smith & Paul King Agile Tool Hacking Taking Your Agile Development ...Paul King
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationAndrii Dzynia
 
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
 
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 Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)Thomas Krause
 
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)Christian Catalan
 
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
 
An Architecture for Collaboration Patterns in Agile Event-Driven Environments
An Architecture for Collaboration Patterns in Agile Event-Driven EnvironmentsAn Architecture for Collaboration Patterns in Agile Event-Driven Environments
An Architecture for Collaboration Patterns in Agile Event-Driven EnvironmentsYiannis Verginadis
 
Scrum in 15 Minutes
Scrum in 15 MinutesScrum in 15 Minutes
Scrum in 15 MinutesSerge Rehem
 
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
 
Devops Best Practices - the 7 aspects
Devops Best Practices - the 7 aspectsDevops Best Practices - the 7 aspects
Devops Best Practices - the 7 aspectsChamith Kumarage
 
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 StepsWSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 StepsWSO2
 
Steps Towards Cloud Computing / Apr 9th 2013
Steps Towards Cloud Computing / Apr 9th 2013Steps Towards Cloud Computing / Apr 9th 2013
Steps Towards Cloud Computing / Apr 9th 2013Lothar Wieske
 
Embedded User Assistance Marc Speyer
Embedded User Assistance    Marc SpeyerEmbedded User Assistance    Marc Speyer
Embedded User Assistance Marc Speyersperotech
 
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
 
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.
 

Similar to Agile Tool Hacking - Taking Your Agile Development Tools To The Next Level (20)

Craig Smith & Paul King Agile Tool Hacking Taking Your Agile Development ...
Craig Smith & Paul King   Agile Tool Hacking   Taking Your Agile Development ...Craig Smith & Paul King   Agile Tool Hacking   Taking Your Agile Development ...
Craig Smith & Paul King Agile Tool Hacking Taking Your Agile Development ...
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive Documentation
 
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
 
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 Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)The Forgotten Customer (Socrates 2011)
The Forgotten Customer (Socrates 2011)
 
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
 
The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)The Forgotten Customer (XPDays 2011)
The Forgotten Customer (XPDays 2011)
 
Swt J Face 3/3
Swt J Face 3/3Swt J Face 3/3
Swt J Face 3/3
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2
 
Benchmarking PyCon AU 2011 v0
Benchmarking PyCon AU 2011 v0Benchmarking PyCon AU 2011 v0
Benchmarking PyCon AU 2011 v0
 
An Architecture for Collaboration Patterns in Agile Event-Driven Environments
An Architecture for Collaboration Patterns in Agile Event-Driven EnvironmentsAn Architecture for Collaboration Patterns in Agile Event-Driven Environments
An Architecture for Collaboration Patterns in Agile Event-Driven Environments
 
Scrum in 15 Minutes
Scrum in 15 MinutesScrum in 15 Minutes
Scrum in 15 Minutes
 
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
 
Devops Best Practices - the 7 aspects
Devops Best Practices - the 7 aspectsDevops Best Practices - the 7 aspects
Devops Best Practices - the 7 aspects
 
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 StepsWSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
 
Steps Towards Cloud Computing / Apr 9th 2013
Steps Towards Cloud Computing / Apr 9th 2013Steps Towards Cloud Computing / Apr 9th 2013
Steps Towards Cloud Computing / Apr 9th 2013
 
Embedded User Assistance Marc Speyer
Embedded User Assistance    Marc SpeyerEmbedded User Assistance    Marc Speyer
Embedded User Assistance Marc Speyer
 
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 ...
 
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 ...
 

More from Craig Smith

40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 
Code of Ethical Conduct for Agile Coaching
Code of Ethical Conduct for Agile CoachingCode of Ethical Conduct for Agile Coaching
Code of Ethical Conduct for Agile CoachingCraig Smith
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility AcceleratorCraig Smith
 
Rethinking Retrospectives: Beyond the Three Columns
Rethinking Retrospectives: Beyond the Three ColumnsRethinking Retrospectives: Beyond the Three Columns
Rethinking Retrospectives: Beyond the Three ColumnsCraig Smith
 
Agile Coaching Ethics - The Powerful Questions Behind What, Why & How
Agile Coaching Ethics - The Powerful Questions Behind What, Why & HowAgile Coaching Ethics - The Powerful Questions Behind What, Why & How
Agile Coaching Ethics - The Powerful Questions Behind What, Why & HowCraig Smith
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility AcceleratorCraig Smith
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility AcceleratorCraig Smith
 
Agility Accelerator
Agility AcceleratorAgility Accelerator
Agility AcceleratorCraig Smith
 
FailAgility: Recognising and Resetting the Agile Boundaries
FailAgility: Recognising and Resetting the Agile BoundariesFailAgility: Recognising and Resetting the Agile Boundaries
FailAgility: Recognising and Resetting the Agile BoundariesCraig Smith
 
Mind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of AgilityMind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of AgilityCraig Smith
 
Mind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of AgilityMind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of AgilityCraig Smith
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon RamsayAgile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCraig Smith
 
Agile 2008 Retrospective
Agile 2008 RetrospectiveAgile 2008 Retrospective
Agile 2008 RetrospectiveCraig Smith
 
Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!Craig Smith
 
Agile Project Experiences - The Story of Three Little Pigs
Agile Project Experiences - The Story of Three Little PigsAgile Project Experiences - The Story of Three Little Pigs
Agile Project Experiences - The Story of Three Little PigsCraig Smith
 
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon RamsayAgile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCraig Smith
 
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCoaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCraig Smith
 
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCoaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCraig Smith
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 

More from Craig Smith (20)

40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 
Code of Ethical Conduct for Agile Coaching
Code of Ethical Conduct for Agile CoachingCode of Ethical Conduct for Agile Coaching
Code of Ethical Conduct for Agile Coaching
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility Accelerator
 
Rethinking Retrospectives: Beyond the Three Columns
Rethinking Retrospectives: Beyond the Three ColumnsRethinking Retrospectives: Beyond the Three Columns
Rethinking Retrospectives: Beyond the Three Columns
 
Agile Coaching Ethics - The Powerful Questions Behind What, Why & How
Agile Coaching Ethics - The Powerful Questions Behind What, Why & HowAgile Coaching Ethics - The Powerful Questions Behind What, Why & How
Agile Coaching Ethics - The Powerful Questions Behind What, Why & How
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility Accelerator
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility Accelerator
 
Agility Accelerator
Agility AcceleratorAgility Accelerator
Agility Accelerator
 
FailAgility: Recognising and Resetting the Agile Boundaries
FailAgility: Recognising and Resetting the Agile BoundariesFailAgility: Recognising and Resetting the Agile Boundaries
FailAgility: Recognising and Resetting the Agile Boundaries
 
Mind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of AgilityMind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of Agility
 
Mind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of AgilityMind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of Agility
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon RamsayAgile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
 
Agile 2008 Retrospective
Agile 2008 RetrospectiveAgile 2008 Retrospective
Agile 2008 Retrospective
 
Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!
 
Agile Project Experiences - The Story of Three Little Pigs
Agile Project Experiences - The Story of Three Little PigsAgile Project Experiences - The Story of Three Little Pigs
Agile Project Experiences - The Story of Three Little Pigs
 
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon RamsayAgile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
 
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCoaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
 
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCoaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 

Recently uploaded

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
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
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
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
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
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
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
 
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
 
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
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
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
 
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
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 

Recently uploaded (20)

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
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
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
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
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
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
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
 
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
 
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
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
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
 
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
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 

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 Images http://www.concordion.org/image/example/online-shop/StoryCard.png  Estimation 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 Image http://imgs.xkcd.com/comics/compiling.png  Scripted machine builds  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  Reporting 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 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_ magnifying.jpg  Log monitoring Image http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png 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.slideshare.net/smithcdau
  • 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.