Craig Smith & Paul King   Agile Tool Hacking   Taking Your Agile Development Tools To The Next Level
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

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

on

  • 8,070 views

 

Statistics

Views

Total Views
8,070
Views on SlideShare
8,035
Embed Views
35

Actions

Likes
6
Downloads
128
Comments
0

4 Embeds 35

http://www.techgig.com 18
http://www.slideshare.net 15
http://static.slidesharecdn.com 1
http://www.m.techgig.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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
  • 4. Image http://blog.theworkinggroup.ca/wp-content/uploads/2009/04/agile-manifesto1.gif Agile Manifesto on Tools…
  • 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
  • 6. Image http://3.bp.blogspot.com/_qUcuMWvDsac/SLP8WaIAawI/AAAAAAAAA7U/OC_RU-BlB0M/s400/IMG_2682.jpg Refridgerators vs Radiators
  • 7. Image Beck, Kent – Extreme Programming Explained: Embrace Change XP Practices over Tooling
  • 8. Image http://blogs.conchango.com/Admin/ImageGallery/blogs.conchango.com/Colin.Bird/Scrum%20Overview%20Diagram.png Scrum Practices over Tooling
  • 9. Concept  Initiate  Deliver  Deploy Storycards & iteration management Collaboration Development environments Development tools Testing Continuous integration Deployment Monitoring Image http://3.bp.blogspot.com/_H0iqHTCqRyo/RfQyLHm8POI/AAAAAAAAABQ/-ZGsV-p-aVs/s400/evolution.jpg Tools Usage Timeline
  • 10. Tools Hacking Think Simple! Image http://www.appart.com/Blog/image.axd?picture=2009%2F6%2Fmacgyver.jpg
  • 11. Tools Hacking Great Team Image http://www.collider.com/uploads/imageGallery/A_Team/the_a-team_nbc_tv_show_image__1_.jpg
  • 12. Storycards & iteration management Storycards:  Promise for a conversation  INVEST  Defect tracking Iteration / Release / Project tracking:  Prioritised backlog  Iteration story wall  Burn-up & burn down charts  Metrics / Velocity  Estimation Images http://www.concordion.org/image/example/online-shop/StoryCard.png http://www.ugleah.com/img/2009/burndown_chart.gif
  • 13. Stories & Iterations The Manual Way Images http://www.selfishprogramming.com/wp-content/uploads/2008/10/building-kanban-board.jpg http://ssmirnov.files.wordpress.com/2009/02/still-life.jpg
  • 14. Example Storycards & iteration management tools Open Source / Free:  XPlanner: http://www.xplanner.org  Agilefant: http://www.agilefant.org  IceScrum: http://www.icescrum.org  Agilo: http://www.agile42.com/cms/pages/agilo/ Commercial:  Jira + GreenHopper http://www.atlassian.com/software/jira/ http://www.atlassian.com/greenhopper/  Mingle: http://studios.thoughtworks.com/ mingle-agile-project-management  VersionOne: http://www.versionone.com/  Rally: http://www.rallydev.com
  • 15. Iteration Tool Maturity Beginner Intermediate Advanced Start with a Introduce tool if: Connect tools eg. manual story wall Team members / IDE, VCS (index cards, markers stakeholders remote & stickies) Reporting requirements Extend tool with Easier stats / BVC 0wn / community / Keep manual BVC’s commercial plugins & burn charts Keep a manual wall of relevant level Electronic estimation Breakdown stories & & planning estimates (INVEST) Manual planning poker
  • 16. Agilo
  • 17. Mingle
  • 18. Jira + GreenHopper
  • 19. Hacking Jira: know the features
  • 20. Hacking tool integration
  • 21. Hacking planning poker
  • 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
  • 23. Collaboration The Manual Way
  • 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
  • 26. Confluence
  • 27. SharePoint
  • 28. Eclipse DocShare
  • 29. IntelliJ Code Consultant
  • 30. Hacking Wiki + Iteration Mgmt
  • 31. Hacking Distributed Retros
  • 32. Hacking Intranets (Atrium)
  • 33. Development Environments Developers:  Pragmatic programmers  Continuous improvement  Efficient / repeatable Outcomes:  Co-location  Productive hardware  Consistent environments  Scripted machine builds Image http://imgs.xkcd.com/comics/compiling.png  Environment testing http://api.ning.com/files/mc- mk7rMBrQx2Jpql3boKhn9N2cHmubcFN6hyDrikT8FIz- 2EhEwcbpzSWjqQ8VdjxBVgOTgSs31- sL2oBoifORkpQ680Iu0/appleiphonesdklogo.jpg
  • 34. Development Environments The Manual Way Image http://www.xtrasens.com/support/manual/install%20flow.png http://img.dailymail.co.uk/i/pix/2007/07_01/hammerDM0607_468x584.jpg
  • 35. Example Environment Tools Open Source / Free:  VirtualBox: http://www.virtualbox.org  NSIS: http://nsis.sourceforge.net  Linux distributions (various) http://www.linux.org http://distrowatch.com Commercial:  VMWare: http://www.vmware.com  Cloud computing options http://code.google.com/appengine/ http://aws.amazon.com/ec2/ http://github.com
  • 36. Environment Tool Maturity Beginner Intermediate Advanced Instructions for Automated builds for Automated build for application environments developer machines building environments manually / consistently Automated environment Testers, team members tests on demand using similar environment Plan for pragmatic programmer techniques Required hardware / Consider cloud software computing opportunities Manual tests for checking environments Physical environment Zero cubicles, pairing renovations stations, breakout / Co-located team team area
  • 37. VMWare
  • 38. Google App Engine
  • 39. Physical Environment
  • 40. Hacking Dev. Machine Builds
  • 41. Hacking Corporate SOE
  • 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
  • 49. Image http://alagad.com/upload/intellij_tests_21.gif IntelliJ
  • 50. Clover
  • 51. Image http://www.inf.unisi.ch/phd/wettel/codecity-wof.html Code City
  • 52. Hacking IDE Plugins
  • 53. Hacking RYO IDE Plugins
  • 54. • d Hacking VCS: FishEye/SVNStat
  • 55. Testing Tools Testers:  Automate  Continuous feedback  Bridge communication gaps Tool types:  Test specification generation  Test execution / record / log  Test user interfaces  Performance test  Test / incident management Image http://blogs.msdn.com/blogfiles/willy- peter_schaub/WindowsLiveWriter/VSTSRangersProjectsWCFLoadTestToo.0Sh ips_7D80/CLIPART_OF_13165_SM_2.jpg http://2.bp.blogspot.com/_U08AbEz5lx4/Ra9UkCi4EeI/AAAAAAAAAAY/vLpsqL  Reporting 3uqE0/s320/swisstoolcsopen.jpg
  • 56. Testing The Manual Way Image http://tell.fll.purdue.edu/JapanProj/FLClipart/Verbs/understand.gif http://thedailystandup.com/wp-content/uploads/2008/12/istock_000004776276xsmall.jpg
  • 57. Example Testing Tools Open Source / Free: Test Specification – xUnit Tools  JUnit: http://www.junit.org  Nunit: http://www.nunit.org Test Specification Tools – Expressive/BDD  Spock: http://code.google.com/p/spock/  FitNesse: http://fitnesse.org  Concordion: http://www.concordion.org  Cucumber: http://cukes.info  easyb: http://www.easyb.org Test Specification Tools – Mocking  NMock: http://www.nmock.org  EasyMock: http://easymock.org
  • 58. Example Testing Tools Open Source / Free: Test Execution / Record / Log / UI  Selenium: http://seleniumhq.org  Watir: http://wtr.rubyforge.org  Tellurium: http://kenai.com/projects/tellurium  WebTest: http://webtest.canoo.com Performance Test  JMeter: http://jakarta.apache.org/jmeter/  Grinder: http://grinder.sourceforge.net/ Test Management  Radi: http://radi-testdir.sourceforge.net  RTH: http://sourceforge.net/projects/rth/
  • 59. Example Testing Tools Commercial: Test Execution / Record / Log / UI  Twist: http://studios.thoughtworks.com/ twist-agile-test-automation  GreenPepper: http://www.greenpeppersoftware.com/en/  Squish: http://www.froglogic.com Integrated  HP Quality Center / QTP / LoadRunner: https://h10078.www1.hp.com/cda/hpms/ display/main/hpms_home.jsp ?zn=bto&cp=1_4011_100__  SpiraTest: http://www.inflectra.com/SpiraTest/
  • 60. Testing Tool Maturity Beginner Intermediate Advanced Automated developer Test driven 100% test coverage unit tests development (unit / acceptance / functional) Some automated BDD / mock testing acceptance / functional Developer / tester tests Automated regression pair programming tests – new / legacy Developers / testers Automated performance working together plus All tests run in CI build testing with functional combined definition of (unit / acceptance / test reuse done functional) Risk based testing Usage of GUI test Usage of expressive / robots DSL testing Based on Elements of Enterprise CI http://www.anthillpro.com/html/resources/elements_of_ci_A4.pdf
  • 61. Quality Center
  • 62. Selenium
  • 63. NUnit
  • 64. Hacking JMeter
  • 65. Hacking Performance Tests
  • 66. Hacking Expressive Tests
  • 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
  • 72. Hudson
  • 73. Hudson Plugins
  • 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
  • 82. Tableaux
  • 83. Tableaux Tokens
  • 84. Tableaux Deployment
  • 85. #/bin/bash SCRIPT_DIR=`dirname $0` . $SCRIPT_DIR/setup.sh HOST=$1 PORT=$2 ACTION=$3 URLS=("gi/underwriting/ncd/calculator?brand=wally" "gi/underwriting/ncd/service/ws/GiNcdService?wsdl") [ "${ACTION}" == "Test Installation" ] && { echo "Running test of the installation"; TMPFILE=/tmp/wgetresult.$$ for i in "${URLS[@]}"; do echo wget --no-proxy http://${HOST}:${PORT}/${i} >$TMPFILE 2>&1 wget --no-proxy http://${HOST}:${PORT}/${i} >$TMPFILE 2>&1 RESULT=`grep '200 OK' $TMPFILE` echo RESULT is [ $RESULT ] if [ -z "$RESULT" ] ; then echo "ERROR: NCD ${i} did not start" exit 1 else echo "SUCCESS: NCD ${i} started OK" fi rm $TMPFILE done; exit 0; } Hacking Manual Scripts
  • 86. [...] <configuration> <container> > mvn cargo:deploy <containerId>tomcat5x</containerId> <type>remote</type> </container> <configuration> <type>runtime</type> <properties> <cargo.remote.username>username</cargo.remote.username> <cargo.remote.password>password</cargo.remote.password> </properties> </configuration> <deployer> <type>remote</type> <deployables> <deployable> <groupId>war group id</groupId> <artifactId>war artifact id</artifactId> <type>war</type> <properties> <context>optional root context</context> </properties> <pingURL>opt. url to ping to know deployed</pingURL> <pingTimeout>opt. timeout (default 20000ms)</pingTimeout> </deployable> [...] Hacking RYO Cargo
  • 87. Cucumber Feature Feature: Deployment In order to use the latest version of testApp A support officer should be able to Check that testApp.war has been deployed to the remote machine Scenario: User deploys Given app testApp When I deploy Then the testApp.war file should be deployed to remote Cucumber / Capistrano Step Definition [...] When /^I deploy$/ do Dir.chdir(@app_dir) do system "cap deploy:setup" system "cap deploy" end end Then /^ the testApp.war file should be deployed to remote$/ do [...] Hacking Deployment Tests
  • 88. Monitoring Tools Advantages:  Visible status of assets  Pro-active maintenance Practices:  Environment monitoring  Process confirmation  Fault monitoring  Configuration monitoring  Security monitoring  Accounting monitoring Image http://www.monitoringsoftwareonline.com/files/QuickSiteImages/computer_plus_  Log monitoring Image http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png magnifying.jpg http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png
  • 89. Monitoring The Manual Way Image http://upload.wikimedia.org/wikipedia/commons/5/52/Unix-process-list.png http://www.petri.co.il/images/virtual_vmware_files_explained_03.jpg http://trubke.net/_nw/1/17916.png
  • 90. Example Monitoring Tools Open Source / Free:  Roll your own (scripts / CI server)  Cacti: http://www.cacti.net  Zabbix: http://www.zabbix.com  Nagios: http://www.nagios.org  Monit: http://mmonit.com/monit/ Commercial:  Splunk: http://www.splunk.com  IBM Tivoli: http://www.ibm.com/software/tivoli  Hyperic: http://www.hyperic.com  NetIQ: http://www.netiq.com
  • 91. Monitoring Tool Maturity Beginner Intermediate Advanced Base level / centralised Roll your own basic Usage of monitoring monitoring on critical monitoring for tools at all levels components processes / logs / including application (eg. hardware, operating environments at level system, web server, application level database) Monitoring alert process Refactored logs Useful logs (logging (central location, Visual display of levels, log rolling, known redundant details monitoring tool / status support procedures) fixed / removed) Monitoring of advanced Ad-hoc usage of tools / Ad-hoc usage of tools / items (eg. configuration, procedures for procedures for accounting) reactive support proactive support
  • 92. Tivoli
  • 93. Cacti
  • 94. Splunk
  • 95. Hacking RYO Visual Monitoring
  • 96. 2009-07-14 17:10:00,028 [ERROR,au.com.suncorp.ldocs.web.AbstractAction] Unhandled exception caught in action: null java.lang.NullPointerException at au.com.suncorp.ldocs.web.RetrieveSADSAction.retrieveRtf(RetrieveSADSAction.java:98) at au.com.suncorp.ldocs.web.RetrieveSADSAction.executePost(RetrieveSADSAction.java:59) at au.com.suncorp.ldocs.web.AbstractAction.performIt(AbstractAction.java:66) at au.com.suncorp.ldocs.web.AbstractAction.performPost(AbstractAction.java:60) at com.thoughtworks.web.AbstractAction.execute(AbstractAction.java:58) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at com.thoughtworks.web.struts.CustomRequestProcessor.process(CustomRequestProcessor.java:159) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) 2009-07-14 17:10:00,028 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] END REQUEST 2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] Processing a 'GET' for path '/ChibaSADS' 2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.web.struts.CustomRequestProcessor] BEGIN REQUEST 2009-07-14 17:10:02,841 [INFO ,com.thoughtworks.command.Command] BEGIN COMMAND au.com.suncorp.ldocs.command.DocumentGenerationServiceCommand 2009-07-14 17:10:02,856 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] FETCH EFFECTIVE TEMPLATE 2009-07-14 17:10:02,856 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] FETCH TEMPLATE VERSION 2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [END] FETCH TEMPLATE VERSION 2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [END] FETCH EFFECTIVE TEMPLATE 2009-07-14 17:10:03,544 [INFO ,com.thoughtworks.dgs.server.dbaccess.DatabaseQueryManager] [START] DEEPEN THE QUERY Hacking Log Files
  • 97. Wrap Up: Plan your tools & approach Image http://jenn98.com/bugs/images/bugs-elmer-daffy.jpg
  • 98. Wrap Up: Manual first Image http://jellyflux.files.wordpress.com/2008/11/woman-surrounded-by-robots.jpg
  • 99. Wrap Up: Refactor processes & tools Image http://33epua.blu.livefilestore.com/y1pF8NaSRUp9Ge4uyvRJLXucalRXqNYGecfm2RUe_VN8Es7rSSe7N- WaQdBnHbgYc8jAr3O_NiZ_P4ZMzhh9vo7Ag/Project2.jpg
  • 100. Wrap Up: Learn from retrospectives Image http://www.dilbert.com
  • 101. Wrap Up: Eliminate waste Image http://www.cartoonstudio.co.uk/images/kmeters/ABBwaste.jpg
  • 102. Wrap Up: Tools Maturity Beginner Intermediate Advanced Collaboration Storycards & Deployment iteration Development tools management Monitoring Testing Development environments Continuous integration
  • 103. Wrap Up: Think like Macgyver Image http://jira.atlassian.com/secure/attachment/16943/macgyver.gif
  • 104. Wrap Up: Act like an A-Team Image http://www.popartuk.com/g/l/lgpp31670+i-love-it-when-a-plan-comes-together-weenicons-a-team-poster.jpg
  • 105. Want More Information? Craig Smith http://www.suncorp.com.au http://www.agileacademy.com.au craig.smith@suncorp.com.au @smithcdau Dr. Paul King http://www.asert.com.au paulk@asert.com.au @paulk_asert Download this presentation at: http://www.agile2009.org/node/2840 http://www.agileacademy.com.au/knowledgehub/downloa ds
  • 106. Acknowledgments Suncorp is one of Australia and New Zealand's largest diversified financial services providers, supplying banking, insurance and wealth management products to around 7 million customers through well- established and recognised brands such as AAMI, Australian Pensioners Insurance Agency, Shannons, Vero, Asteron and Tyndall, as well as Suncorp and GIO. Today, Suncorp is Australia's fifth largest bank and second largest domestic general insurance group, with over 16,000 staff. Suncorp has representation in 450 offices, branches and agencies throughout Australia and New Zealand. ASERT is one of Australia’s leading suppliers of development services, mentoring and training in Agile, Web Services, Web Applications, Java, Groovy and Grails.