Upload
craig-smith
View
5.257
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Agile Tool Hacking: Taking Your Agile Development Tools To The Next Level presented by Craig Smith at the September Brisbane Scrum User Group meeting.
Citation preview
Agile Tool Hacking: Taking Your Agile DevelopmentTools To The Next Level
Craig SmithSuncorp
Dr Paul KingASERT
Welcome
According to theCompact OxfordDictionary:
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 trackingIteration / 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 Manual
Way
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
Beginner
Start with amanual story wall
(index cards, markers& stickies)
Keep manual BVC’s& burn charts
Breakdown stories &estimates (INVEST)
Intermediate
Introduce tool if:Team members /
stakeholders remoteReporting requirements
Easier stats / BVC
Keep a manual wallof relevant level
Manual planning poker
Advanced
Connect tools eg. IDE, VCS
Extend tool with0wn / 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 ProgrammingOutput: 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 with0wn / community /commercial plugins
Distributedcollaboration
Collaboration Tool Maturity
Confluence
SharePoint
Eclipse DocShare
IntelliJ Code Consultant
Hacking Wiki + Iteration Mgmt
Hacking Distributed Retros
Hacking Intranets (Atrium)
DevelopmentEnvironments
Developers: Pragmatic programmers Continuous improvement Efficient / repeatableOutcomes: Co-location Productive hardware Consistent environments Scripted machine builds Environment testing
Image 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.orghttp://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 forbuilding environmentsmanually / consistently
Plan for pragmaticprogrammer techniques
Manual tests forchecking environments
Co-located team
Intermediate
Automated builds forapplication environments
Automated environmenttests on demand
Required hardware / software
Physical environmentrenovations
Advanced
Automated build fordeveloper 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-negotiableTool Types: Integrated Development
Environment (IDE) Database SQL clients Version control Web Service / SOAP tools File & operating system tools Metrics
Image 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/visualstudioWeb 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 advancedmetrics 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 gapsTool 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 qualityPractices: Version control / automated
build / 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 development
to 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 monitoring
Image 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.auhttp://[email protected]@smithcdau
Dr. Paul Kinghttp://[email protected]@paulk_asert
Download this presentation at: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.