View
8.115
Download
6
Category
Tags:
Preview:
DESCRIPTION
Citation preview
Agile Tool Hacking: Taking Your Agile DevelopmentTools To The Next Level
Craig Smith
Suncorp
Dr Paul King
ASERT
Welcome
Overview
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
Refridgerators vs RadiatorsImage http://3.bp.blogspot.com/_qUcuMWvDsac/SLP8WaIAawI/AAAAAAAAA7U/OC_RU-BlB0M/s400/IMG_2682.jpg
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
Collaboration
Concept Initiate Deliver Deploy
Storycards & iteration management
Development environments
Development tools
Testing
Continuous integration
Deployment
MonitoringImage http://3.bp.blogspot.com/_H0iqHTCqRyo/RfQyLHm8POI/AAAAAAAAABQ/-ZGsV-p-aVs/s400/evolution.jpg
Tools Usage Timeline
Image http://www.appart.com/Blog/image.axd?picture=2009%2F6%2Fmacgyver.jpg
ToolsHacking
ThinkSimple!
Image http://www.collider.com/uploads/imageGallery/A_Team/the_a-team_nbc_tv_show_image__1_.jpg
ToolsHacking
GreatTeam
Images http://www.concordion.org/image/example/online-shop/StoryCard.png
http://www.ugleah.com/img/2009/burndown_chart.gif
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.selfishprogramming.com/wp-content/uploads/2008/10/building-kanban-board.jpg
http://ssmirnov.files.wordpress.com/2009/02/still-life.jpg
Stories&
Iterations
The ManualWay
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 + GreenHopperhttp://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
Beginner
Start with a
manual story wall
(index cards, markers
& stickies)
Keep manual BVC’s
& burn charts
Breakdown stories &
estimates (INVEST)
Intermediate
Introduce tool if:
Team members / stakeholders remote
Reporting requirements
Easier stats / BVC
Keep a manual wall
of relevant level
Manual planning poker
Advanced
Connect tools eg.
IDE, VCS
Extend tool with
0wn / community /
commercial plugins
Electronic estimation
& planning
Iteration Tool Maturity
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 ManualWay
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
Beginner
Basic agile / XP / Scrum:Daily scrum / standup,
retrospective,kickoff / demo /
showcase
Basic wiki / shared document environment
Digital camera /whiteboard
Intermediate
Combined kickoff /retrospective for
small projects
Advanced XP techniques: pair
programming, teamownership
Intranet / CMScapability
Wiki gardening
Advanced
Connect tools eg.
iteration management,build tools
Extend tool with
0wn / community /
commercial plugins
Distributedcollaboration
Collaboration Tool Maturity
Confluence
SharePoint
Eclipse DocShare
IntelliJ Code Consultant
Hacking Wiki + Iteration Mgmt
Hacking Distributed Retros
Hacking Intranets (Atrium)
Development
Environments
Developers:
Pragmatic programmers
Continuous improvement
Efficient / repeatable
Outcomes:
Co-location
Productive hardware
Consistent environments
Scripted machine builds
Environment testingImage http://imgs.xkcd.com/comics/compiling.png
http://api.ning.com/files/mc-
mk7rMBrQx2Jpql3boKhn9N2cHmubcFN6hyDrikT8FIz-
2EhEwcbpzSWjqQ8VdjxBVgOTgSs31-
sL2oBoifORkpQ680Iu0/appleiphonesdklogo.jpg
DevelopmentEnvironments
The ManualWay
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 optionshttp://code.google.com/appengine/
http://aws.amazon.com/ec2/http://github.com
Beginner
Instructions for
building environments
manually / consistently
Plan for pragmaticprogrammer techniques
Manual tests forchecking environments
Co-located team
Intermediate
Automated builds forapplication environments
Automated environment
tests on demand
Required hardware / software
Physical environmentrenovations
Advanced
Automated build for
developer machines
Testers, team membersusing similar environment
Consider cloudcomputing opportunities
Zero cubicles, pairing stations, breakout /
team area
Environment Tool Maturity
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 DevelopmentEnvironment (IDE)
Database SQL clients
Version control
Web Service / SOAP tools
File & operating system tools
MetricsImage http://www.cornetdesign.com/images/bowling_all2s.jpg
http://cybernetnews.com/wp-content/uploads/2007/07/hacker.jpg
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
DevelopmentEnvironments
The ManualWay
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
Beginner
Usage of IDE with teamagreed setup
Awareness / use of basic tools / metrics
Use of version control
Team understanding ofquality
Intermediate
Mastery of IDE keystrokes / features /
plugins
Team commitment toreact to metrics output
Usage of advancedversion control features
Quality non-negotiable /
clean code
Advanced
Mastery of advanced IDE features / plugin
development
Usage of advanced
metrics tools & features
Usage of distributedversion control
Advanced clean code /software craftsman
Development Tool Maturity
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
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 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://tell.fll.purdue.edu/JapanProj/FLClipart/Verbs/understand.gif
http://thedailystandup.com/wp-content/uploads/2008/12/istock_000004776276xsmall.jpg
Testing
The ManualWay
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/
Beginner
Automated developerunit tests
Some automatedacceptance / functional
tests
Developers / testersworking together pluscombined definition of
done
Usage of GUI test robots
Intermediate
Test driven development
BDD / mock testing
Automated regressiontests – new / legacy
All tests run in CI build(unit / acceptance /
functional)
Usage of expressive /DSL testing
Advanced
100% test coverage(unit / acceptance /
functional)
Developer / testerpair programming
Automated performancetesting with functional
test reuse
Risk based testing
Based on Elements of Enterprise CIhttp://www.anthillpro.com/html/resources/elements_of_ci_A4.pdf
Testing Tool Maturity
Quality Center
Selenium
NUnit
Hacking JMeter
Hacking Performance Tests
Hacking Expressive Tests
Image http://www.michaelfransen.com/wp-
content/uploads/2008/02/wheresthebuild-small.jpg
Continuous Integration
Advantages:
Early warning
Consistent test / integrate
Centrepiece for quality
Practices:
Version control / automatedbuild / automated test
Commit early & often
Fast feedback
Visible / audible results
Artefacts
Image http://farm4.static.flickr.com/3122/3121915858_06a783e594.jpg?v=0
http://www.michaelfransen.com/wp-content/uploads/2008/02/wheresthebuild-small.jpg
ContinuousIntegration
The ManualWay
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
Beginner
Implementation ofcore build steps
Frequent check-in toversion control system
Adequate hardwareto run build
Team commitment tofixing broken builds
Intermediate
Implementation ofcontinuous integrationserver to auto-run build
Dedicated buildmachine
Advanced / refactored /multiple builds
Broken build alerts &team procedures
Advanced
Usage of build clusters /slaves / VM snapshots
Dependency management& internal repository
High frequency check-into version control
system
Builds for environment /project impediments
Continuous Integration Maturity
Hudson
Hudson Plugins
Nexus
Hacking CI Data Migration
Hacking Hudson / Scoreboard
Hudson Swarms
> java -jar swarm-client-jar-with-
dependencies.jar
Plugin Growth
Image http://weblogs.java.net/blog/kohsuke
Jira Plugin
Amazon EC2 Plugin
Continuous Integration Game Plugin
Hacking Hudson Plugins
Image http://www.serena.com/images/products/dimensions-deploy/deploy-
illustration2-286-23.jpg
http://ciadvantage.com/cs/photos/storage/ctd.gif
Deployment Tools
Advantages:
Repeatable from developmentto Production
No “fight night” surprises
Practices:
Automated deployment script
Environment management
Environment tokens
Automated & manual steps
Smoke test / confirmation
Image http://www.thekua.com/rant/wp-content/uploads/2006/03/RetrospectiveTimelineEvents.jpg
http://farm4.static.flickr.com/3645/3340381990_fa9f004e5b.jpg
Deployment
The ManualWay
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
Beginner
Documented manualdeployment & rollback
process / checklist
Documented manualsmoke tests
Automated helperscripts
Intermediate
Fully scripteddeployment & rollback
where applicable
Roll your own basicdeployment to testenvironments using
CI server
Repeatable build for“go-live” processes
Advanced
Usage of deploymenttool (roll your own /
open source / commercial)
Repeatable deploymentto all environments
(tokenized)
Automated productiondeployment (push
button or automatic)
Based on Elements of Enterprise CIhttp://www.anthillpro.com/html/resources/elements_of_ci_A4.pdf
Deployment Tool Maturity
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>
<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>
[...]
> mvn cargo:deploy
Hacking RYO Cargo
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 Feature
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
Image
http://www.monitoringsoftwareonline.com/files/QuickSiteImages/computer_plus_
magnifying.jpg
http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png
Monitoring Tools
Advantages:
Visible status of assets
Pro-active maintenance
Practices:
Environment monitoring
Process confirmation
Fault monitoring
Configuration monitoring
Security monitoring
Accounting monitoring
Log monitoringImage http://www.kace.com/img/content/screenshots/1000/reporting-dashboard.png
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
Monitoring
The ManualWay
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
Beginner
Base level / centralisedmonitoring on critical
components(eg. hardware, operating
system, web server,database)
Useful logs (logginglevels, log rolling, known
support procedures)
Ad-hoc usage of tools / procedures for
reactive support
Intermediate
Roll your own basicmonitoring for
processes / logs /environments atapplication level
Refactored logs(central location, redundant detailsfixed / removed)
Ad-hoc usage of tools / procedures for
proactive support
Advanced
Usage of monitoringtools at all levels
including applicationlevel
Monitoring alert process
Visual display ofmonitoring tool / status
Monitoring of advanceditems (eg. configuration,
accounting)
Monitoring Tool Maturity
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
Image http://jenn98.com/bugs/images/bugs-elmer-daffy.jpg
Wrap Up:
Plan your tools &
approach
Image http://jellyflux.files.wordpress.com/2008/11/woman-surrounded-by-robots.jpg
Wrap Up:
Manual first
Image http://33epua.blu.livefilestore.com/y1pF8NaSRUp9Ge4uyvRJLXucalRXqNYGecfm2RUe_VN8Es7rSSe7N-
WaQdBnHbgYc8jAr3O_NiZ_P4ZMzhh9vo7Ag/Project2.jpg
Wrap Up:
Refactorprocesses &
tools
Image http://www.dilbert.com
Wrap Up:
Learn from retrospectives
Image http://www.cartoonstudio.co.uk/images/kmeters/ABBwaste.jpg
Wrap Up:
Eliminate waste
Beginner
Collaboration
Development tools
Testing
Intermediate
Storycards & iteration
management
Development environments
Continuous integration
Advanced
Deployment
Monitoring
Wrap Up: Tools Maturity
Image http://jira.atlassian.com/secure/attachment/16943/macgyver.gif
Wrap Up:
Think like Macgyver
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 Smithhttp://www.suncorp.com.au
http://www.agileacademy.com.au
craig.smith@suncorp.com.au@smithcdau
Dr. Paul Kinghttp://www.asert.com.aupaulk@asert.com.au@paulk_asert
Download this presentation at:http://www.agile2009.org/node/2840http://www.agileacademy.com.au/knowledgehub/downloads
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.
Recommended